import pandas as pd
!pip install groq
from groq import Groq
from google.colab import userdata
groq_api_key = userdata.get('Groq')
client = Groq(api_key=groq_api_key)
df = pd.read_csv("novo_reviews.csv")
print("Available columns:", df.columns.tolist())
def classificar_sentimento(review):
prompt = f"""
Classifique o sentimento da avaliação abaixo em apenas uma palavra:
Positivo, Negativo ou Neutro.
Avaliação: {review}
"""
resposta = client.chat.completions.create(
model="llama-3.3-70b-versatile",
messages=[
{"role": "user", "content": prompt}
],
temperature=0
)
return resposta.choices[0].message.content.strip().capitalize()
df["Sentimento"] = df["reviewText"].apply(classificar_sentimento)
print(df.head())
df.to_csv(
"Reviews_Classificadas.csv",
index=False,
encoding="utf-8"
)
print("Arquivo Reviews_Classificadas.csv gerado com sucesso!")
Requirement already satisfied: groq in /usr/local/lib/python3.12/dist-packages (1.4.0)
Requirement already satisfied: anyio<5,>=3.5.0 in /usr/local/lib/python3.12/dist-packages (from groq) (4.13.0)
Requirement already satisfied: distro<2,>=1.7.0 in /usr/local/lib/python3.12/dist-packages (from groq) (1.9.0)
Requirement already satisfied: httpx<1,>=0.23.0 in /usr/local/lib/python3.12/dist-packages (from groq) (0.28.1)
Requirement already satisfied: pydantic<3,>=1.9.0 in /usr/local/lib/python3.12/dist-packages (from groq) (2.12.3)
Requirement already satisfied: sniffio in /usr/local/lib/python3.12/dist-packages (from groq) (1.3.1)
Requirement already satisfied: typing-extensions<5,>=4.14 in /usr/local/lib/python3.12/dist-packages (from groq) (4.15.0)
Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.12/dist-packages (from anyio<5,>=3.5.0->groq) (3.18)
Requirement already satisfied: certifi in /usr/local/lib/python3.12/dist-packages (from httpx<1,>=0.23.0->groq) (2026.5.20)
Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.12/dist-packages (from httpx<1,>=0.23.0->groq) (1.0.9)
Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.12/dist-packages (from httpcore==1.*->httpx<1,>=0.23.0->groq) (0.16.0)
Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.12/dist-packages (from pydantic<3,>=1.9.0->groq) (0.7.0)
Requirement already satisfied: pydantic-core==2.41.4 in /usr/local/lib/python3.12/dist-packages (from pydantic<3,>=1.9.0->groq) (2.41.4)
Requirement already satisfied: typing-inspection>=0.4.2 in /usr/local/lib/python3.12/dist-packages (from pydantic<3,>=1.9.0->groq) (0.4.2)
Available columns: ['reviewerID', 'asin', 'reviewerName', 'reviewText', 'unixReviewTime', 'reviewTime', 'day_diff', 'helpful_yes', 'total_vote']
reviewerID asin reviewerName
0 A2FII3I2MBMUIA B007WTAJTO 1K3
1 A3H99DFEG68SR B007WTAJTO 1m2
2 A375ZM4U047O79 B007WTAJTO 2&1/2Men
3 A2IDCSC6NVONIZ B007WTAJTO 2Cents!
4 A26YHXZD5UFPVQ B007WTAJTO 2K1Toaster
reviewText unixReviewTime \
0 it works as expected. I should have sprung for... 1356220800
1 This think has worked out great.Had a diff. br... 1384992000
2 Bought it with Retail Packaging, arrived legit... 1373673600
3 It's mini storage. It doesn't do anything els... 1367193600
4 I have it in my phone and it never skips a bea... 1382140800
reviewTime day_diff helpful_yes total_vote Sentimento
0 23/12/2012 715 0 0 Neutro.
1 21/11/2013 382 0 0 Positivo.
2 13/07/2013 513 0 0 Positivo.
3 29/04/2013 588 0 0 Positivo.
4 19/10/2013 415 0 0 Positivo.
Arquivo Reviews_Classificadas.csv gerado com sucesso!