Pular para o conteúdo principal

AI Gateway

Encaminhe suas chamadas de LLM pelo AI Gateway alterando apenas a URL base. Sem dependência de fornecedor: execute sempre o melhor modelo pelo menor custo para o seu caso de uso.

Observabilidade

Instrumente seu código com OpenTelemetry para capturar traces, logs e métricas de cada chamada de LLM, etapa de agente e uso de ferramenta.

AI Gateway

Visão geral

O Vercel AI SDK oferece kits de ferramentas em TypeScript e Python para criar aplicações com IA, com suporte a streaming, ferramentas e vários modelos. O SDK TypeScript também pode se conectar ao AI Gateway do Toqan Router por meio do @ai-sdk/openai-compatible, dando acesso a mais de 500 modelos com a configuração de um único provider.

Principais benefícios

O AI Gateway do Toqan Router aprimora suas aplicações Vercel AI com:

Observabilidade completa

Acompanhe cada geração, stream e saída estruturada com traces detalhados

Confiabilidade integrada

Fallbacks automáticos, novas tentativas e balanceamento de carga para resiliência em produção

Otimização de custos

Rastreamento de custos em tempo real e gestão de gastos em todas as suas operações de IA

Acesso a vários provedores

Acesse mais de 500 LLMs e mais de 30 provedores por meio de uma única integração unificada

Pré-requisitos

Antes de integrar o Vercel AI ao Toqan Router, verifique se você tem:
  • Uma conta no Toqan Router e uma chave de API
  • Node.js 18 ou superior
Para configurar sua chave de API, consulte Chaves de API e endpoints.

Instalação

Configuração

Configure o provider do Toqan Router com sua chave de API:
TypeScript
base_url: https://router.toqan.ai/eu/v3/router

Geração de texto

TypeScript

Respostas em streaming

TypeScript

Saída estruturada

Use um system prompt em JSON e faça o parse da resposta:
TypeScript

Seleção de modelo

Com o Toqan Router, você pode usar qualquer modelo compatível de mais de 30 provedores:
TypeScript

Esforço de raciocínio com a Responses API

Ao chamar o endpoint Responses do AI Gateway por meio do @ai-sdk/openai, o SDK só envia reasoning se reconhecer o ID do modelo como um modelo de raciocínio da OpenAI. Um prefixo provider/, como em openai/gpt-5.6-sol, não passa nessa verificação; assim, reasoningEffort é descartado sem erro e o modelo é executado com seu esforço padrão. Defina forceReasoning: true (@ai-sdk/openai 3.x e posteriores) ou passe o ID do modelo sem prefixo. O AI Gateway encaminha um ID sem prefixo para a oferta do próprio desenvolvedor do modelo, então gpt-5.6-sol é encaminhado como openai/gpt-5.6-sol. No @ai-sdk/openai 2.x (AI SDK v5), apenas o ID sem prefixo funciona.
TypeScript

Observabilidade

Primeiros passos

As duas implementações do Vercel AI SDK oferecem suporte ao OpenTelemetry, capturando execuções de agentes, chamadas de modelos, execuções de ferramentas, uso de tokens e erros. Exporte esses traces para o Toqan Router apontando um exportador OTLP padrão do OpenTelemetry para o coletor do Toqan Router: no SDK Python, pelo adaptador OpenTelemetry experimental_telemetry, e no SDK TypeScript, pelo pacote @ai-sdk/otel.
O AI SDK para TypeScript v7 moveu a coleta do OpenTelemetry do pacote ai para o pacote separado @ai-sdk/otel. Os spans só são emitidos depois que uma integração de telemetria é registrada com registerTelemetry. Definir apenas experimental_telemetry: { isEnabled: true } não emite nada na v7, então os traces nunca chegam ao Toqan Router. Consulte TypeScript AI SDK para a configuração da v7.
No momento, a Vercel classifica a telemetria em Python como experimental. A API e os atributos de span emitidos podem mudar entre versões.

Pré-requisitos

Antes de começar, verifique se você tem:
  • Uma conta no Toqan Router e uma chave de API.
  • Vercel AI SDK para TypeScript v7+, ou da v3.1 à v6 para a configuração legada. Vercel AI SDK para Python 0.4+.
  • Node.js 18+ (ou Bun 1.3.5+) para TypeScript, ou Python 3.12+ para Python.
  • Chaves de API dos seus provedores de LLM (OpenAI, Anthropic etc.).

Instale as dependências

O extra otel adiciona o adaptador OpenTelemetry da Vercel. Substitua anthropic pelo extra do provedor que a aplicação usa, como openai.

Configure o ambiente de telemetria do TypeScript

Configure suas variáveis de ambiente para se conectar ao coletor OpenTelemetry do Toqan Router: Unix/Linux/macOS:
Windows (PowerShell):
Usando um arquivo .env:

