Mit OpenAI, das jetzt Modelle bis zu GPT-4 Turbo unterstützt, haben Python-Entwickler die unglaubliche Gelegenheit, fortgeschrittene KI-Funktionen zu erkunden. Dieses Tutorial bietet eine ausführliche Einführung darüber, wie man die ChatGPT API in Python-Skripte integriert, führt Sie durch die ersten Einrichtungsphasen und leitet zu einer effektiven API-Nutzung.
Die ChatGPT API bezieht sich auf die Programmierschnittstelle, die Entwicklern ermöglicht, mit GPT-Modellen zu interagieren und für die Generierung von konversationalen Antworten zu nutzen. Es handelt sich tatsächlich nur um OpenAIs universelle API, die für alle ihre Modelle funktioniert.
Da GPT-4 Turbo fortgeschrittener und dreimal günstiger als GPT-4 ist, gab es nie eine bessere Zeit, diese leistungsstarke API in Python zu nutzen. Fangen wir an!
Einrichten Ihrer Umgebung
Um loszulegen, führen wir Sie durch das Einrichten Ihrer Umgebung zur Arbeit mit der OpenAI API in Python. Die ersten Schritte umfassen das Installieren der notwendigen Bibliotheken, das Einrichten des API-Zugangs und die Handhabung von API-Schlüsseln und Authentifizierung.
Installieren der notwendigen Python-Bibliotheken
Bevor Sie beginnen, stellen Sie sicher, dass Python auf Ihrem System installiert ist. Wir empfehlen die Verwendung einer virtuellen Umgebung, um alles organisiert zu halten. Sie können eine virtuelle Umgebung mit folgendem Befehl erstellen:
python -m venv chatgpt_env
Aktivieren Sie die virtuelle Umgebung, indem Sie ausführen:
chatgpt_env\Scripts\activate
(Windows)source chatgpt_env/bin/activate
(macOS oder Linux)
Als nächstes müssen Sie die erforderlichen Python-Bibliotheken installieren, einschließlich der OpenAI Python-Clientbibliothek zur Interaktion mit der OpenAI API und der python-dotenv-Paket zur Handhabung der Konfiguration. Um beide Pakete zu installieren, führen Sie folgenden Befehl aus:
pip install openai python-dotenv
Einrichten des OpenAI API-Zugangs
Um eine OpenAI API-Anfrage zu tätigen, müssen Sie sich zunächst bei OpenAI’s Plattform anmelden und Ihren eindeutigen API-Schlüssel generieren. Folgen Sie diesen Schritten:
- Besuchen Sie OpenAI’s API Key Seite und erstellen Sie ein neues Konto oder melden Sie sich an, wenn Sie bereits ein Konto haben.
- Sobald angemeldet, navigieren Sie zur API-Schlüssel-Sektion und klicken Sie auf Neuen geheimen Schlüssel erstellen.
- Kopieren Sie den generierten API-Schlüssel für die spätere Verwendung. Andernfalls müssen Sie einen neuen API-Schlüssel generieren, falls Sie ihn verlieren. Sie können API-Schlüssel über die OpenAI-Website nicht anzeigen.
Seite für OpenAI’s API-Schlüssel
Generierter API-Schlüssel, der jetzt verwendet werden kann
API-Schlüssel und Authentifizierung
Nachdem Sie Ihren API-Schlüssel erhalten haben, empfehlen wir, ihn als Umgebungsvariable für Sicherheitszwecke zu speichern. Verwenden Sie dazu das python-dotenv-Paket, um Umgebungsvariablen zu verwalten. Um eine Umgebungsvariable mit Ihrem API-Schlüssel einzurichten, führen Sie folgende Schritte aus:
-
Erstellen Sie eine Datei namens
.env
im Verzeichnis Ihres Projekts. -
Fügen Sie der
.env
Datei die folgende Zeile hinzu, ersetzen Sieyour_api_key
durch den tatsächlichen API-Schlüssel, den Sie zuvor kopiert haben:CHAT_GPT_API_KEY=your_api_key
. -
Laden Sie in Ihrem Python-Code den API-Schlüssel aus der
.env
Datei mithilfe derload_dotenv
Funktion aus dem python-dotenv-Paket:
import openai
from openai import OpenAI
import os
from dotenv import load_dotenv
# Laden des API-Schlüssels aus der .env-Datei
load_dotenv()
client = OpenAI(api_key=os.environ.get("CHAT_GPT_API_KEY"))
Hinweis: In der neuesten Version der OpenAI Python-Bibliothek müssen Sie einen OpenAI-Client instanziieren, um API-Aufrufe zu tätigen, wie unten gezeigt. Dies ist ein Wandel von früheren Versionen, in denen Sie direkt globale Methoden verwendet haben.
Nun haben Sie Ihren API-Schlüssel hinzugefügt und Ihre Umgebung ist eingerichtet und bereit für die Verwendung der OpenAI API in Python. In den folgenden Abschnitten dieses Artikels werden wir die Interaktion mit der API erkunden und Chat-Apps mit diesem leistungsstarken Tool erstellen.
Denken Sie daran, den obigen Codeausschnitt vor dem Ausführen in jedem Codeabschnitt unten hinzuzufügen.
Verwenden der OpenAI API in Python
Nachdem die API aus der .env
Datei geladen wurde, können wir sie tatsächlich in Python verwenden. Um die OpenAI API in Python zu verwenden, können wir API-Aufrufe mit dem Client-Objekt tätigen. Dann können wir eine Reihe von Nachrichten als Eingabe an die API übergeben und eine vom Modell generierte Nachricht als Ausgabe erhalten.
Erstellen einer einfachen ChatGPT-Anfrage
-
Stellen Sie sicher, dass Sie die vorherigen Schritte durchgeführt haben: Erstellen einer virtuellen Umgebung, Installation der notwendigen Bibliotheken und Generieren Ihres OpenAI geheimen Schlüssels und der
.env
Datei im Projektverzeichnis. -
Verwenden Sie den folgenden Codeausschnitt, um eine einfache ChatGPT-Anfrage einzurichten:
# Erstellen einer Chat-Vervollständigung
chat_completion = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "query"}]
)
print(chat_completion.choices[0].message.content)
Hier ist client.chat.completions.create
ein Methodenaufruf auf dem client
Objekt. Der chat
Attribut zugreift auf die chat-spezifischen Funktionalitäten der API, und completions.create
ist eine Methode, die eine Anfrage an das AI-Modell stellt, um eine Antwort oder Vervollständigung basierend auf der bereitgestellten Eingabe zu generieren.
Ersetzen Sie das query
durch den Prompt, den Sie ausführen möchten, und nutzen Sie gern ein beliebiges unterstütztes GPT-Modell anstelle des oben ausgewählten GPT-4.
Fehlerbehandlung
Bei der Abfrage können verschiedene Probleme auftreten, einschließlich Netzwerkproblemen, Überschreitung der Ratenbegrenzung oder anderer nicht standardmäßiger Antwortstatuscodes. Daher ist es wichtig, diese Statuscodes korrekt zu behandeln. Wir können Python’s try
und except
Blöcke verwenden, um den Programmfluss zu gewährleisten und eine bessere Fehlerbehandlung:
# Versuchen, eine Chat-Vervollständigung zu erstellen
try:
chat_completion = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "query"}],
temperature=1,
max_tokens=150 # Anpassen der Tokenanzahl nach Bedarf
)
print(chat_completion.choices[0].message.content)
except openai.APIConnectionError as e:
print("The server could not be reached")
print(e.__cause__)
except openai.RateLimitError as e:
print("A 429 status code was received; we should back off a bit.")
except openai.APIStatusError as e:
print("Another non-200-range status code was received")
print(e.status_code)
print(e.response)
Hinweis: Sie benötigen verfügbare Kreditvergütungen, um eines der OpenAI-API-Modelle nutzen zu können. Wenn mehr als drei Monate seit der Erstellung Ihres Kontos vergangen sind, sind Ihre kostenlosen Kreditvergütungen wahrscheinlich abgelaufen, und Sie müssen zusätzliche Credits kaufen (mindestens 5 $).
Hier sind einige Möglichkeiten, wie Sie Ihre API-Anforderungen weiter konfigurieren können:
- Max Tokens. Begrenzen Sie die maximal mögliche Ausgabelänge nach Ihren Bedürfnissen, indem Sie den Parameter
max_tokens
setzen. Dies kann eine kostensparende Maßnahme sein, beachten Sie jedoch, dass dies lediglich den generierten Text ab dem Limit abschneidet, nicht jedoch die Gesamtausgabe verkürzt. - Temperatur. Passen Sie den Temperaturparameter an, um die Zufälligkeit zu steuern. (Höhere Werte sorgen für eine größere Vielfalt der Antworten, während niedrigere Werte zu konsistenteren Antworten führen.)
Wenn ein Parameter nicht manuell gesetzt wird, verwendet er den jeweiligen Standardwert des Modells, wie 0 — 7 und 1 für GPT-3.5-turbo und GPT-4, beziehungsweise.
Neben den oben genannten Parametern gibt es zahlreiche andere Parameter und Konfigurationen, die Sie vornehmen können, um die Fähigkeiten von GPT genau so zu nutzen, wie Sie es möchten. Das Studium von OpenAI’s API-Dokumentation wird empfohlen, als Referenz.
Trotzdem sind effektive und kontextbezogene Prompts immer noch notwendig, egal wie viele Parameterkonfigurationen vorgenommen werden.
Fortgeschrittene Techniken bei der API-Integration
In diesem Abschnitt werden wir fortgeschrittene Techniken zur Integration der OpenAI API in Ihre Python-Projekte erkunden, wobei wir uns auf die Automatisierung von Aufgaben, die Verwendung von Python-Anfragen zur Datenabfrage und die Verwaltung von groß angelegten API-Anfragen konzentrieren.
Automatisieren von Aufgaben mit der OpenAI API
Um Ihr Python-Projekt effizienter zu gestalten, können Sie verschiedene Aufgaben mit der OpenAI API automatisieren. Zum Beispiel könnten Sie die Erstellung von E-Mail-Antworten, Kundensupport-Antworten oder Inhaltserstellung automatisieren.
Hier ist ein Beispiel dafür, wie man eine Aufgabe mit der OpenAI API automatisieren kann:
def automated_task(prompt):
try:
chat_completion = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}],
max_tokens=250
)
return chat_completion.choices[0].message.content
except Exception as e:
return str(e)
# Beispielanwendung
generated_text = automated_task("Write an short note that's less than 50 words to the development team asking for an update on the current status of the software update")
print(generated_text)
Diese Funktion nimmt einen Eingabeaufforderung und gibt den generierten Text als Ausgabe zurück.
Verwenden von Python-Anfragen für die Datenabfrage
Sie können die beliebte requests-Bibliothek verwenden, um direkt mit der OpenAI API zu interagieren, ohne auf die OpenAI-Bibliothek angewiesen zu sein. Diese Methode bietet Ihnen mehr Kontrolle über die GET-Anfrage und Flexibilität bei Ihren API-Aufrufen.
Das folgende Beispiel erfordert die requests-Bibliothek (falls Sie sie nicht haben, führen Sie zuerst pip install requests
aus):
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}',
}
data = {
'model': 'gpt-4', # Aktualisieren auf das gewünschte Modell
'messages': [{'role': 'user', 'content': 'Write an interesting fact about Christmas.'}]
}
response = requests.post('https://api.openai.com/v1/chat/completions', headers=headers, json=data)
print(response.json())
Dieser Codeausschnitt demonstriert das Erstellen einer POST-Anfrage an die OpenAI API, wobei Header und Daten als Argumente verwendet werden. Die JSON-Antwort kann analysiert und in Ihrem Python-Projekt verwendet werden.
Verwalten von groß angelegten API-Anfragen
Bei der Arbeit mit Großprojekten ist es wichtig, API-Anfragen effizient zu verwalten. Dies kann durch die Integration von Techniken wie Batchen, Drosselung und Zwischenspeichern erreicht werden.
- Batching. Kombiniere mehrere Anfragen zu einer einzigen API-Anfrage, indem du den
n
-Parameter in der OpenAI-Bibliothek verwendest:n = Anzahl_der_benötigten_Antworten
. - Throttling. Implementiere ein System zur Begrenzung der Rate, mit der API-Anfragen gemacht werden, um ein übermäßiges Nutzungs- oder Überlastungsverhalten der API zu vermeiden.
- Caching. Speichere die Ergebnisse abgeschlossener API-Anfragen, um wiederholte Anfragen für ähnliche Eingaben oder Anfragen zu vermeiden.
Um API-Anfragen effektiv zu verwalten, behalte dein Verbrauch im Auge und passe deine Konfigurationseinstellungen entsprechend an. Nutze gegebenenfalls die time-Bibliothek zur Einfügung von Verzögerungen oder Timeouts zwischen Anfragen.
Die Anwendung dieser fortgeschrittenen Techniken in deinen Python-Projekten hilft dir, das Beste aus der OpenAI API herauszuholen, während du eine effiziente und skalierbare API-Integration gewährleistest.
Praktische Anwendungen: OpenAI API in Echtprojekten
Die Integration der OpenAI API in deine Echtprojekte kann zahlreiche Vorteile bieten. In diesem Abschnitt werden wir zwei spezifische Anwendungen diskutieren: die Integration von ChatGPT in der Webentwicklung und das Erstellen von Chatbots mit ChatGPT und Python.
Integrieren von ChatGPT in der Webentwicklung
Die OpenAI-API kann verwendet werden, um interaktive, dynamische Inhalte zu erstellen, die auf Nutzeranfragen oder Bedürfnissen zugeschnitten sind. Sie könnten beispielsweise ChatGPT verwenden, um personalisierte Produktbeschreibungen zu erstellen, ansprechende Blog-Beiträge zu schreiben oder häufig gestellte Fragen zu Ihren Dienstleistungen zu beantworten. Mit der Kraft der OpenAI-API und ein wenig Python-Code sind die Möglichkeiten endlos.
Betrachten Sie dieses einfache Beispiel für die Verwendung eines API-Aufrufs von einer Python-Backend:
def generate_content(prompt):
try:
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message.content
except Exception as e:
return str(e)
# Verwenden Sie diese Funktion, um Inhalte zu generieren
description = generate_content("Write a short description of a hiking backpack")
Sie können dann auch Code schreiben, um description
mit Ihrem HTML und JavaScript zu integrieren, um die generierten Inhalte auf Ihrer Website anzuzeigen.
Erstellen von Chatbots mit ChatGPT und Python
Chatbots, die von künstlicher Intelligenz angetrieben werden, spielen zunehmend eine wichtige Rolle bei der Verbesserung des Nutzererlebnisses. Durch die Kombination der natürlichen Sprachverarbeitungsfähigkeiten von ChatGPT mit Python können Sie Chatbots erstellen, die den Kontext verstehen und intelligent auf Nutzerinputs reagieren.
Betrachten Sie dieses Beispiel zur Verarbeitung von Nutzerinput und zur Erlangung einer Antwort:
def get_chatbot_response(prompt):
try:
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message.content
except Exception as e:
return str(e)
# Nutzerinput von der Kommandozeile entgegennehmen
user_input = input("Enter your prompt: ")
response = get_chatbot_response(user_input)
print(response)
Da es jedoch keinen Loop gibt, wird das Skript nach einmaligem Durchlauf beendet. Es ist daher sinnvoll, bedingte Logik hinzuzufügen. Zum Beispiel haben wir eine einfache bedingte Logik hinzugefügt, bei der das Skript auf Nutzerprompts wartet, bis der Nutzer den Stoppwortlaut „exit“ oder „quit“ sagt.
Angesichts der erwähnten Logik könnte unser vollständiges endgültiges Codebeispiel für den Betrieb eines Chatbots an der OpenAI-API-Endpunkt wie folgt aussehen:
from openai import OpenAI
import os
from dotenv import load_dotenv
# Laden Sie den API-Schlüssel aus der .env-Datei
load_dotenv()
client = OpenAI(api_key=os.environ.get("CHAT_GPT_API_KEY"))
def get_chatbot_response(prompt):
try:
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message.content
except Exception as e:
return str(e)
while True:
user_input = input("You: ")
if user_input.lower() in ["exit", "quit"]:
print("Chat session ended.")
break
response = get_chatbot_response(user_input)
print("ChatGPT:", response)
Hier sehen Sie, wie es aussieht, wenn es im Windows-Kommandozeilenfenster ausgeführt wird.
Hoffentlich helfen Ihnen diese Beispiele dabei, mit der ChatGPT AI zu experimentieren. Insgesamt hat OpenAI großartige Möglichkeiten für Entwickler eröffnet, neue, spannende Produkte mit ihrer API zu erstellen, und die Möglichkeiten sind endlos.
OpenAI API-Einschränkungen und Preise
Obwohl die OpenAI API leistungsstark ist, gibt es einige Einschränkungen:
-
Datenspeicherung. OpenAI speichert Ihre API-Daten 30 Tage lang, und die Nutzung der API impliziert die Einwilligung in die Datenspeicherung. Achten Sie darauf, welche Daten Sie senden.
-
Modellkapazität. Chat-Modelle haben eine maximale Token-Begrenzung. (Zum Beispiel unterstützt GPT-3 4096 Token.) Wenn eine API-Anfrage dieses Limit überschreitet, müssen Sie Text kürzen oder weglassen.
-
Preisgestaltung. Die OpenAI API ist nicht kostenlos und folgt einem eigenen Preissystem, das von den Modellabonnementgebühren getrennt ist. Weitere Informationen zu den Preisen finden Sie unter OpenAIs Preisdetails. (Nochmal, GPT-4 Turbo ist dreimal günstiger als GPT-4!)
Schlussfolgerung
Die Erkundung des Potenzials des ChatGPT Modell-API in Python kann bedeutende Fortschritte in verschiedenen Anwendungen wie Kundensupport, virtuelle Assistenten und Inhaltserstellung bringen. Durch die Integration dieser leistungsstarken API in Ihre Projekte können Sie die Fähigkeiten der GPT-Modelle nahtlos in Ihren Python-Anwendungen nutzen.
Wenn Ihnen dieses Tutorial gefallen hat, könnten Ihnen auch diese gefallen:
Source:
https://www.sitepoint.com/python-build-ai-tools-openai-api/