Integração TrueFoundry com Smallest AI

Built for Speed: ~10ms Latency, Even Under Load
Blazingly fast way to build, track and deploy your models!
- Handles 350+ RPS on just 1 vCPU — no tuning needed
- Production-ready with full enterprise support
Smallest AI e TrueFoundry AI Gateway
Os modelos de texto para fala e fala para texto da Smallest AI integram-se com o TrueFoundry AI Gateway através de passagem nativa. As requisições fluem para os endpoints REST da Smallest AI para síntese e transcrição em lote e os correspondentes fluxos de eventos enviados pelo servidor e endpoints WebSocket para saída de áudio em blocos e transcrição ao vivo. O gateway substitui o token Bearer da Smallest AI do seu armazenamento de credenciais e aplica controle de acesso e emite spans OpenTelemetry antes de fazer o proxy da requisição ou atualizar o WebSocket.
Esta publicação aborda a superfície da API da Smallest AI nas famílias TTS e STT. Também aborda como o plano do gateway lida com o caminho de passagem nativa para endpoints de voz não compatíveis com OpenAI.

O que a Smallest AI expõe
Smallest AI oferece duas famílias de modelos. Lightning é a família de texto para fala. Pulse é a família de fala para texto. Ambos funcionam como endpoints REST para uso em lote e como endpoints WebSocket para uso em streaming.
Lightning v3.1 é um modelo TTS de 44 kHz com um tempo publicado para o primeiro áudio inferior a 100 ms. Ele suporta 15 idiomas com forte cobertura indiana, incluindo hindi, tâmil, telugu, malaiala, canarim, marata e guzerate, juntamente com inglês, espanhol, francês, alemão, italiano, português, sueco e holandês. O modelo usa uma arquitetura não autorregressiva que gera segmentos de fala inteiros em paralelo, em vez de token por token. Isso é o que produz o perfil de latência e o que permite que o modelo seja executado com menos de 1 GB de VRAM, o que torna a implantação local prática para ambientes regulamentados.
O modelo é exposto através de três formatos de endpoint.
- POST https://waves/v1/lightning-v3.1/get_speech.
- Este é um endpoint de lote síncrono que retorna o arquivo de áudio completo no corpo da resposta. Ele aceita formatos de saída MP3, PCM, WAV, mulaw ou alaw e suporta taxas de amostragem de 8000 Hz a 44100 Hz.
- Ele aceita um parâmetro voice_id e um parâmetro de velocidade entre 0.5x e 2x e um array opcional pronunciation_dicts para substituições de léxico personalizadas.
- Ele também suporta identificadores de correlação session_id e request_id que são retornados nos cabeçalhos da resposta como X-External-Session-Id e X-External-Request-Id. Estes passam pelo gateway inalterados, o que é útil para a correlação de rastreamento de ponta a ponta.
- POST https://waves/v1/lightning-v3.1/get_speech/stream.
- Este é o fluxo de eventos enviados pelo servidor que emite blocos de áudio progressivamente à medida que o modelo os gera.
- WSS /waves/v1/lightning-v3.1/get_speech/stream.
- Esta é a conexão WebSocket persistente que entrega blocos de áudio à medida que são produzidos.
- A conexão é reutilizável em várias requisições TTS, assim o custo de estabelecimento da conexão é amortizado.
Pulse é a contraparte STT. Ele funciona em dois formatos. POST /waves/v1/pulse/get_text lida com áudio pré-gravado em lote. WSS /waves/v1/pulse/get_text lida com transcrição de streaming ao vivo. O endpoint de streaming aceita quadros de áudio a 8000, 16000, 22050, 24000, 44100 ou 48000 Hz com linear16 como codificação padrão. Ele suporta 36 idiomas com troca de código habilitada através de language=multi.
As partes interessantes do protocolo de streaming Pulse para uma integração que fica atrás de um gateway são os controles de conteúdo inline. redact_pii=true remove informações de identificação pessoal de transcrições finalizadas antes que elas saiam do Smallest AI. redact_pci=true remove informações de cartão de pagamento, incluindo números de cartão, códigos CVV, códigos postais e números de conta. diarize=true habilita a diarização de locutor. keywords aceita uma lista de frases separadas por vírgulas com valores intensificadores opcionais para aumentar o reconhecimento de terminologia específica do domínio, como nomes de produtos ou nomes de medicamentos. itn_normalize=true habilita a Normalização Inversa de Texto, que converte numerais, datas e moedas falados em sua forma escrita em transcrições finalizadas. Os parâmetros de redação são importantes porque eles empurram a aplicação da privacidade para a camada do modelo, em vez de exigir uma barreira de proteção a jusante para limpar a transcrição posteriormente.
Modelo de concorrência. O Smallest AI expõe uma superfície de concorrência incomum que vale a pena entender antes de construir sobre ela. Uma unidade de concorrência corresponde a uma solicitação TTS ativa que pode ser processada a qualquer momento. Até três conexões WebSocket podem ser estabelecidas por unidade de concorrência para TTS. Assim, um locatário com três unidades de concorrência pode manter nove conexões WebSocket abertas, mas apenas três delas podem ter uma geração ativa em andamento simultaneamente. Solicitações adicionais enviadas através de qualquer conexão enquanto no limite de concorrência são rejeitadas com um erro, em vez de serem enfileiradas. Isso é diferente do modelo típico de token por minuto ou solicitação por minuto e tem implicações para como o limitador de taxa do gateway deve ser configurado. Para STT, uma unidade de concorrência é uma conexão websocket.

