Home
DataRobot GenAI Library
You can build agents with LangGraph, LlamaIndex, or CrewAI, or define them in a NAT workflow.yaml and run them with DRAgent (HTTP + AG-UI). Use the examples under e2e-tests/dragent/ as your source of truth for what to configure and how to run that stack—these docs follow those samples.
What you see in practice
- In each sample,
workflow.yamlnames the LLM (llms:), picks the runner (workflow._type:), and optionally adds tools, MCP groups, and auth. DRAgent reads this file. - In each sample,
myagent.py(framework agents)—where you define the graph, crew, or workflow. DRAgent registers it against the YAML. - Environment variables for API token, endpoint, and LLM routing—you use the same ideas across stacks. See LLM configuration.
AG-UI—when you build chat UIs or tests, you work with a stream of AG-UI events (run lifecycle, text, tools, steps). DRAgent serves those events over SSE; the examples walk you through the flow end to end.
Guides (what to edit in the examples)
Each guide walks you through the interfaces in the repo: workflow.yaml keys, env vars, and the Python file each sample ships.
| Integration | Overview | Agent and workflow surface | LLM options | Tools and MCP | Caveats |
|---|---|---|---|---|---|
| LangGraph | langgraph/ | langgraph/agent.md | LLM configuration | langgraph/mcp.md | langgraph/caveats.md |
| LlamaIndex | llamaindex/ | llamaindex/agent.md | LLM configuration | llamaindex/mcp.md | llamaindex/caveats.md |
| CrewAI | crewai/ | crewai/agent.md | LLM configuration | crewai/mcp.md | crewai/caveats.md |
| NAT + DRAgent | nat/ | nat/agent.md | nat/llm.md | nat/mcp.md | nat/caveats.md |
For shared LLM routing (gateway vs deployment vs NIM vs external), see LLM configuration. For native primary/fallback failover changes in an existing component, see LLM provider fallback (router). For NAT automatic memory with Mem0, see nat/memory.md.
Note: With NAT, you edit workflow.yaml as the contract. Host workflows with DRAgent for the supported path. You can still load the same YAML in process without DRAgent (legacy); target DRAgent for new work.
For a minimal custom agent without a framework wrapper, start from e2e-tests/dragent/base/myagent.py and its workflow.yaml.
DRAgent CLI
The standalone CLI runs and queries DRAgent workflows over NAT. See docs/dragent/ for serve, run, query, completion JSON, authentication, and debugging. For wiring OpenTelemetry tracing into the deployment Data Exploration tab, see docs/dragent/tracing.md.
Configuration reference
The examples and workflow.yaml expect the variables below; see LLM configuration for the full table and details.
| Variable | Default | Description |
|---|---|---|
DATAROBOT_API_TOKEN |
— | Your DataRobot API token. |
DATAROBOT_ENDPOINT |
https://app.datarobot.com/api/v2 |
Base URL for your DataRobot API requests. |
USE_DATAROBOT_LLM_GATEWAY |
true |
Set to true to use the DataRobot LLM Gateway. |
LLM_DEPLOYMENT_ID |
— | Set this to target a specific LLM deployment when the gateway is off. |
NIM_DEPLOYMENT_ID |
— | Set this to target an NVIDIA NIM deployment when the gateway is off. |
LLM_DEFAULT_MODEL |
datarobot-deployed-llm |
Default model name you run against. |
DATAROBOT_GENAI_MAX_HISTORY_MESSAGES |
20 |
Maximum number of prior messages the client keeps in history. |
AUTH_RESOLUTION_STRATEGY |
http |
How drtools resolves secrets: http or config. See drtools/auth.md. |
drtools
Agentic tools and credential/auth resolution for MCP servers and in-process agents. See drtools/.
License
Apache-2.0 — see LICENSE.