from openai import OpenAI
chatgpt-sentiment-simple
textmining
nlp
transformer
chatgpt
sentiment
Aufgabe
Fragen Sie ChatGPT via API zum Sentiment des ersten Texts aus dem Germeval-2018-Datensatz (Train).
Hinweise:
- Beachten Sie die Standardhinweise des Datenwerks.
- Nutzen Sie Python, nicht R.
- Das Verwenden der OpenAI-API kostet Geld. 💸 Informieren Sie sich vorab. Um auf die API zugreifen zu können, müssen Sie sich ein Konto angelegt haben und über ein Guthaben verfügen.
Lösung
OpenAI hat eine neue API (Stand: 2023-11-23). Der Code der alten API bricht. 💔 \(\square\)
Module importieren:
Anmelden bei OpenAI:
= OpenAI() client
Note
Dieses Verfahren setzt voraus, dass in .Renviron
die Variable OPENAI_API_KEY
hinterlegt ist. \(\square\)
Textschnipsel, das zu klassifizieren ist:
= "@corinnamilborn Liebe Corinna, wir würden dich gerne als Moderatorin für uns gewinnen! Wärst du begeisterbar?" text
Prompt definieren:
= f"Analysieren Sie das Sentiment des folgenden Texts:\n{text}" my_prompt
Anfrage an die API, in eine Funktion gepackt:
def get_completion(prompt, client_instance, model="gpt-3.5-turbo"):
= [{"role": "user", "content": prompt}]
messages = client_instance.chat.completions.create(
response =model,
model=messages,
messages=50,
max_tokens=0,
temperature
)return response.choices[0].message.content
Und los:
get_completion(my_prompt, client)
'Basierend auf dem gegebenen Text kann das Sentiment als positiv eingestuft werden. Der Text drückt Interesse und Begeisterung aus, indem er Corinna Milborn als Moderatorin gewinnen möchte.'