Skip to main content

Generic helpers for GenAI

Project description

DataRobot Logo

DataRobot GenAI Library

Homepage · PyPI · Support

License PyPI version

A toolkit for building agents on DataRobot.

  • Unified LLM layer (DataRobot-compatible)—you use one get_llm() entry point per integration (LangGraph, LlamaIndex, CrewAI, NAT), all backed by the same LiteLLM-based routing to the DataRobot LLM Gateway, LLM deployments, NIM, or external providers.
  • Library of agentic tools and DataRobot-compatible MCP server—use drtools and drmcp to give your agent first-class capabilities to interact with the world.
  • AG-UI integration—your agents expose a standard AG-UI event stream (RunAgentInput in, lifecycle + text + tool-call events out), so your UIs and the DataRobot platform render runs consistently without bespoke adapters per framework.
  • Multi-agent systems out of the box—you get first-class patterns for planner/writer crews, LangGraph multi-node graphs, and LlamaIndex AgentWorkflow handoffs; wrap them with one helper and keep the same streaming contract.
  • Orchestration—you build agents from universal pieces in the low-code workflow.yaml interface. Combine and reuse LLMs, tools, agents, and evaluators. The design stays compatible with and draws inspiration from NeMo Agentic Toolkit.
  • Serving and evaluating with DRAgent—you run a front-end server to plug your agent into a real-world application. DRAgent supports distributed tracing, generation and evaluation endpoints, async generations, and two-way communication over WebSockets.

Use

Installation

  • You need Python 3.11–3.13.
  • Install the extra that matches the framework you use:
pip install "datarobot-genai[crewai]"
pip install "datarobot-genai[langgraph]"
pip install "datarobot-genai[llamaindex]"
pip install "datarobot-genai[nat]"

You can also install:

  • datarobot-genai[dragent]—serve and orchestrate your agent with DRAgent.
  • datarobot-genai[drtools]—use the standard library of agentic tools DataRobot provides.
  • datarobot-genai[drmcpbase]—Base class to derive FastMCP servers.
  • datarobot-genai[drmcputils]—shared MCP utilities consumed by drmcpbase and drtools.
  • datarobot-genai[drmcp]—host a custom MCP server in DataRobot (includes drmcpbase, drtools, and template-server dependencies).
  • datarobot-genai[memory]—use the Mem0-backed memory client and NAT memory provider.
  • datarobot-genai[eval]—agent evaluation utilities built on the NeMo Evaluator launcher.

Credentials

You need a DataRobot account to use DataRobot-backed features. Export these environment variables:

# Set your DataRobot API token (replace the placeholder).
export DATAROBOT_API_TOKEN=YOUR_DATAROBOT_API_TOKEN
export DATAROBOT_ENDPOINT=https://app.datarobot.com/api/v2

Standalone end-to-end examples

Follow quickstart.ipynb to walk through an experience of setting a LangGraph agent with DataRobot:

  • LLM Gateway
  • drtools
  • Prompt Management
  • Conversion to DataRobot agent format
  • Running the agent with an AG-UI interface.

In-depth documentation

See docs/README.md for guides on every framework and feature in datarobot-genai.

Develop

You need Python 3.11–3.13, uv, Task CLI, and pre-commit.

uv sync --all-extras --dev
pre-commit install
task test

Semantic versioning

When you change the library, bump the patch version and add an entry to CHANGELOG.md. When you introduce a backward-incompatible change, bump the minor version.

TestPyPI

Comment /build on your PR to build and publish a dev version of the package to TestPyPI.

Excluded Upstream Dependencies

Several transitive dependencies pulled in by upstream packages are not used by this library at runtime. These are explicitly excluded via [tool.uv] exclude-dependencies in pyproject.toml to reduce install size and CVE surface area.

Package Pulled in by Reason excluded
build crewai Python build system; runtime unnecessary
diskcache ragas Optional disk caching backend; not used
flask nvidia-nat 1.6.0 Web framework; not used
kubernetes crewai-tools K8s client; not used
lancedb crewai Optional vector DB backend; not used
langchain-milvus nvidia-nat-langchain Milvus vector DB adapter; not used
leptonai nemo-evaluator-launcher Lepton AI cloud backend; not used, pins httpx==0.27.2 which conflicts with the auth extra
llama-index-cli llama-index CLI tool; not needed at runtime
openpyxl crewai-tools Excel parser; not used
pymilvus langchain-milvus Milvus client; not used
python-docx crewai-tools Word doc parser; not used
pytube crewai-tools YouTube downloader; not used
scikit-network ragas Graph analysis library; not used
stagehand crewai-tools Playwright web automation; not used
uv crewai Package manager bundled as a runtime dep; not needed
youtube-transcript-api crewai-tools YouTube transcripts; not used

Publishing

  • Same-repo PRs—comment /build on your PR to publish dev builds to TestPyPI (.devN).
  • Merge to main—the release flow creates tag v{version} and publishes to PyPI automatically.
  • Version tags—when you push a v* tag, PyPI publish runs as well.
  • Local release—optionally run task release:tag-and-push to create and push v{version} from your machine.

Links

License

Apache-2.0—see LICENSE.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datarobot_genai-0.19.2.tar.gz (446.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

datarobot_genai-0.19.2-py3-none-any.whl (647.7 kB view details)

Uploaded Python 3

File details

Details for the file datarobot_genai-0.19.2.tar.gz.

File metadata

  • Download URL: datarobot_genai-0.19.2.tar.gz
  • Upload date:
  • Size: 446.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for datarobot_genai-0.19.2.tar.gz
Algorithm Hash digest
SHA256 3410ba459b8e4154d4e57193c0b11b59aa08bdaaa38d5e38da878996b9f35784
MD5 a02a65a05b075c4111c3be4b73db491b
BLAKE2b-256 98b40d708bdfc22fe918aee716672697027484f8f0a1fa26c41ddcb02be116e1

See more details on using hashes here.

File details

Details for the file datarobot_genai-0.19.2-py3-none-any.whl.

File metadata

File hashes

Hashes for datarobot_genai-0.19.2-py3-none-any.whl
Algorithm Hash digest
SHA256 22e2cc6c25da1d4460699fcddcd4f9bc22a61f3ffd0455a2aaecd53e0b484de0
MD5 7e7a7b7c69d945830b5cca08eff96e01
BLAKE2b-256 5679a01474079f223fe1f2e1a99b7c07b29029cb15e47fec0c7a1faba2cacf39

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page