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.17.0.tar.gz (420.0 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.17.0-py3-none-any.whl (608.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: datarobot_genai-0.17.0.tar.gz
  • Upload date:
  • Size: 420.0 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.17.0.tar.gz
Algorithm Hash digest
SHA256 e5c47136f8d25ee67d216d7bb66ab2b22fd8f19ab47982c2853c6b26096aae67
MD5 6b68743c5c7545295e2216af48dc71f8
BLAKE2b-256 97273f08c00554e496cf6ac609a26b57dd725aee799f9eba03e0293b19b06931

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for datarobot_genai-0.17.0-py3-none-any.whl
Algorithm Hash digest
SHA256 961d0d5d8a39d71a21352ca0af123ddf3fbc49734041727e26e70f608201fcfe
MD5 2a5c7e4763ba12c62f3ca5825bf6ea5b
BLAKE2b-256 dbc156c12f3e8271709818acba3571a9d6cf6696256a8db2dfc054e643e10b76

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