Passagem nativa através do plano do gateway

O TrueFoundry AI Gateway é construído sobre o framework Hono e funciona como uma frota de pods sem estado. Um único pod com 1 vCPU e 1 GB de RAM lida com mais de 250 RPS com aproximadamente 3 ms de latência adicionada. O plano de controle gerencia a configuração em PostgreSQL e ClickHouse e propaga atualizações para os pods do gateway via NATS. Os pods do gateway armazenam essa configuração em cache na memória, de modo que o caminho da solicitação não faz chamadas externas para autenticação, autorização ou decisões de roteamento.
Para provedores compatíveis com OpenAI, o gateway traduz entre o formato OpenAI de entrada e o formato nativo do provedor dentro de um adaptador. O Smallest AI não se encaixa nessa tradução porque a API de Áudio do OpenAI não tem equivalente para os parâmetros voice_id, pronunciation_dicts e session_id do Smallest AI, e nenhum equivalente para o protocolo de streaming WebSocket que entrega a saída de áudio em blocos do Lightning. O gateway, portanto, expõe o Smallest AI através de passagem nativa.
Quando uma solicitação do Smallest AI atinge um pod do gateway, o pipeline de pré-encaminhamento executa as mesmas verificações que são executadas para conclusões de chat. O JWT apresentado na solicitação é validado contra chaves públicas IdP em cache, sem chamadas de autenticação externas. A autorização é verificada contra o mapa em memória de usuários para modelos. O identificador do modelo (lightning-v3.1 ou pulse) é resolvido para a conta Smallest AI configurada. O cabeçalho de Autorização de entrada é removido e substituído pelo token Bearer recuperado do armazenamento de credenciais. A URL encaminhada torna-se https://api.smallest.ai/... com o caminho e o método correspondentes preservados. O corpo é transmitido sem alterações. Para os endpoints WebSocket, o gateway executa um handshake de HTTP Upgrade contra a URL WebSocket do Smallest AI. Após o sucesso do upgrade, o gateway mantém duas conexões WebSocket (uma com o cliente e outra com o Smallest AI) e faz o proxy dos frames em ambas as direções sem interpretar os payloads. Os cabeçalhos de eco X-External-Session-Id e X-External-Request-Id são passados intactos para o chamador.
Após a conclusão da solicitação, o gateway publica um span no NATS contendo duração, status, o nome do modelo resolvido e os metadados de custo. O exportador OTEL lê do caminho assíncrono e encaminha o span para o backend configurado via gRPC ou HTTP. O serviço agregador acumula dados de custo por usuário, por equipe e por modelo.
A superfície de integração

