Eu não estava conseguindo concluir os desafios pois minha quota estava acabando muito rápido, acabei optando pelo Groq que haviam mostrado em uma das aulas, meu código ficou assim:
import pandas as pd
from groq import Groq
arquivo_review = r"H:\Meu Drive\Cursos\Alura\Engenharia de IA\reviews.csv"
# Lendo o arquivo, armazenando o review em um df e criando uma lista vazia para armazenar os sentimentos
df_review = pd.read_csv(arquivo_review)
df_texto_review = df_review["reviewText"]
lista_sentimento = []
client = Groq()
# Utilizando a IA para classificar o sentimento do feedback
for review in df_texto_review:
messages = [
{
"role": "system",
"content": "Analise o review a seguir e classifique o review em 'Positivo', 'Negativo', 'Neutro': ",
},
{
"role": "user",
"content": review,
},
]
completion = client.chat.completions.create(
model="openai/gpt-oss-20b",
messages=messages,
temperature=0.0,
max_completion_tokens=8192,
top_p=1,
reasoning_effort="medium",
stream=False,
stop=None,
)
# Recebe o resultado da classificação e salva na variavel sentimento
sentimento = completion.choices[0].message.content.strip()
# Adiciona o sentimento em ordem, na lista
lista_sentimento.append(sentimento)
# Print para acompanhamento, pode comentar após perceber que está rodando bem
print(f"Review analisado: {sentimento}")
# Adiciona a lista criada pelo Groq ao DataFrame de Review criando a coluna 'sentimentoByGroq'
df_review["sentimentoByGroq"] = lista_sentimento
# Grava no csv o df e conclui a adição da coluna com a respectiva classificação feita pelo Groq
df_review.to_csv(arquivo_review, index=False)
print(f"O processo foi finalizado e o {arquivo_review} foi atualizado com sucesso")