Saltar al contenido principal
Las herramientas permiten que el asistente ejecute operaciones específicas (como buscar artefactos, analizar datos tabulares o extraer una página web) como parte de una respuesta. Puedes habilitar herramientas añadiendo tres campos a una petición POST /messages:
CampoPropósito
toolsQué herramientas están permitidas.
tool_choiceCómo debe elegir herramientas el asistente (auto, forzar una herramienta o none).
tool_contextContexto opcional (documentos o conexiones de BD).

Requisitos previos

  • Un token de API. Ver Gestión de tokens.
  • El nombre de host de Zylon (sustituye {BASE_URL} en los ejemplos).

Solicitud y respuesta básicas

Empieza con POST /messages/validate para validar el cuerpo de la petición sin ejecutar el modelo. Este ejemplo habilita Web Fetch:
curl -X POST "https://{BASE_URL}/api/gpt/v1/messages/validate" \
  -H "Authorization: Bearer {API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "default",
    "max_tokens": 64,
    "messages": [
      { "role": "user", "content": "Summarize: https://example.com/" }
    ],
    "tools": [
      { "name": "web_extract", "type": "web_extract_v1" }
    ],
    "tool_choice": { "type": "auto" }
  }'
{ "valid": true, "errors": null }
Para ejecutar la petición, envía el mismo cuerpo a POST /messages.

Herramientas integradas

Zylon incluye herramientas integradas:
Tipo de herramientaQué haceRequiere tool_context
semantic_search_v1Buscar artefactos ingeridosSí (ingested_artifact)
tabular_analysis_v1Analizar artefactos tabularesSí (ingested_artifact)
web_extract_v1Extraer una URL del mensajeNo
web_search_v1Buscar en la webNo
database_query_v1Consultar una BD SQLSí (sql_database)
Guías:

Herramientas personalizadas

Las herramientas personalizadas te permiten definir una interfaz mediante JSON Schema. Ver: Herramientas personalizadas

Errores comunes

  • Nombre de campo: usa inputSchema (no input_schema).
  • Falta de contexto: algunas herramientas requieren tool_context.
  • Autenticación: incluye Authorization: Bearer ... en cada petición.

Próximos pasos