Choose an API format
Use built-in tools only with the API format that documents them; TokenLab does not convert those tools between formats.
JSON Mode
For a JSON object that works across many chat models, use Chat Completions JSON mode:text and json_object. json_schema and strict are model- and format-specific; use them only when the selected model documents support.
Always parse and validate returned JSON on your server. JSON mode does not replace application-level schema validation.
Complete a tool call
TokenLab returns the function name and arguments; your application executes it:- Send messages plus tool definitions.
- Read the model response for
tool_calls,function_call, Anthropictool_use, or Gemini function call parts. - Execute the tool in your own backend.
- Append the tool result in the same API format.
- Continue the conversation until the model returns a final answer.
Chat Completions Example
Write a useful schema
- Keep schemas small and explicit. Large nested schemas add tokens and reduce reliability.
- Prefer required fields for values your product cannot continue without.
- Use enums for closed sets that your UI or backend depends on.
- Include examples in the prompt when the model struggles with a shape.
- If a field is not supported, remove it or use an API format that documents it.
Before executing a tool
- Record the API format, model, tool names, and schema field names.
- Validate tool arguments before executing any side effect.
- Apply your own permission checks before tool execution.
- Make tool execution idempotent when a client retry can repeat the same tool call.
- Do not log secrets returned by tools into model-visible messages.