Saltar al contenido principal
Este es el endpoint de inferencia de GLiDE. Envía un state y una o varias questions tipadas y con nombre; lee las decisiones estructuradas en answers. state puede estar vacío cuando la pregunta contiene todo el contexto. GLiDE no usa /v1/chat/completions, messages ni un schema de GLiNER. GLiDE cuesta 0,04 $ por cada millón de tokens de entrada. Los tokens de salida son gratuitos (0 $). Consulta Precios para ver las tarifas de inferencia actuales.

Ver el contrato de la API

Consulta el esquema completo de solicitud y respuesta de POST /v1/systemone.

Recetas de GLiDE

Solicitudes completas y probadas para clasificar tickets, controlar acciones de agentes y detectar inyecciones de prompt.

Configura tu API key

  1. Crea una cuenta de Fastino
  2. Obtén tu API key en Settings
Establece tu clave como una variable de entorno para que los ejemplos siguientes funcionen tal cual:

Elige un tipo de pregunta

Cada pregunta es de una sola etiqueta y devuelve probabilidades. Elige la primitiva según la forma de respuesta que necesita tu código: No existe una primitiva multietiqueta. Haz varias preguntas independientes con nombre en una sola solicitud cuando necesites varios juicios sobre el mismo state.

Solicitud

string
requerido
Usa fastino/GLiDE o el ID de un modelo de GLiDE que desplegaste. Si lo omites, se devuelve 422 'model' must be provided. La respuesta devuelve el nombre del motor como glide.
string | object | array
requerido
La situación que se va a evaluar. Usa una cadena para un solo pasaje, un objeto para campos etiquetados o un array para una secuencia ordenada de mensajes o registros. Se permite una cadena, un objeto o un array vacío cuando la pregunta contiene todo el contexto.
object
requerido
Un objeto no vacío cuyas claves son nombres que tú eliges. Cada valor debe contener type e instructions; Choice y Score también requieren criteria. Las mismas claves aparecen bajo answers en la respuesta. Consulta Noul, Choice y Score para ver la forma completa de solicitud y respuesta de cada tipo.
boolean
predeterminado:"true"
Indica si Fastino conserva la entrada y la salida de esta solicitud. Establécelo en false para no conservar ninguna de las dos. Consulta Mantener una solicitud fuera del almacenamiento.

Formas de state

state es el material frente al que se evalúa cada pregunta. Piensa en ello como lo que le entregarías a un panel de expertos antes de pedirles que emitan un juicio. Usa un objeto cuando la decisión dependa de comparar varias partes con nombre (por ejemplo, un ticket y la política con la que se evalúa): así cada parte queda etiquetada y sus relaciones quedan claras. Una cadena simple basta cuando el caso es un único pasaje autocontenido. Todas las preguntas de una solicitud ven el mismo state y se evalúan de forma independiente frente a él.

Entrada de imágenes

Un array puede combinar cadenas o partes de texto con hasta cuatro partes image_url. Cada URL de imagen puede ser una URL HTTPS o una data URL en base64:
Una data URL lleva la imagen dentro de la propia solicitud, con el formato data:<media type>;base64,<data>:
Para crear esa solicitud a partir de un archivo local, codifica el archivo y escribe el cuerpo en disco. Envíalo con -d @body.json, porque una imagen de varios megabytes puede ser demasiado larga para un argumento de la línea de comandos:
Cada imagen debe respetar estos límites:
  • El límite de tamaño cuenta el base64 después de la coma, no el prefijo data:.
  • El límite de tamaño se aplica a bytes, no a píxeles. Los metadatos incrustados y el relleno cuentan, así que se rechaza una imagen de 800×600 rellenada hasta 5 MiB.
  • Fastino lee los bytes de cada imagen y los compara con el tipo de medio declarado. Se rechaza un PNG enviado como data:image/jpeg.
  • Fastino descarga por sí mismo las imágenes por URL. El host debe responder 200 sin redirección, y algunos hosts rechazan las descargas automatizadas. Si una URL falla, envía la imagen como data URL.
