Oi, Igo! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
Ficou bem bacana a forma organizada como separou as responsabilidades em funções e automatizou a leitura, geração de respostas e gravação em CSV.
Um ponto importante para melhorar é evitar criar o cliente da API e fazer imports repetidos dentro da função, além de tratar as perguntas com strip() para remover quebras de linha vindas do arquivo. Isso deixa o código mais eficiente e previsível.
Uma dica interessante para o futuro é centralizar a criação do cliente e já ler as perguntas tratadas, integrando essa melhoria no fluxo:
from groq import Groq
def ler_perguntas(caminho):
with open(caminho, "r", encoding="utf-8") as arquivo:
return [linha.strip() for linha in arquivo if linha.strip()]
def perguntar_para_groq(client, pergunta):
completion = client.chat.completions.create(
model="openai/gpt-oss-20b",
messages=[{
"role": "user",
"content": f"Responda de forma resumida em uma unica linha: {pergunta}"
}],
stream=True
)
partes = []
for chunk in completion:
texto = chunk.choices[0].delta.content
if texto:
partes.append(texto)
return {"pergunta": pergunta, "resposta": "".join(partes)}
client = Groq()
perguntas = ler_perguntas("perguntas.txt")
respostas = [perguntar_para_groq(client, p) for p in perguntas]
Esse código lê o arquivo removendo linhas vazias, cria o cliente apenas uma vez e reutiliza ele para montar cada resposta por streaming.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!