Elegir La Ruta
| Necesidad | Ruta | Usa esta forma |
|---|---|---|
| Respuestas de objeto JSON portátiles | /v1/chat/completions | response_format: {"type": "json_object"} |
| Llamadas a funciones compatibles con OpenAI | /v1/chat/completions | tools: [{ "type": "function", "function": ... }] |
| Herramientas de Respuestas de OpenAI | /v1/responses | Campos de respuestas tools, tool_choice y text |
| Uso de herramientas nativas de Claude o pensamiento | /v1/messages | Esquema de herramienta de Mensajes de Anthropic |
| Declaraciones de funciones de Gemini o herramientas integradas | /v1beta/models/:model:generateContent | tools nativos de Gemini y partes de contenido |
Modo JSON
Para respuestas estructuradas portátiles, comienza con el modo JSON de Chat Completions:text y json_object. Puede existir json_schema, strict y aplicación de esquemas específicos del proveedor para algunas rutas o caminos de conversión, pero no son una promesa generalizada en cada ruta y modelo de TokenLab. Verifícalos contra el modelo seleccionado antes de confiar en ellos.
Siempre analiza y valida el JSON devuelto en tu servidor. El modo JSON mejora la forma, pero no reemplaza la validación de esquema a nivel de aplicación.
Bucle de Llamadas a Herramientas
TokenLab no ejecuta tus funciones. Tu aplicación posee el bucle:- Envía mensajes más definiciones de herramientas.
- Lee la respuesta del modelo para
tool_calls,function_call,tool_usede Anthropic o partes de llamada a función de Gemini. - Ejecuta la herramienta en tu propio backend.
- Agrega el resultado de la herramienta en el formato requerido por la misma ruta.
- Continúa la conversación hasta que el modelo devuelva una respuesta final.
Ejemplo de Chat Completions
Diseño de Esquema
- Mantén los esquemas pequeños y explícitos. Los esquemas anidados grandes añaden tokens y reducen la fiabilidad.
- Prefiere campos requeridos para valores sin los cuales tu producto no puede continuar.
- Usa enums para conjuntos cerrados de los que tu UI o backend dependen.
- Incluye ejemplos en el prompt cuando el modelo tiene dificultades con una forma.
- Trata los errores de campo no soportado como retroalimentación del contrato. Elimina el campo o utiliza la ruta nativa que lo documenta.
Lista de Verificación de Producción
- Registra la ruta, modelo, nombres de herramientas y forma de esquema saneada en los logs.
- Valida los argumentos de la herramienta antes de ejecutar cualquier efecto secundario.
- Aplica tus propias verificaciones de permisos antes de la ejecución de la herramienta.
- Haz que la ejecución de la herramienta sea idempotente cuando un reintento del cliente pueda repetir la misma llamada a la herramienta.
- No registres secretos devueltos por herramientas en mensajes visibles para el modelo.
Referencia de API
| Tema | Referencia |
|---|---|
| API de Múltiples Formatos | API de Múltiples Formatos |
| Crear Chat Completion | Crear Chat Completion |
| Crear Respuesta | Crear Respuesta |
| Crear Mensaje | Crear Mensaje |
| Generar Contenido de Gemini | Generar Contenido de Gemini |