GLiDE redimensiona cada imagen a entre 65,536 y 1,048,576 píxeles (aproximadamente 1 megapíxel) antes de leerla. Por eso cada imagen añade entre 64 y 1,024 tokens de entrada. Los tokens de imagen cuentan una vez por pregunta, porque GLiDE evalúa cada pregunta por separado frente a todo el state. Por ejemplo, la misma foto de 2048×1280 usó 1,087 tokens de entrada con una pregunta y 4,302 con cuatro. Los tokens de imagen también cuentan para el límite de 65,536 tokens del prompt de cada pregunta.
Redimensiona las imágenes a aproximadamente 1 megapíxel, como 1280×800, antes de enviarlas. Las imágenes más grandes cuestan los mismos tokens y tardan más en subirse. En las pruebas de Fastino, una foto de 5388×3368 y su copia de 1280×800 usaron los mismos tokens y devolvieron las mismas respuestas.
Consulta Errores de imagen de GLiDE para ver cada mensaje de error de imagen y cómo solucionarlo.

Solicitud completa

Respuesta

answers usa las claves de pregunta de tu solicitud. Para este Noul:
  • noul es la probabilidad de que se cumpla el criterio true. No es un booleano.
  • confidence es la certeza sobre cualquiera de los dos resultados: |2 × noul − 1|.
  • Ajusta los umbrales de acción con datos representativos. No des por hecho que 0.5 es el umbral adecuado para tu negocio.
Choice y Score devuelven campos distintos. Consulta sus páginas de primitiva para ver las formas exactas de respuesta y ejemplos de integración.

Mantener una solicitud fuera del almacenamiento

Añade "store": false al cuerpo de la solicitud. Fastino no conserva entonces ni el state ni las questions que enviaste, ni las answers que devolvió:
  • No se crea ninguna entrada en tu historial de inferencia.
  • La carga útil queda fuera de los registros, los informes de errores y las trazas de Fastino.
  • La solicitud nunca se utiliza para el entrenamiento de la plataforma ni para la adaptación continua de tus modelos de tareas, independientemente de tu configuración de exclusión del entrenamiento.
Fastino sigue registrando metadatos de uso para la facturación: modelo, recuento de tokens, latencia, estado y coste. El encabezado de respuesta X-Fastino-Data-Retention indica qué se aplicó:

Combinar varias preguntas

Haz varias preguntas de distintos tipos sobre el mismo state en una sola llamada. Todas las preguntas se evalúan juntas en un único viaje de ida y vuelta.
Respuesta:

Límites y formas no admitidas

  • Cada prompt de pregunta renderizado (state más esa pregunta) debe caber en 65,536 tokens.
  • Choice requiere entre 2 y 255 opciones; una sola opción no puede representar una decisión ni un margen de confianza significativo. Score acepta como máximo 255 niveles.
  • usage.input_tokens suma las pasadas internas de todas las preguntas, por lo que puede superar 65,536 aunque cada prompt renderizado individual quepa.
  • state acepta hasta 4 imágenes de como máximo 3.75 MiB y 25,000,000 píxeles cada una, en JPEG, PNG, GIF o WebP. Consulta Entrada de imágenes.
  • Una solicitud evalúa un único state compartido; pon varias preguntas bajo questions.
  • /v1/systemone no hace streaming y no acepta un lote de estados independientes.
  • Para llamar a un modelo de GLiDE que entrenaste, envía como model el ID del modelo desplegado, con un state solo de texto. Consulta Entrenar GLiDE.
Consulta confianza e incertidumbre para ver las fórmulas de confianza y el enrutamiento basado en confianza.

Migrar desde TypeSafe

Jev de TypeSafe y GLiDE de Fastino usan la misma estructura de System One: state, questions con nombre y answers correspondientes. La mayoría de las solicitudes se transfieren sin problemas, pero la integración no es un reemplazo directo. Usa esta lista de comprobación para migrar con seguridad:
1

Conserva la estructura de solicitud de System One

