🗨️ API de chat LLM
Nuestra API de chat compatible con OpenAI está capacitada para ser un asistente útil. Contamos con tres modelos de IA de última generación: Spark, Radiance y Supernova. Todos pueden utilizarse para una amplia gama de aplicaciones. Destacan en tareas como razonamiento de sentido común, conocimiento del mundo, comprensión lectora, tareas relacionadas con el código y mucho más. Pruébelo usted mismo en nuestro AI API playground.
Uso de la API
Nuestra API compatible con OpenAI toma una lista de mensajes como entrada y proporciona un mensaje generado por la IA (asistente) como salida. Si aún no lo ha hecho, necesitará crearse una API key para autenticar sus peticiones.
- JavaScript
- Python
- curl
// npm install --save openai or yarn add openai
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://apigateway.avangenio.net",
});
const completion = await openai.chat.completions.create({
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "How many days are in a year?" },
],
model: "radiance",
});
console.log(completion.choices[0].message.content);
# pip install --upgrade openai
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://apigateway.avangenio.net",
)
completion = client.chat.completions.create(
messages=[
{ "role": "system", "content": "You are a helpful assistant." },
{ "role": "user", "content": "How many days are in a year?" }
],
model="radiance",
)
print(completion.choices[0].message.content)
curl https://apigateway.avangenio.net/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "radiance",
"messages": [
{ "role": "system", "content": "You are a helpful assistant." },
{ "role": "user", "content": "How many days are in a year?" }
]
}'
Respuesta de la API
El formato disponible para obtener la transcripción es un formato de archivo que incluye marcas de tiempo y puede utilizarse para mostrar subtítulos en reproductores de vídeo.
{
"id": "cmpl-8a9ba025b8a744e881636351a26e4642",
"object": "chat.completion",
"created": 1697721484,
"model": "radiance",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "There are typically 365 days in a year. However, in a leap year, which occurs every four years, there are 366 days. Leap years are used to account for the extra fraction of a day that is not included in a regular year."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 30,
"total_tokens": 90,
"completion_tokens": 60
}
}
Si solo quiere el mensaje del asistente puede usar el siguiente código
response["choices"][0]["message"]["content"];
Parámetros de la API
El endpoint POST
https://apigateway.avangenio.net/v1/chat/completions recibe los siguientes parámetros:
Parámetro | Requerido | Tipo | Valor por defecto | Descripción |
---|---|---|---|---|
messages | yes | array | - | Una lista de objetos de mensaje que representan la conversación en curso, cada uno de los cuales contiene un role (system , user , assistant ) y un contenido. Véase un ejemplo aquí. |
model | yes | spark , radiance , supernova | - | Especifique el identificador del modelo que debe utilizarse. |
max_tokens | no | integer | infinity | Establece el límite de fichas de salida, garantizando la rentabilidad. |
n | no | integer | 1 | Establezca el número de opciones de finalización de chat que se generarán. |
stop | no | string or array | null | Una secuencia de tokens que ordena a la API detener la generación cuando se produce en la salida. |
stream | no | boolean | false | Cuando se activa el parámetro, se transmiten actualizaciones de mensajes incrementales como eventos server-sent con mensajes de sólo datos. Los tokens se entregan cuando están disponibles. La finalización del flujo se indica mediante data: [DONE] . Ejemplo de código con librería de python |
frequency_penalty | no | integer | 0 | Oscila entre -2,0 y 2,0. Los valores positivos disminuyen la probabilidad de generar texto idéntico penalizando los tokens en función de la frecuencia con la que se utilizaron en el texto anterior. |
precense_penalty | no | integer | 0 | Oscila entre -2,0 y 2,0. Los valores positivos aumentan la probabilidad de utilizar palabras diferentes al penalizar los tokens que se utilizaron en el texto anteriormente, lo que aumenta la probabilidad de mencionar temas nuevos. |
temperature | no | integer | 1 | Oscila entre 0,0 y 2,0. Los valores más altos, como 1,5, introducen aleatoriedad en la salida, mientras que los más bajos, como 0,3, aportan concentración y determinismo. |
top_p | no | integer | 1 | Top p, también conocido como muestreo de núcleos, da forma a la selección de fichas. Ajústelo para centrar o diversificar los resultados. Por ejemplo, un p superior de 1 incluye todos los tokens, mientras que un valor inferior como 0,2 da prioridad a los tokens de alta probabilidad para obtener un resultado más centrado. |
Consejos
- Las conversaciones suelen comenzar con un mensaje del sistema, seguido de mensajes alternativos del usuario y del asistente.
- El mensaje del sistema determina el comportamiento del asistente y puede personalizarse, pero no es obligatorio.
- Los mensajes de usuario hacen peticiones o comentarios, mientras que los mensajes de asistente almacenan respuestas anteriores o demuestran comportamientos deseados.
- Puede ser útil incluir el historial de la conversación cuando las instrucciones del usuario hacen referencia a mensajes anteriores, ya que los modelos no recuerdan las solicitudes anteriores.