ChatGPT ist wirklich ein heißer Scheiß. Daher hier auch von mir ein Beitrag wie man die API mit Python verwenden kann. Als Beispiel wollen wir die Lesbarkeit eines Textes ermitteln.
Erst mal anmelden:
openai.api_key
-Variable setzt:import openai
openai.api_key = "DEIN_API_SCHLÜSSEL"
Halt stopp. Bevor es zum Python Code geht. Wir benötigen ein paar Bibliotheken über PIP. Da wir das Jahr 2023 schreiben pumpt man dich die nicht mehr einfach so rein. Statt dessen verwendet man virtuelle Umgebungen. Hier mal kurz wie das geht:
mkdir mein-projekt
cd mein-projekt
python3 -m venv env
source env/bin/activate
pip install openai requests
Nachdem wir alle benötigten Bibliotheken installiert haben, können wir die ChatGPT-API verwenden, um die Lesbarkeit von Texten in deutscher Sprache zu ermitteln. Hier ist ein Beispielprogramm, das den Text an die API sendet und die Lesbarkeit des Textes berechnet:
import openai
openai.api_key = "DEIN_API_SCHLÜSSEL"
# Der Text, den du überprüfen möchtest
text = "Hier steht dein Text"
# Promt-Text,der an die API gesendet wird
prompt = f"Lesbarkeit von Text auf Deutsch: {text}\n"
# Führe den API-Aufruf durch
completions = openai.Completion.create(
engine="text-davinci-002",
prompt=prompt,
max_tokens=1,
n=1,
stop=None,
temperature=0.0,
)
# Überprüfe die Antwort und gib das Ergebnis aus
if completions.status == 200:
message = completions.choices[0].text.strip()
print(f"Die Lesbarkeit des Textes ist {message}")
else:
print("Fehler bei der API-Anfrage.")
Nicht viel Code. Aber was bedeuten diese ganzen Parameter?
engine
(Pflichtparameter): Hier geben Sie den Namen des OpenAI-Modells an, das Sie verwenden möchten. Das Standardmodell ist davinci. Wir verwenden aber die Version “text-davinci-002”. Sie ist eine spezifische Konfiguration des DaVinci-Modells, die für Textgenerierungsaufgaben optimiert wurde. Es hat eine geringere Neuronenzahl als DaVinci und ist daher schneller und effektiver in der Analyse von Texten.prompt
(Pflichtparameter): Dies ist der Text, den Sie an das Modell senden möchten. In unserem Beispiel fragen wir, ob der Text gut lesbar ist.temperature
(optional): Dieser Parameter steuert die Kreativität und Unvorhersehbarkeit der Ausgabe. Ein niedriger Wert (in der Regel zwischen 0 und 1) führt zu einer konservativeren, vorhersehbareren Ausgabe, während ein höherer Wert zu einer kreativeren, unvorhersehbareren Ausgabe führt. Wir setzen diesen Wert auf 0,0, um eine klare, vorhersehbare Antwort zu erhalten.max_tokens
(optional): Dies ist die maximale Anzahl von Token, die das Modell generieren darf. In unserem Fall benötigen wir nur eine Antwort (entweder “Ja” oder “Nein”), daher setzen wir diesen Wert auf 1.n
(optional): Dies ist die Anzahl der Ausgaben, die das Modell generieren soll. Wir benötigen nur eine Ausgabe, daher setzen wir diesen Wert auf 1.stop
(optional): Hier können Sie eine Liste von Tokens angeben, nach denen das Modell mit der Ausgabe aufhört. In unserem Fall benötigen wir keine Stop-Tokens.timeout
(optional): Die maximale Anzahl von Sekunden, die das Modell auf eine Anfrage antworten kann, bevor es abgebrochen wird. Wir setzen diesen Wert auf 20 Sekunden.Insgesamt kaum zu glauben was mit der API alles kostenlos möglich ist. Früher hat man sich hier eine abgebrochen.
Wenn man die Daten als JSON strukturiert zurückhaben will kann man den Prompt-Text anpassen:
prompt = f"Analysiere die Lesbarkeit folgenden deutschen Textes und gebe die Ergebnisse als strukturiertes JSON zurück: {text}\n"
Dann kommt sowas zurück:
{
text": "Heute ist ein schöner Tag",
"character_count": 25,
"word_count": 5,
"sentence_count": 1,
"syllable_count": 9,
"average_words_per_sentence": 5.0,
"average_syllables_per_word": 1.8,
"flesch_reading_ease": 116.09,
"flesch_kincaid_grade_level": -2.7,
"smog_index": 3.1,
"automated_readability_index": -1.6,
"coleman_liau_index": 6.17
}
Mit json.loads() kann man dann die Daten parsen und weiterverwenden.
Als erster einen Kommentar schreiben.
Schreibe einen Kommentar