Boa tarde galera, estou estudando IA aqui pela alura e teve um desafio da aula que eu completei mas achei meio estranho como ficou o codigo, alguem ai poderia me informar se ele esta bom ou se esta esquisito ?
Tive que utilizar esse OS e outras chamadas pq eu salvei a chave no powesell mesmo pra nao ter que ficar mostrando ela.
Crar um arquivo txt a partir de uma lista de perguntas vindas de uma lista em python
Ler as perguntas desse arquivo .txt e salvalas em uma lista python
Obter resposas de um LLM para cada uma.
Salvar os resultados em um novo arquivo .csv
Ler o arquivo .csv usando Pandas
import os
from dotenv import load_dotenv
import pandas as pd
from groq import Groq
lista_de_perguntas = [
"Do que e composta a agua? respostas curtas ",
"Qual a materia prima do ferro? respostas curtas",
"Com quantos anos pode tirar carta de motorista no basil? respostas curtas",
"Quantos planetas tem no sistema solar? respostas curtas",
"Qual o planeta mais longe da terra? respostas curtas",
"Qual o maior animal que vive no mar? respostas curtas",
"Qual maior arvore do mundo? respostas curtas",
"Qual a estrela mais proxima do sol? respostas curtas",
"Quais sao os ingredientes pra fazer um bolo de chocolate? respostas curtas",
"Quantos litros de agua uma pessoa deve tomar por dia? respostas curtas",
"Qual maior animal da terra ? respostas curtas"
]
with open("pergunta.txt", "w", encoding="utf-8") as arquivo:
for item in lista_de_perguntas:
arquivo.write(item + "\n") # Ecreve cada item e pula linha
with open("pergunta.txt", "r", encoding="utf-8") as arquivo:
lista_lida = [linha.strip() for linha in arquivo.readlines()]
print(lista_lida)
load_dotenv() #Carrega as variavies do arquivo .env
respostas = []
for pergunta in lista_lida:
api_key = os.environ.get("GROQ_API_KEY")
client = Groq(api_key=api_key)
completion = client.chat.completions.create(
model="openai/gpt-oss-20b",
messages=[
{
"role": "user",
"content": pergunta
}
],
temperature=1, #Conceito de IA que define quao criativo vai ser. valor 0 e o menos criativo possivel e 2 o mais criativo possivel
max_completion_tokens=8192,
top_p=1,
reasoning_effort="medium",
stream=False,
stop=None
)
resposta = completion.choices[0].message.content
respostas.append(resposta)
print(f"Pergunta: {pergunta}\nResposta: {resposta}\n---")
df = pd.DataFrame({
"Pergunta": lista_lida,
"Resposta": respostas
})
df.to_csv("respostas.csv", index=False, encoding="utf-8")