Generic helpers for GenAI
Project description
DataRobot GenAI Library
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
drtoolsanddrmcpto give your agent first-class capabilities to interact with the world. - AG-UI integration—your agents expose a standard AG-UI event stream (
RunAgentInputin, 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
AgentWorkflowhandoffs; wrap them with one helper and keep the same streaming contract. - Orchestration—you build agents from universal pieces in the low-code
workflow.yamlinterface. 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 withDRAgent.datarobot-genai[drtools]—use the standard library of agentic tools DataRobot provides.datarobot-genai[drmcpbase]—Base class to derive FastMCP servers.datarobot-genai[drmcp]—host a custom MCP server in DataRobot (includesdrmcpbase,drtools, and template-server dependencies).datarobot-genai[memory]—use the Mem0-backed memory client and NAT memory provider.
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 |
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
/buildon your PR to publish dev builds to TestPyPI (.devN). - Merge to
main—the release flow creates tagv{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-pushto create and pushv{version}from your machine.
Links
- Repository—source and issues.
- PyPI—released packages.
- TestPyPI—dev builds.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file datarobot_genai-0.15.90.tar.gz.
File metadata
- Download URL: datarobot_genai-0.15.90.tar.gz
- Upload date:
- Size: 337.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ea44777658e8a65aff8808ca8fe6b5a3eb0d6e23b51a32e9d4e972340fd7b50
|
|
| MD5 |
2a4aae0ec9a78937d0252f41533d31b1
|
|
| BLAKE2b-256 |
b85fa719840bb0c71d30860ecd01f7411e36000249d74aa5b6fdb003b07b36f6
|
File details
Details for the file datarobot_genai-0.15.90-py3-none-any.whl.
File metadata
- Download URL: datarobot_genai-0.15.90-py3-none-any.whl
- Upload date:
- Size: 468.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1a7258addde48404abf2e1d4c9f269d21398bfd6fcd06233959b1e6bbe44136
|
|
| MD5 |
01afae1d9f333d01fd01cbb0132e6097
|
|
| BLAKE2b-256 |
a5e78641ba7093eb28a2f13ea187ff3ffe10b7908bfdc6ec3b931dbb22185762
|