🗨️ 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.