2
respostas

[Dúvida] Analise de codigo

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")
2 respostas

Oi, Wolf! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Seu projeto ficou bem estruturado e mostra que você entendeu como integrar diferentes etapas do fluxo — desde a criação do arquivo .txt até a leitura do .csv com o Pandas. Isso demonstra domínio na manipulação de dados e uso de variáveis de ambiente com o dotenv, o que é uma boa prática.

Uma dica interessante para o futuro é usar o os.path.exists() para verificar se o arquivo existe antes de tentar ler ou sobrescrever.
Veja este exemplo:


import os

if os.path.exists("pergunta.txt"):
    print("O arquivo ja existe.")
else:
    print("O arquivo nao foi encontrado.")

Esse trecho checa se o arquivo está presente no diretório e evita erros ao tentar acessá-lo.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Boa tarde!

ótimo obrigado pela dica e pelo feedback, irei implementar essa parte pra verificar se já esta presente no diretório, agradeço.