Adicionar o Smallest AI ao TrueFoundry AI Gateway é um processo de três etapas no painel. Navegue até AI Gateway e, em seguida, Modelos e selecione Smallest AI. Adicione uma conta inserindo um nome de conta exclusivo e o token Bearer do Smallest AI. O token é armazenado criptografado no plano de controle e nunca é exposto diretamente aos pods do gateway. Opcionalmente, adicione colaboradores, o que controla quais usuários e equipes podem rotear através desta conta. Em seguida, registre um ou mais modelos clicando em Adicionar Modelo e fornecendo o Nome de exibição, ID do modelo e Tipo de modelo. O ID do modelo deve corresponder exatamente ao identificador do modelo Smallest AI (lightning-v3.1 ou lightning-v2 ou pulse).
A inferência usa o SDK Python do Smallest AI ou qualquer cliente HTTP com a URL do gateway substituída como a URL base. Um cliente Python se parece com o seguinte.
import requests
response = requests.post(
"https://<your-gateway-host>/smallest/waves/v1/lightning-v3.1/get_speech",
headers={
"Accept": "audio/wav",
"Authorization": f"Bearer {TFY_API_KEY}",
"Content-Type": "application/json",
},
json={
"text": "Welcome to the support line. Please describe your issue.",
"voice_id": "daniel",
"sample_rate": 24000,
"speed": 1.0,
"output_format": "wav",
"language": "en",
},
)
with open("response.wav", "wb") as f:
f.write(response.content)
A mesma estrutura funciona para o endpoint SSE, alterando o caminho e lendo a resposta como um stream. O endpoint WebSocket funciona através de qualquer cliente WebSocket padrão, apontando para a URL do gateway com o esquema wss. O JWT emitido pelo TrueFoundry substitui o token Bearer do Smallest AI no cabeçalho de Autorização. O cliente Smallest AI vê o mesmo payload de resposta e cabeçalhos que veria ao se comunicar diretamente com o Smallest AI, porque o gateway preserva os caminhos da URL e as estruturas de resposta, incluindo os cabeçalhos de correlação X-External-Session-Id e X-External-Request-Id.
Resumo da arquitetura
O fluxo de dados de ponta a ponta é direto. Um cliente abre uma solicitação HTTP ou um WebSocket contra a URL do gateway usando o SDK Python do Smallest AI ou um cliente HTTP e WebSocket genérico. O pod do gateway autentica o JWT contra chaves públicas IdP em cache e resolve o identificador do modelo para a conta Smallest AI configurada. Ele remove o cabeçalho de autenticação de entrada e substitui o token Bearer do armazenamento de credenciais. Ele encaminha a solicitação para https://api.smallest.ai ou atualiza o WebSocket para a URL wss:// correspondente. Para sessões WebSocket, ele faz a ponte dos frames em ambas as direções até que um dos lados feche a conexão. Após a conclusão, o gateway publica um span no NATS que alimenta o exportador OTEL e o agregador de custos.
O que não é exigido é significativo. Não há um fork do SDK do Smallest AI. Não há uma camada de tradução entre o formato de Áudio do OpenAI e os parâmetros voice_id e pronunciation_dicts do Smallest AI que perderia informações na fronteira. Não há um pipeline de rastreamento sombra para tráfego de voz separado do pipeline de tráfego de chat. Não há um token Bearer por serviço distribuído pelo código do aplicativo ou segredos do Kubernetes. Não há um terminador WebSocket separado que precise ser implantado junto com o gateway para aplicar controle de acesso aos endpoints de streaming. Os parâmetros de redação PII e PCI do Pulse viajam pelo gateway intocados, o que mantém a aplicação da privacidade na camada do modelo, onde o pipeline de redação do Smallest AI é executado, em vez de fragmentá-la em uma barreira de proteção a jusante.
O princípio arquitetônico é a separação entre a semântica do protocolo e a semântica da governança. O streaming de áudio em blocos do Lightning e a transcrição de streaming do Pulse com redação inline carregam um significado de domínio de voz que não se generaliza para outros provedores. A camada de governança (autenticação e autorização e injeção de credenciais e observabilidade e agregação de custos e limitação de taxa no limite da equipe) é agnóstica ao provedor e funciona na frente de qualquer origem HTTP ou WebSocket sem inspecionar os payloads. A passagem nativa preserva o primeiro enquanto aplica o segundo. O resultado é que a superfície completa de recursos do Smallest AI (cobertura de 15 idiomas do Lightning e as vozes Indic e a redação PCI do Pulse e o modelo de concorrência explícito) está disponível para os clientes, enquanto as garantias operacionais que o restante do AI Gateway oferece para o tráfego de chat se aplicam ao tráfego de voz nos mesmos pods do gateway com o mesmo plano de controle e os mesmos backends de rastreamento e custo.
TrueFoundry AI Gateway delivers ~3–4 ms latency, handles 350+ RPS on 1 vCPU, scales horizontally with ease, and is production-ready, while LiteLLM suffers from high latency, struggles beyond moderate RPS, lacks built-in scaling, and is best for light or prototype workloads.
The fastest way to build, govern and scale your AI













.webp)






.webp)

.webp)
.webp)





.png)



