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

> ## Agent Instructions
> Use https://docs.fastino.ai/llms.txt to discover and navigate pages. Use https://docs.fastino.ai/llms-full.txt when you need the complete documentation corpus. Use https://docs.fastino.ai/openapi.json as the source of truth for customer-facing routes. For GLiDE decision inference, call POST https://api.fastino.ai/v1/systemone with model fastino/GLiDE. Do not infer undocumented routes. Read API keys from FASTINO_API_KEY and never embed credentials in code, logs, or reports.

# Llamar a GLiNER 2.5 Decide

> Autentícate y realiza una primera solicitud de clasificación definida por esquema con GLiNER 2.5 Decide.

Llama a GLiNER 2.5 Decide mediante el endpoint de Chat Completions de Fastino compatible con OpenAI. Coloca el texto que se va a clasificar en un mensaje de usuario y define las etiquetas permitidas en un esquema `classifications`.

```text theme={null}
POST https://api.fastino.ai/v1/chat/completions
```

## Configura tu API key

Crea una clave en [Fastino Settings](https://agent.fastino.ai/api-keys) y expónla a tu proceso:

<CodeGroup>
  ```bash macOS/Linux theme={null}
  export FASTINO_API_KEY="your_api_key_here"
  ```

  ```powershell Windows theme={null}
  setx FASTINO_API_KEY "your_api_key_here"
  ```
</CodeGroup>

## Realiza una solicitud de clasificación

```bash theme={null}
curl -X POST "https://api.fastino.ai/v1/chat/completions" \
  -H "Authorization: Bearer $FASTINO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "fastino/GLiNER-2.5-Decide",
    "messages": [
      {
        "role": "user",
        "content": "My subscription renewed after I cancelled it. Please refund the charge."
      }
    ],
    "schema": {
      "classifications": [
        {
          "task": "intent",
          "labels": ["refund_request", "cancel_subscription", "login_problem"],
          "multi_label": false
        }
      ]
    },
    "store": false
  }'
```

Cada tarea de clasificación requiere al menos una etiqueta. Con `multi_label: false`, Decide devuelve la etiqueta con mayor puntuación.

## Lee la respuesta

Una respuesta correcta usa el envoltorio de Chat Completions. El resultado de clasificación es una cadena JSON dentro de `choices[0].message.content`:

```json theme={null}
{
  "model": "fastino/GLiNER-2.5-Decide",
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "{\"intent\": {\"label\": \"refund_request\", \"confidence\": 0.999862551689148}}"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 13,
    "completion_tokens": 22,
    "total_tokens": 35
  },
  "token_usage": 35
}
```

Analiza el contenido del mensaje antes de leer el resultado de la tarea:

```python theme={null}
import json

# `body` is the decoded JSON response body.
result = json.loads(body["choices"][0]["message"]["content"])
intent = result["intent"]["label"]
confidence = result["intent"]["confidence"]
```

## Próximos pasos

<CardGroup cols={2}>
  <Card title="Clasificación" icon="brackets-curly" href="/es/concepts/gliner-2-5-decide-schema">
    Añade comportamiento multietiqueta, varias tareas y umbrales, y analiza los resultados.
  </Card>

  <Card title="Referencia de la API" icon="book" href="/es/api-reference/inference/chat-completions">
    Consulta el contrato completo de `POST /v1/chat/completions`.
  </Card>
</CardGroup>


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