Source: https://aiprimetech.io/pt/docs/guides/best-practices/ [Início](/pt/) / [Documentação](/pt/docs/) / Boas práticas para produção # Boas práticas para produção O que precisa estar correto antes de uma integração receber tráfego real. Copiar página [ Ver como Markdown](/pt/docs/guides/best-practices.md) [ Perguntar ao ChatGPT](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/guides/best-practices.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ Perguntar no Claude](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/guides/best-practices.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) ## Confiabilidade - Repita as requisições para os códigos certos. 429, 500, 502, 503, 529 com espera exponencial e variação aleatória. Nunca repita cegamente 400, 401, 402 ou 403. - Defina tempos limite. Uma geração longa pode legitimamente levar minutos; um socket travado não deve travar também seu processo de trabalho. 120s é um limite razoável para chamadas sem streaming. - Limite a concorrência com um semáforo, em vez de disparar tudo e repetir as requisições rejeitadas. - Tenha um modelo de contingência. Se o modelo principal estiver sobrecarregado, recorrer a um modelo menor é melhor do que retornar um erro. ## Custo - Defina max_tokens em cada chamada. É um limite de gastos, não uma sugestão. - Direcione por tarefa — consulte [Controle de custos](/pt/docs/guides/cost-control/). - Ative [o cache de prompts](/pt/docs/guides/prompt-caching/) para obter prefixos estáveis. - Registre usage por requisição, com um rótulo de tarefa, para poder atribuir os gastos depois. ## Segurança - As chaves ficam em variáveis de ambiente ou em um gerenciador de segredos — nunca no repositório, nunca em um pacote do cliente. - Uma chave por serviço, para que a revogação seja pontual. - Nunca construa prompts concatenando entradas não confiáveis do usuário com instruções; mantenha o conteúdo do usuário em uma mensagem user e as instruções em system. - Trate a saída do modelo como não confiável. Não execute eval nem execute SQL gerado com uma função que tenha permissão de escrita. ## Observabilidade - Registre o modelo, a latência, usage, stop_reason e seu próprio tipo de tarefa em cada chamada. - Configure um alerta para a taxa de stop_reason: max_tokens — um aumento significa que as respostas estão sendo truncadas. - Acompanhe o custo por tipo de tarefa, não apenas o total. Os totais ocultam qual carga de trabalho piorou. O alerta mais valioso é o de truncamento, não o de erros. Uma resposta truncada retorna HTTP 200 e parece normal no monitoramento, embora esteja errada para o usuário. [ErrosSemântica de novas tentativas](/pt/docs/api-reference/errors/)[Limites de requisiçõesConcorrência](/pt/docs/api-reference/rate-limits/)[Controle de custosGestão de gastos](/pt/docs/guides/cost-control/) [AnteriorMigração da API da OpenAI](/pt/docs/guides/migration-from-openai/)[PróximoSolução de problemas](/pt/docs/guides/troubleshooting/)