Pular para o conteúdo principal

Chat

Criar chat completion

POST https://chat.maritaca.ai/api/chat/completions

Este endpoint faz chamada para o modelo para gerar respostas baseadas em entradas especificadas. Aqui estão os parâmetros detalhados e exemplos de uso.

Corpo da Requisição


model string Obrigatório

Padrão é sabia-3. Modelo que irá gerar a resposta.


messages array Obrigatório

Mensagens enviadas ao modelo. Espera-se uma lista de mensagens, cada uma com "role" (papel: system, user, assistant ou tool) e "content" (conteúdo da mensagem). Exemplo:

  • user: "Olá, qual é o resultado de 25 + 27?"
  • assistant: "O resultado é 52."
System message (object)
  • content (string) Obrigatório: O conteúdo da mensagem do sistema.
  • role (string) Obrigatório: O papel do autor da mensagem, neste caso system.
User message (object)
  • content (string) Obrigatório: O conteúdo da mensagem do usuário.
  • role (string) Obrigatório: O papel do autor da mensagem, neste caso user.
Assistant message (object)
  • content (string) Obrigatório: O conteúdo da resposta do assistente.
  • role (string) Obrigatório: O papel do autor da mensagem, neste caso assistant.
Tool message (object)
  • content (string) Obrigatório: O conteúdo da mensagem da ferramenta.
  • role (string) Obrigatório: O papel do autor da mensagem, neste caso tool.

frequency_penalty float ou null Opcional

Padrão é 0. Intervalo entre -2.0 e 2.0. Valores positivos penalizam tokens com base na frequência na conversa, reduzindo a probabilidade de repetição.


max_tokens int ou null Opcional

Define um limite superior para o número de tokens gerados na resposta. Controla o custo para o texto gerado via API.


n int ou null Opcional

Padrão é 1. Especifica quantas opções de resposta devem ser geradas para cada mensagem de entrada.


presence_penalty float ou null Opcional

Padrão é 0. Intervalo de -2.0 a 2.0. Aumenta a probabilidade de novos tópicos na conversa, penalizando repetições.


stop array Opcional

Lista de tokens que, quando gerados, indicam que o modelo deve parar de gerar tokens.


stream bool ou null Opcional

Padrão é false. Se True, o modelo será executado em modo de streaming, onde tokens serão gerados e retornados ao cliente à medida que são gerados. Se False, o modelo será executado em modo de batch, onde todos os tokens serão gerados antes de serem retornados ao cliente.


stream_options object{str: bool} ou null Opcional

Opções para controlar o comportamento do streaming. Usada apenas se stream=True. As opções disponíveis atualmente são:

  • include_usage: se True, um último chunk será emitido antes do fim da stream contendo a quantidade de tokens da requisição.

temperature float ou null Opcional

Padrão é 0.7. Temperatura de amostragem para geração, com valores mais altos produzindo respostas mais aleatórias.


top_p float ou null Opcional

Padrão é 0.95. Se menor que 1, mantém apenas os tokens superiores com probabilidade cumulativa >= top_p (filtragem do núcleo). Por exemplo, 0.95 significa que apenas os tokens que compõem os 95% superiores da massa de probabilidade são considerados quando prevendo o próximo token. A filtragem do núcleo é descrita em Holtzman et al..


tools array Opcional

Uma lista de ferramentas que o modelo pode chamar. Use esse parâmetro para fornecer uma lista de funções para as quais o modelo pode gerar entradas JSON.


tool_choice string ou object Opcional

Controla qual (se houver) ferramenta é chamada pelo modelo.

  • "none": o modelo não chamará nenhuma ferramenta e, em vez disso, gerará uma mensagem.
  • "auto": o modelo pode escolher entre gerar uma mensagem ou chamar uma ou mais ferramentas.
  • "required": o modelo deve chamar uma ou mais ferramentas.

Exemplo de Request

import openai

client = openai.OpenAI(
api_key=maritaca_key,
base_url="https://chat.maritaca.ai/api",
)


completion = client.chat.completions.create(
model="sabia-3",
messages= [
{
"role": "system",
"content": "Você é um assistente de viagens especializado em fornecer informações sobre destinos turísticos, hotéis, restaurantes e atividades locais."
},
{
"role": "user",
"content": "Estou planejando uma viagem para Bahia. Você poderia me recomendar um ponto turístico?"
}
]

)

print(completion.choices[0].message)