> ## Documentation Index
> Fetch the complete documentation index at: https://glasser.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Jev API

> Clasifica texto, asígnale una puntuación según una rúbrica o evalúa afirmaciones con el modelo Jev de TypeSafe.

Jev evalúa texto o JSON según un conjunto de preguntas y devuelve una respuesta estructurada
para cada pregunta. Las preguntas de una solicitud comparten el mismo `state`.

| Campo de Run | Valor |
| - | - |
| `provider` | `typesafe` |
| `endpoint` | `/v1/systemone` |

Envía estos campos con `input` a [Crear un Run](https://glasser.ai/docs/es/api-reference/runs/create.md).
Usa [Inspeccionar](https://glasser.ai/docs/es/api-reference/endpoints/inspect.md) para consultar el esquema de entrada actual y
el Price. Consulta la [descripción general de la API](https://glasser.ai/docs/es/api-reference/overview.md) para la autenticación y la gestión de Run.

## Entrada

| Campo | Descripción |
| - | - |
| `state` | El contenido que se evaluará: texto, un objeto JSON o una matriz JSON. |
| `questions` | Un objeto que contiene una o más preguntas, cada una con un ID no vacío. |
| `model` | Nombre opcional del modelo. De forma predeterminada, `jev-latest`; usa `jev-1.13.0` para seleccionar esa versión. |

Cada pregunta tiene un `type`, `instructions` que describen qué se debe evaluar y
`criteria` cuando es necesario:

| Tipo | Propósito | `criteria` |
| - | - | - |
| `choice` | Seleccionar una opción | Un objeto con entre 2 y 255 opciones |
| `score` | Asignar una puntuación | Una matriz ordenada con entre 2 y 10 niveles |
| `noul` | Evaluar una afirmación de sí/no | Opcional |

Las respuestas se devuelven en `output.answers`, usando los ID de las preguntas como claves. Consulta la
[referencia de la API de TypeSafe](https://docs.typesafe.ai/api) para conocer los formatos de las preguntas y respuestas.

## Ejemplo

Esta solicitud evalúa dos afirmaciones sobre el mismo ticket de soporte:

```json wrap theme={null}
{
  "provider": "typesafe",
  "endpoint": "/v1/systemone",
  "input": {
    "model": "jev-1.13.0",
    "state": "The customer was charged twice and asks for a refund.",
    "questions": {
      "duplicate_charge": {
        "type": "noul",
        "instructions": "The customer was charged twice."
      },
      "refund": {
        "type": "noul",
        "instructions": "The customer asks for a refund."
      }
    }
  }
}
```

## Límites de tokens

El tamaño del lote depende del contenido de `state` y de las preguntas. Jev 1.13 comprueba
ambos límites:

| Contenido | Límite |
| - | - |
| `state` + todas las preguntas | 64k tokens |
| `state` + la pregunta más larga | 32k tokens |

El contenido de la pregunta incluye `instructions` y `criteria`. El número de tokens difiere
del número de caracteres. Consulta los [límites de los modelos de TypeSafe](https://docs.typesafe.ai/models)
para conocer otras versiones de modelos y los límites de solicitudes actuales.

## Errores del proveedor de datos

Lee el estado HTTP de Jev en `provider_response.http_status` y el cuerpo del error
en `provider_response.error`. Un rechazo por límite de tokens tiene el estado HTTP `400`
y este cuerpo:

```json theme={null}
{"detail":{"error_type":"max_tokens_exceeded"}}
```

El error no indica qué límite se superó. Acorta `state` o la
pregunta más larga para cumplir el límite de 32k; acorta o divide las preguntas para cumplir el
límite total de 64k. Usa un nuevo `Idempotency-Key` para la solicitud modificada.

Jev devuelve `429` cuando se alcanzan los límites de solicitudes y `529` cuando hay una sobrecarga temporal. Espera
antes de crear un nuevo Run. Consulta [Gestión de respuestas de Run](https://glasser.ai/docs/es/api-reference/overview.md#read-the-result)
para conocer los campos de estado y los reintentos.

## Precios

Jev cobra por los tokens de entrada; los tokens de salida son gratuitos. Cada lote incluye y
factura `state` de nuevo. Los rechazos por límite de tokens sin uso de tokens no tienen Charge.

Inspecciona el Endpoint para consultar el Price actual de Glasser. El campo `charge_usd`
del Run contiene su Charge real.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.