Integrações

Python AI SDK

O SDK Python mapeia sua telemetria para o OpenTelemetry por meio de um OtelAdapter. Configure um TracerProvider padrão do OpenTelemetry que exporte para o coletor do Toqan Router e registre o adaptador uma única vez na inicialização:
Python
register() instala o adaptador globalmente, de modo que toda execução de agente, chamada de modelo e execução de ferramenta posterior seja rastreada. capture_content=True inclui o conteúdo das mensagens nos spans. Chame provider.force_flush() antes que um script de curta duração termine, para que os spans em buffer sejam enviados. IDs de modelo no formato provider:model chamam o provedor diretamente usando a chave de API dele, como ANTHROPIC_API_KEY. IDs no formato provider/model são encaminhados pelo Vercel AI Gateway e exigem AI_GATEWAY_API_KEY.

TypeScript AI SDK

A configuração de telemetria varia conforme a versão principal. Na v7 e posteriores, a coleta do OpenTelemetry fica no pacote @ai-sdk/otel e é registrada uma única vez na inicialização. Na v6 e anteriores, ela é ativada por chamada por meio de experimental_telemetry.
Na v7, experimental_telemetry sozinho não emite spans. isEnabled controla uma integração registrada em vez de instalar uma; portanto, sem registerTelemetry não há nada a controlar e a chamada não produz nenhuma telemetria.
Os exemplos desta seção chamam diretamente o provider openai do @ai-sdk/openai. Isso envia as solicitações para a OpenAI sem passar pelo AI Gateway. Para encaminhar pelo Toqan Router, substitua openai pelo provider do @ai-sdk/openai-compatible, como mostrado na seção Geração de texto acima.
Registre o exportador OTLP e, em seguida, registre a integração de telemetria do AI SDK uma única vez na inicialização. Esta é a configuração para Next.js, em que o framework chama register() a partir do seu hook de instrumentação. Para Node.js standalone, conecte o exportador com NodeSDK, como mostrado em Captura de agentes e ferramentas.
Passe tracer: trace.getTracer('ai'). Caso contrário, o @ai-sdk/otel nomeia seu tracer como gen_ai, que é o namespace genérico do OpenTelemetry, e não um marcador do AI SDK. O Toqan Router identifica o framework a partir desse escopo de instrumentação; sem ele, os traces são atribuídos ao OpenTelemetry genérico, e os agentes e ferramentas criados não são vinculados às suas execuções, tokens e custos.
O registro é global e do tipo opt-out: depois dele, toda chamada do AI SDK emite spans, sem necessidade de flag por chamada.
As opções por chamada continuam valendo por meio de experimental_telemetry (ou do alias telemetry). Defina isEnabled: false para suprimir uma única chamada, recordInputs ou recordOutputs como false para manter prompts ou respostas fora dos spans e functionId para nomear a operação. functionId se torna gen_ai.agent.name no span invoke_agent, que é o que o Toqan Router registra como agente.
OpenTelemetry emite as convenções semânticas GenAI do OpenTelemetry (atributos gen_ai.*). O @ai-sdk/otel também exporta LegacyOpenTelemetry, que emite os atributos ai.* da v6. O Toqan Router ingere ambos. Para ver todas as opções de integração, consulte a documentação de telemetria do AI SDK. Ative a telemetria por chamada por meio da opção experimental_telemetry:
Aqui, o principal para ativar a telemetria é incluir o seguinte payload ao gerar texto. Isso pode ser usado em todos os casos.

Captura de agentes e ferramentas

Agentes, ferramentas e modelos são derivados dos spans e exibidos em Agent Graphs.

Instalação

Configuração

TypeScript
registerTelemetry é obrigatório no AI SDK v7 e posteriores. Na v6 e anteriores, omita-o e passe experimental_telemetry: { isEnabled: true } em cada chamada.

Detecção de agentes

O exemplo abaixo chama diretamente o provider openai do @ai-sdk/openai, sem passar pelo AI Gateway. Substitua openai pelo provider do @ai-sdk/openai-compatible para encaminhar pelo Toqan Router.
O Vercel AI SDK não tem uma forma integrada de marcar um span como agente. Para capturar agentes, use instrumentação manual do OpenTelemetry com tracer.startActiveSpan(). O nome do span (por exemplo, "translator-agent") se torna o nome do agente. Essa abordagem captura ferramentas e modelos junto com o span do agente.
O exemplo abaixo é para o AI SDK v7. Na v6 e anteriores, remova registerTelemetry e adicione isEnabled: true ao bloco experimental_telemetry.
Captura: agent/translator-agent, tool/translate, model/gpt-5.6-sol
TypeScript