1
resposta

Novo SDK CHAT GPT

Não consegui fazer do jeito que tava no curso, fui tentando e consegui com a ajuda do próprio GPT, porém não sei se tem algum erro ou problema de vulnerabilidade. Ficou assim:


        var client = new OpenAIClient("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");
        var chatClient = client.GetChatClient("gpt-4o-mini");
        var messages = new List<ChatMessage>
        {
            new SystemChatMessage("Você é um redator de resumos musicais com estilo informal."),
            new UserChatMessage($"Resuma a banda {nomeDaBanda} em 1 parágrafo de forma descontraída.")
        };
        var chatResponse = chatClient.CompleteChatAsync(messages).GetAwaiter().GetResult();
        string resumo = chatResponse.Value.Content[0].Text;
        banda.Resumo = resumo;

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Olá amigo.
Se você está usando a API da OpenAI em um projeto C#, é comum se deparar com soluções que funcionam, mas que apresentam falhas sérias de segurança, desempenho e manutenção.
Abaixo, um resumo direto dos principais problemas e como resolvê-los.
1. Chave da API exposta no código
Guardar a chave da OpenAI diretamente no código-fonte é um erro crítico de segurança. Qualquer um com acesso ao código pode usar sua conta e gerar custos indevidos.
Solução: Use variáveis de ambiente ou arquivos de configuração como appsettings.json para armazenar a chave de forma segura.
2. Uso de .GetAwaiter().GetResult()
Esse padrão bloqueia a thread atual e pode causar travamentos, especialmente em aplicações web ou assíncronas.
Solução: Prefira sempre usar await com métodos assíncronos, garantindo melhor performance e evitando deadlocks.
3. Falta de tratamento de erro
Assumir que a resposta da API sempre virá corretamente pode levar a exceções em tempo de execução, caso o retorno venha vazio ou malformado.
Solução: Verifique se a resposta contém conteúdo antes de acessar os dados. Use try/catch quando necessário.
4. Prompt básico
Embora um prompt simples funcione, ele pode gerar respostas genéricas ou inconsistentes.
Solução: Aprimore o prompt especificando estilo, público-alvo ou formato de resposta esperado para obter resultados mais consistentes.
5. SDK e modelo
Usar SDKs ou nomes de modelos incorretos pode causar falhas ou uso inesperado de recursos.
Solução: Certifique-se de estar usando um SDK atualizado e modelos compatíveis com sua conta.
Analisa os pontos citados acima,faz as correções e compartilha o resultado conosco.
E caso fique alguma duvida só chamar!
Bons estudos.