> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://docs.nvidia.com/dynamo/llms.txt. For full content including API reference and SDK examples, see https://docs.nvidia.com/dynamo/llms-full.txt. # Tool Calling Dynamo can connect models to external tools and services by parsing tool-call syntax out of raw model output and surfacing it as OpenAI-compatible `tool_calls` on the response. Tool calling is controlled by the `tool_choice` and `tools` request parameters on the chat completions API. There are two ways to parse tool calls in Dynamo, depending on whether the parser lives in Dynamo's own registry or in the upstream engine (vLLM, SGLang). ## Choose a parsing path | Path | When to use | Page | |------|-------------|------| | **Dynamo** | Dynamo ships a Rust parser for the model's tool-call format. Lowest latency, the default path. | [Tool Call Parsing (Dynamo)](/dynamo/v1.1.1/user-guides/tool-calling/tool-call-parsing-dynamo) | | **Engine Fallback** | Use the framework's implementation (vLLM or SGLang) for pre/post processing, including tool call and reasoning parsing - ensure consistency with framework behavior. | [Tool Call Parsing (Engine Fallback)](/dynamo/v1.1.1/user-guides/tool-calling/tool-call-parsing-engine-fallback) | Start with the Dynamo path. Fall back to the engine path only when Dynamo's registry does not list a parser for your model. ## Troubleshooting If a tool call comes back wrong, add `logprobs: true` to a single repro request and share the response. See [Troubleshooting Tool Calls](/dynamo/v1.1.1/user-guides/tool-calling/troubleshooting-tool-calls) for what to capture and include when reporting an issue. ## See Also - [Troubleshooting Tool Calls](/dynamo/v1.1.1/user-guides/tool-calling/troubleshooting-tool-calls) -- capture raw model output with `logprobs` so tool-call issues can be localized. - [Reasoning](/dynamo/v1.1.1/user-guides/reasoning) -- separate `reasoning_content` from assistant content for chain-of-thought models. Several models need both a tool-call parser and a reasoning parser configured together. - [Frontend Configuration Reference](../components/frontend/configuration.md) -- full CLI flag reference. > Parse tool calls from model output and surface them as OpenAI-compatible tool_calls ## Docs - [Tool Call Parsing (Dynamo)](https://docs.nvidia.com/dynamo/v1.1.1/user-guides/tool-calling/tool-call-parsing-dynamo.md): Connect Dynamo to external tools and services using Dynamo's built-in tool call parsers - [Tool Call Parsing (Engine Fallback)](https://docs.nvidia.com/dynamo/v1.1.1/user-guides/tool-calling/tool-call-parsing-engine-fallback.md): Use upstream vLLM or SGLang tool-call parsers when Dynamo does not ship one - [Troubleshooting Tool Calls](https://docs.nvidia.com/dynamo/v1.1.1/user-guides/tool-calling/troubleshooting-tool-calls.md): Capture raw model output with logprobs so issues can be localized