Skip to content

Home

DataRobot Logo

DataRobot GenAI Library

Homepage · PyPI · Support

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.yaml names 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.