AI client
Funções da Azion Lib do módulo azion/ai que enviam perguntas sobre a Azion para a Azion AI API e retornam a resposta inteira ou em stream.
O módulo azion/ai do pacote azion é o client da Azion Lib para a Azion AI API, um assistente que responde a perguntas sobre os produtos e serviços da Azion. Você envia uma conversa, e ele retorna a resposta inteira com chat ou em chunks, à medida que o modelo a escreve, com streamChat.
Instale o pacote:
O pacote azion recebe apenas correções de bugs, e a manutenção dele termina em dezembro de 2026.
Todos os exemplos desta página são módulos ES em TypeScript que rodam no Node.js e usam await de nível superior. Os tipos entram por import type, então os exemplos ainda carregam quando uma ferramenta remove as anotações de tipo antes de executá-los.
Autenticação
As funções chat e streamChat leem seu personal token da variável de ambiente AZION_TOKEN. Um client criado com createClient guarda o próprio token, passado no campo token.
Um arquivo .env com as duas variáveis fica assim:
| Variável | Descrição |
|---|---|
AZION_TOKEN | Seu personal token da Azion. |
AZION_DEBUG | Com true, chat imprime o objeto de resposta inteiro antes da resposta, e streamChat imprime cada objeto de chunk. |
Para saber como os pacotes da Azion Lib resolvem o token e a configuração de debug, consulte Como a Azion Lib funciona.
Envelope de resposta
Toda chamada retorna um objeto AzionAIResult, { data, error }. Em caso de sucesso, data contém a resposta e error é null. Em caso de falha, data é null e error é um Error do JavaScript. Uma chamada recusada não lança exceção.
Leia a falha em error.message. A propriedade message de um Error não é enumerável, então JSON.stringify(error) imprime {} e esconde o motivo.
createClient
Cria um client que guarda um token e as opções de requisição e expõe chat e streamChat como métodos. createClient também é o export padrão de azion/ai.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
token | string | Não | Seu personal token da Azion. |
options | AzionClientOptions | Não | Opções de requisição para todas as chamadas que o client faz. |
Retorna um AzionAIClient. Seus métodos recebem os mesmos argumentos que as funções chat e streamChat.
Este exemplo cria um client e faz uma pergunta a ele:
O modelo escreve uma resposta diferente a cada execução. Esta saída está cortada depois da resposta, antes da lista de páginas da documentação:
chat
Envia uma conversa para a Azion AI API e retorna a resposta inteira quando o modelo termina de escrevê-la. A função recebe dois argumentos posicionais, não um objeto.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
request | AzionAIRequest | Sim | A conversa a enviar. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna data como um AzionAIResponse. A resposta está em choices[0].message.content.
Em caso de sucesso, o exemplo imprime AI response: seguido da resposta.
streamChat
Envia uma conversa para a Azion AI API e entrega a resposta em chunks enquanto o modelo a escreve. Use para mostrar a resposta à medida que ela chega.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
request | AzionAIRequest | Sim | A conversa a enviar. |
options | AzionClientOptions | Não | Opções de requisição. |
Retorna um gerador assíncrono, não uma promise: leia-o com for await. Cada chunk é um envelope próprio, com data como um AzionAIStreamResponse. O texto do chunk está em choices[0].delta.content, que um chunk pode omitir.
O modelo escreve uma resposta diferente a cada execução. Esta saída está cortada depois do primeiro caso de uso:
Erros
Uma chamada que falha retorna um Error em error. Leia o texto dele em error.message.
| Mensagem | Causa | O que fazer |
|---|---|---|
HTTP error! status: 403 | A Azion AI API recusou o token. | Use um personal token válido em AZION_TOKEN ou no token do client. |
Tipos
O módulo exporta estes tipos. Importe-os com import type.
AzionAIClient
O client que createClient retorna.
| Método | Argumentos | Retorno |
|---|---|---|
chat | request: AzionAIRequest, options?: AzionClientOptions | Promise<AzionAIResult<AzionAIResponse>> |
streamChat | request: AzionAIRequest, options?: AzionClientOptions | AsyncGenerator<AzionAIResult<AzionAIStreamResponse>> |
AzionClientOptions
Opções de requisição que chat e streamChat recebem em options, e que createClient recebe para todas as chamadas dele.
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
debug | boolean | Não | Imprime o objeto de resposta inteiro, ou cada objeto de chunk de um stream, antes da resposta. |
force | boolean | Não | — |
AzionAIRequest
A conversa que chat e streamChat enviam.
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
messages | AzionAIMessage[] | Sim | As mensagens da conversa, em ordem. |
azion | AzionAIConfig | Não | — |
stream | boolean | Não | — |
AzionAIMessage
Uma mensagem da conversa.
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
role | 'system' | 'user' | 'assistant' | Sim | O autor da mensagem. |
content | string | Sim | O texto da mensagem. |
AzionAIConfig
As configurações que uma requisição carrega em azion. Todo campo é uma string opcional.
AzionAIResult
O envelope que toda chamada retorna, assim como cada chunk de um stream. Para saber como lê-lo, consulte Envelope de resposta.
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
data | T | null | Sim | A resposta, ou null quando a chamada falha. |
error | Error | null | Sim | O erro, ou null quando a chamada tem sucesso. |
AzionAIResponse
O retorno de chat. A resposta está em choices[0].message.content.
AzionAIStreamResponse
Um chunk de streamChat. O texto do chunk está em choices[0].delta.content.