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[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.15.106.tar.gz (346.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.15.106-py3-none-any.whl (481.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: datarobot_genai-0.15.106.tar.gz
  • Upload date:
  • Size: 346.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.15.106.tar.gz
Algorithm Hash digest
SHA256 ffee8c31520c013866c06aed0f098f5ecfe48f1a7d64b2313be50ffafea965df
MD5 658c6878efed568674a6e2b891258df1
BLAKE2b-256 74cafda24681d1614d70387bca6c639e0959f7ac4d7a3a9c021f982d74b6cd38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for datarobot_genai-0.15.106-py3-none-any.whl
Algorithm Hash digest
SHA256 6b4ccb431f19f89396770428732794bafc581104f772091a0b4b82c7a2980f20
MD5 be1ebe343630c0844294df87425f1ba0
BLAKE2b-256 29e2f75996da72ee46ae35e565d55d36a500e2ea80a068f446ed921ea4c47cde

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