
As equipes mudam por três motivos: custo, controle e dados. Você quer um endpoint privado, desempenho previsível e uma fatura que você possa explicar. A boa notícia é que você não precisa reconstruir seu aplicativo para chegar lá. Se seu cliente falar com a OpenAI hoje, você pode aponte-o para seu próprio servidor e mantenha a maior parte do seu código igual.
Experimente o Compute hoje
Quer um endpoint pronto? Lance um vLLM servidor ligado Computar, escolha uma região e obtenha um URL HTTPS que funcione com os SDKs do OpenAI. Altere o URL base e a chave em seu cliente e você estará ativo.
Compatibilidade não é um slogan. Isso significa que o servidor expõe as mesmas rotas e formas de carga útil: /v1/chat/completions, /v1/completions e streaming com eventos enviados pelo servidor. Você ainda envia modelo, mensagens, max_tokens, temperatura e o resto. Os erros devem seguir estruturas semelhantes para que seu tratamento existente continue funcionando.
Crie um pequeno mapa de modelo na configuração. Seu catálogo será diferente do OpenAI. Mantenha os nomes estáveis e os padrões do documento. Comece com configurações simples e seguras: temperatura 0,3—0,7, top_p 0,9 e tight max_tokens. Analise as sequências de parada, as penalidades de presença/frequência e quaisquer campos específicos do servidor.
Python
de openai import OpenAI
client = OpenAI (base_url=” https://YOUR-ENDPOINT/v1 “, API_key="your_key”)
resp = client.chat.completions.create (
model="f3-7b-instruct”, # exemplo
messages= [{"role” :"user”, "content” :"Escreva uma breve atualização de status. “}],
max_tokens = 200,
)
imprimir (resp.choices [0] .message.content)
Nodo
importar OpenAI de “openai”;
const client = new OpenAI ({baseUrl: "https://YOUR-ENDPOINT/v1 “, apiKey: process.env.key});
const resp = aguardar client.chat.completions.create ({
modelo: “f3-7b-instruct”,
mensagens: [{role: “user”, content: “Resuma as notas da reunião de ontem.”}],
máximo de tokens: 200
});
console.log (resp.choices [0] .message.content);
Mantenha sua lógica de repetição. Mantenha os tempos limite razoáveis. Registre o ID da solicitação (ou forneça um) para que você possa rastrear problemas no cliente e no servidor.
Use eventos enviados pelo servidor quando sua interface espera uma transmissão ao vivo. Teste os dois caminhos: fluxo feliz e cancelamentos abruptos. Verifique se as gerações parciais podem ser usadas se um usuário parar mais cedo. Certifique-se de que seu cliente decodifique os blocos corretamente e limpe os buffers entre as solicitações.
Atenha-se ao recuo exponencial com instabilidade. Torne as solicitações idempotentes sempre que possível. Prefira 429 para sinais de recuo e inclua uma dica sobre quando tentar novamente. No lado do servidor, defina limites com reconhecimento de tokens portanto, um bate-papo com grandes avisos não congela os outros.
A variação no orçamento vem de prompts longos e de max_tokens soltos. Tampe os dois. Transmita os resultados. Solicitações do sistema de cache. Se você usa RAG, mantenha os pedaços pequenos e relevantes. Fique atento às incompatibilidades de tokenização entre os SDKs.
Rastreamento métricas que importam: tempo até o primeiro token (TTFT) e tokens por segundo (TPS) para as mesmas tarefas em ambos os terminais. Um servidor autohospedado perto de seus usuários, com processamento em lote eficiente, deve melhorar ambos. Caso contrário, dimensione o hardware corretamente, reduza as solicitações e verifique a integridade do cache.
Decida o que você registra, por quanto tempo e quem pode lê-lo. Evite armazenar solicitações e saídas brutas, a menos que seja necessário. Use HTTPS. Gire as teclas. Se você opera na Europa, mantenha os dados na região e retenha e exclua os documentos.
Experimente o Compute
Endpoints de computação são HTTPS por padrão. Escolha a França para usuários da UE ou uma região dos Emirados Árabes Unidos para mercados próximos.
O streaming funciona da mesma maneira?
Sim, se o servidor oferecer suporte a eventos enviados pelo servidor para /chat/completions. Teste a decodificação de fragmentos e o comportamento de parada precoce em seu cliente.
E quanto às diferenças de tokenização?
Modelos diferentes usam tokenizadores diferentes. Mantenha o tokenizador e o modelo sincronizados e verifique novamente as contagens na matemática do seu orçamento.
Como faço para testar a compatibilidade rapidamente?
Execute um pequeno conjunto de solicitações de bate-papo em ambos os endpoints e compare respostas, latências e códigos de erro. Adicione um teste de streaming e um teste de tempo limite.
Posso manter os dados na UE?
Sim Hospede o endpoint em uma região da UE, use HTTPS, controle o acesso com chaves e listas de IP e defina limites de retenção.