Conserva state, las claves de pregunta y los tipos de primitiva. state puede estar vacío cuando la pregunta contiene todo el contexto. Cada valor de instructions puede ser una cadena no vacía o un objeto JSON no vacío; GLiDE serializa los objetos como texto JSON compacto. Convierte las instrucciones omitidas, nulas o de tipo array en una cadena o un objeto. Mantén los criterios de Choice como un objeto. Los criterios de Noul son opcionales, pero sus valores true y false deben ser cadenas. Para los criterios de Score, es preferible un array ordenado. Envía solo los campos de solicitud documentados que necesite tu integración. Los campos de nivel superior no admitidos devuelven 422, así que no copies opciones arbitrarias del cliente de TypeSafe en el cuerpo JSON.
2

Cambia el endpoint, la credencial y el modelo

Dirige la solicitud a Fastino, lee FASTINO_API_KEY, envíala con X-API-Key y establece model en fastino/GLiDE. Fastino también acepta el encabezado Bearer si mantener ese estilo simplifica una migración HTTP directa. Espera model: "glide" en la respuesta.
3

Actualiza el manejo de respuestas de Score

El score de TypeSafe es un número de coma flotante ponderado por probabilidad. Su equivalente en GLiDE es expected_level. En cambio, el score de GLiDE es el índice entero del nivel más probable. GLiDE devuelve las descripciones de la leyenda de Score como cadenas, así que actualiza los consumidores que esperan valores de leyenda estructurados. Para las solicitudes de Score, GLiDE también acepta objetos de criterios con claves de cadena numéricas, como {"1": "low", "3": "medium", "5": "high"}. Las claves se ordenan y se descartan, y la respuesta se reindexa de 0 a N-1. Usa un array ordenado cuando los valores numéricos originales no deban confundirse con los índices de nivel devueltos.
4

Revisa las claves de nivel y el comportamiento de reintento

GLiDE devuelve probabilities y legend de Score con claves de cadena como "0" y "1". La respuesta HTTP sin procesar de TypeSafe hace lo mismo, pero su SDK de Python puede exponer claves enteras. Convierte las claves solo si la aplicación requiere mapas con claves enteras. Sustituye el manejo de reintentos de 529 de TypeSafe por el manejo de 425 y 503 de Fastino, y mantén un backoff acotado para 429. Respeta Retry-After cuando esté presente y aplica el mismo presupuesto de reintentos a los fallos de transporte.
5

Vuelve a validar los umbrales de decisión

Mantén intactas las acciones de negocio existentes durante la migración y luego prueba GLiDE con casos representativos antes del despliegue. No des por hecho que los umbrales calibrados para Jev se transfieren sin cambios a un modelo diferente.
No asignes el score de coma flotante de TypeSafe al score de GLiDE. Lee answers.&lt;key&gt;.expected_level cuando el código existente espere una puntuación ponderada. Lee answers.&lt;key&gt;.score solo cuando el código necesite el índice del único nivel ganador.

Sustituye el uso del SDK de TypeSafe

Si el proyecto usa un SDK de TypeSafe:
  1. Busca typesafe-sdk, @typesafe-ai/sdk, TypeSafeClient, AsyncTypeSafeClient y los constructores de preguntas de TypeSafe en manifiestos, importaciones, código de la aplicación y pruebas.
  2. Sustituye los constructores del SDK y el acceso tipado a las respuestas por el cliente HTTP del proyecto y el JSON decodificado.
  3. Elimina los paquetes e importaciones de TypeSafe solo cuando no quede ninguna referencia.
Las reglas de endpoint, validación, reintentos y Score indicadas arriba siguen siendo aplicables.

Errores

Una primera solicitud a un modelo en frío puede devolver 425 model_warming mientras se calienta; reintenta tras unos 60 segundos. Usa un tiempo de espera de lectura de al menos 300 segundos y un backoff acotado para 425, 429 y 503. No reintentes 401, 402, 403, 404 ni 422 sin corregir el problema subyacente.

Sigue aprendiendo

Descripción general de GLiDE

Comprende GLiDE, elige una primitiva y consulta las indicaciones específicas del modelo.

Noul

Integra una probabilidad de sí/no.

Choice

Enruta a una opción con nombre.

Score

Evalúa una rúbrica ordenada.