Chat Completions
La API de Chat Completions te permite generar respuestas conversacionales a partir de los modelos de lenguaje de Nextbit. Nuestra API es totalmente compatible con el formato de Chat Completions de OpenAI.
El modelo de Chat Completions
El modelo de Chat Completions contiene toda la información sobre tu conversación, incluyendo mensajes, prompts del sistema y parámetros de generación.
Propiedades
- Name
model- Type
- string
- Description
El ID del modelo a usar. Consulta modelos disponibles para la lista completa con precios.
- Name
messages- Type
- array
- Description
Un array de objetos de mensaje que representan el historial de conversación. Cada mensaje debe tener un
role(system,useroassistant) ycontent.
- Name
temperature- Type
- number
- Description
Controla la aleatoriedad en la salida. Valores más altos (ej., 1.5) hacen la salida más aleatoria, valores más bajos (ej., 0.5) la hacen más enfocada. Rango: 0-2, predeterminado: 1.
- Name
max_tokens- Type
- integer
- Description
El número máximo de tokens a generar en la Completion.
- Name
stream- Type
- boolean
- Description
Si se establece a
true, los deltas parciales del mensaje se enviarán como eventos del servidor. Predeterminado:false.
- Name
top_p- Type
- number
- Description
Una alternativa al muestreo por temperatura. Rango: 0-1, predeterminado: 1.
- Name
presence_penalty- Type
- number
- Description
Número entre -2.0 y 2.0. Valores positivos penalizan tokens nuevos basándose en si aparecen en el texto hasta ahora.
- Name
frequency_penalty- Type
- number
- Description
Número entre -2.0 y 2.0. Valores positivos penalizan tokens nuevos basándose en su frecuencia existente en el texto.
Crear Chat Completion
Este endpoint te permite crear una Chat Completion usando uno de nuestros modelos disponibles.
Atributos requeridos
- Name
model- Type
- string
- Description
El ID del modelo a usar para la Completion.
- Name
messages- Type
- array
- Description
Array de objetos de mensaje con
roleycontent.
Atributos opcionales
- Name
temperature- Type
- number
- Description
Temperatura de muestreo (0-2). Predeterminado: 1.
- Name
max_tokens- Type
- integer
- Description
Máximo de tokens a generar.
- Name
stream- Type
- boolean
- Description
Habilitar respuestas en streaming. Predeterminado: false.
Solicitud
from openai import OpenAI
client = OpenAI(
base_url="https://api.nextbit256.com/v1",
api_key="tu-clave-api"
)
response = client.chat.completions.create(
model="llama3.3:70b",
messages=[
{"role": "system", "content": "Eres un asistente útil."},
{"role": "user", "content": "¿Cuál es la capital de España?"}
]
)
print(response.choices[0].message.content)
Respuesta
{
"id": "chatcmpl-6ff64705f50d43cbbab7cd03250e9382",
"object": "chat.completion",
"created": 1742470129,
"model": "llama3.3:70b",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "La capital de España es Madrid."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 20,
"completion_tokens": 8,
"total_tokens": 28
}
}
Streaming
Para una mejor experiencia de usuario, puedes transmitir la respuesta del modelo token por token. Establece stream: true en tu solicitud para habilitar el streaming.
La respuesta se enviará como eventos del servidor (SSE), con cada evento conteniendo un fragmento de la Completion.
Solicitud
from openai import OpenAI
client = OpenAI(
base_url="https://api.nextbit256.com/v1",
api_key="tu-clave-api"
)
stream = client.chat.completions.create(
model="llama3.3:70b",
messages=[
{"role": "user", "content": "Cuéntame sobre San Francisco"}
],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)