Elegir La Ruta
No envíes herramientas integradas nativas del proveedor a través de una ruta diferente y esperes que TokenLab las traduzca silenciosamente.
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.