Artfical AI / API
Obtener una clave de API Abrir tAI
Primeros pasos

Chat completions

POST /v1/chat/completions es el único endpoint que hace todo: preguntas de un solo turno, conversaciones de varios turnos, llamadas a herramientas y entrada de imágenes, en modo bloqueante o en streaming.

Solicitud

POST https://api.artfical.com/v1/chat/completions
Authorization: Bearer tai-sk-...
Content-Type: application/json
CampoTipoObligatorioDescripción
modelstringSíUno de los IDs de modelo listados en la página Modelos, p. ej. "tai-4.1". Un valor no reconocido se rechaza con un 400 antes de que ocurra ninguna generación.
messagesarraySíLa conversación hasta el momento, del más antiguo al más reciente. Vea Messages más abajo para la forma de cada entrada.
streambooleanNoPor defecto es false. Cuando es true, la respuesta es un stream de eventos enviados por el servidor en lugar de un único cuerpo JSON; vea Streaming.
toolsarrayNoDefiniciones de herramientas de función con la forma de OpenAI que el modelo puede optar por invocar. Vea Llamadas a herramientas.
temperature, top_p, presence_penalty, frequency_penalty, seed, stopvariosNoControles de muestreo, reenviados tal como se envían. Vea Parámetros de muestreo para los rangos aceptados.

Messages

Cada entrada de messages tiene un role y un content. Se reconocen cuatro roles:

RolSignificado
systemInstrucciones de contexto para la conversación. Si hay más de un mensaje system, se combinan en orden. Un mensaje system nunca anula la identidad y las reglas de comportamiento fundamentales de tAI; se suma al contexto de la conversación, no a lo que tAI es fundamentalmente.
userAlgo que dice la persona (o su aplicación, en su nombre).
assistantUna respuesta previa del modelo. Incluya los mensajes assistant anteriores al enviar el historial de la conversación para que el modelo tenga todo el intercambio, no solo el último mensaje del usuario. Un mensaje assistant también puede llevar tool_calls; vea Llamadas a herramientas.
toolEl resultado de una llamada a herramienta que ejecutó su propio código, vinculado de vuelta a la llamada mediante tool_call_id. Vea Llamadas a herramientas.

Para un turno de solo texto, content es simplemente una cadena:

{"role": "user", "content": "İstanbul'da bugün hava nasıl olur sence?"}

Para incluir una imagen junto con texto, content pasa a ser un array de partes tipadas en lugar de una cadena simple; vea Imágenes para la forma exacta y qué modelos la admiten.

Respuesta (sin streaming)

Con "stream": false (el valor por defecto), la respuesta es un único objeto JSON, devuelto una vez que la generación se completa:

{
  "id": "chatcmpl-817c002145ac47feb83a0006c58ff43b",
  "object": "chat.completion",
  "created": 1788961617,
  "model": "tai-4.1",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Merhaba! Ben tAI, size nasıl yardımcı olabilirim?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1303,
    "completion_tokens": 232,
    "total_tokens": 1535
  }
}
CampoDescripción
idUn identificador único para este completion, con el prefijo chatcmpl-.
choicesSiempre exactamente una entrada (índice 0). tAI no admite solicitar varios completions candidatos en una sola solicitud.
choices[].finish_reason"stop" para una respuesta normal completada, o "tool_calls" cuando el modelo pide invocar una o más herramientas en lugar de responder directamente. Vea Llamadas a herramientas.
usageCantidad de tokens de esta solicitud. completion_tokens refleja lo que el modelo realmente generó, independientemente de cualquier tope de tipo max_tokens.

Una conversación completa

Incluya todo el historial en cada solicitud; la API no tiene estado y no conserva por sí misma ninguna memoria de llamadas anteriores. Cada solicitud es independiente, con exactamente el contexto que usted le envía.

{
  "model": "tai-4.1",
  "messages": [
    {"role": "system", "content": "Kısa ve net cevaplar ver."},
    {"role": "user", "content": "3 çarpı 4 kaç eder?"},
    {"role": "assistant", "content": "12."},
    {"role": "user", "content": "Peki onu 2'ye böl."}
  ]
}

Longitud de la respuesta

Actualmente no hay un tope configurable por el cliente sobre cuántos tokens puede contener una respuesta; cada modelo tiene su propio tope interno ajustado para ese modelo. Si necesita que una solicitud falle rápido en lugar de extenderse demasiado, la palanca más confiable son las secuencias stop (vea Parámetros de muestreo) o simplemente pedir brevedad en el propio prompt.