Home
DataRobot GenAI Library
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 the source of truth for configuration and how to run that stack—these docs follow those samples.
What the samples demonstrate
- 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)—defines the graph, crew, or workflow. DRAgent registers it against the YAML. - Environment variables for API token, endpoint, and LLM routing—the same ideas apply across stacks. See LLM configuration.
AG-UI—chat UIs and tests work with a stream of AG-UI events (run lifecycle, text, tools, steps). DRAgent serves those events over SSE; the examples walk through the flow end to end.
Guides (what to edit in the examples)
Each guide covers 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 | — |
| LlamaIndex | llamaindex/ | llamaindex/agent.md | LLM configuration | llamaindex/mcp.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, edit workflow.yaml as the contract. Host workflows with DRAgent for the supported path. The same YAML can still load in process without DRAgent (legacy); prefer DRAgent for supported deployments.
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 in the configuration reference table; see LLM configuration for the full table and details.
| Variable | Default | Description |
|---|---|---|
DATAROBOT_API_TOKEN |
— | DataRobot API token. |
DATAROBOT_ENDPOINT |
https://app.datarobot.com/api/v2 |
Base URL for DataRobot API requests. |
LLM_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. |
LLM_NIM_DEPLOYMENT_ID |
— | Set this to target an NVIDIA NIM deployment when the gateway is off. |
LLM_DEFAULT_MODEL |
— | Default model id when model_name is omitted; required for gateway routing. |
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/.
Troubleshooting and best practices
Symptom-based troubleshooting and recommended patterns live in the documentation index. Framework-specific caveats are linked from the guides table.
License
Apache-2.0 — see LICENSE.