Skip to content

Home

DataRobot Logo

DataRobot GenAI Library

Homepage · PyPI · Support

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.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)—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.