Anfängertutorial: Einen eigenen Chatbot programmieren (updated 2024)
Einen eigenen ChatGPT Chatbot als Kommandozeilentool programmieren
Seit der Einführung von ChatGPT hat sich die Technologie rasant weiterentwickelt. Die neueren Versionen der OpenAI API bieten noch mehr Möglichkeiten für die Entwicklung von Chatbots. In diesem Tutorial zeige ich, wie man einen eigenen Chatbot für die Kommandozeile erstellt, der die moderne OpenAI API nutzt.
Der Code
Erstelle eine neue Datei chat.py
und füge folgenden Code ein:
import os
import openai
from dotenv import load_dotenv
# Lade Umgebungsvariablen
load_dotenv()
client = openai.OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
def generate_response(prompt):
try:
# Erstelle Chat Completion mit der neuesten API
response = client.chat.completions.create(
model="gpt-4-turbo-preview", # oder "gpt-3.5-turbo" für die günstigere Option
messages=[
{"role": "system", "content": "Du bist ein hilfreicher Assistent."},
{"role": "user", "content": prompt}
],
temperature=0.7
)
# Extrahiere die Antwort
return response.choices[0].message.content
except Exception as e:
return f"Ein Fehler ist aufgetreten: {str(e)}"
def main():
print("Willkommen beim Konsolen-Chat! (Beenden mit 'exit', 'quit' oder 'bye')")
# Speichere den Chatverlauf
conversation = []
while True:
user_input = input("\nIch: ")
if user_input.lower() in ["exit", "quit", "bye"]:
print("Auf Wiedersehen!")
break
# Füge neue Nachricht zum Verlauf hinzu
conversation.append({"role": "user", "content": user_input})
# Generiere Antwort
response = generate_response(user_input)
print("\nGPT:", response)
# Speichere auch die Antwort im Verlauf
conversation.append({"role": "assistant", "content": response})
if __name__ == "__main__":
main()
Code-Erklärung
Der aktualisierte Code enthält mehrere Verbesserungen gegenüber der vorherigen Version:
- Moderne API-Nutzung: Wir verwenden den neuen OpenAI Client und die aktuelle API-Struktur
- Bessere Fehlerbehandlung: Der Code fängt mögliche API-Fehler ab
- Konversationsgedächtnis: Der Bot speichert den Chatverlauf
- System Message: Wir definieren die Rolle des Bots durch eine System-Nachricht
- Flexibles Modell: Wahlweise können wir GPT-4 oder GPT-3.5 verwenden
Setup und Ausführung
1. Virtuelle Umgebung erstellen
Zuerst erstellen wir eine virtuelle Python-Umgebung:
# Erstellen einer neuen virtuellen Umgebung
python3 -m venv .venv
# Aktivieren der Umgebung
# Unter Linux/Mac:
source .venv/bin/activate
# Unter Windows:
.venv\Scripts\activate
2. Abhängigkeiten installieren
pip install openai python-dotenv
3. API-Key einrichten
Erstelle eine .env
Datei im Projektverzeichnis:
OPENAI_API_KEY=sk-dein-api-key-hier
Ersetze sk-dein-api-key-hier
mit deinem tatsächlichen OpenAI API-Key.
4. Chatbot starten
python chat.py
Erweiterungsmöglichkeiten
Der Basis-Code lässt sich leicht erweitern. Hier einige Vorschläge:
- Speichern von Gesprächen: Füge eine Funktion hinzu, um Chatverläufe in einer Datei zu speichern
- Modellauswahl: Lass den Benutzer zwischen verschiedenen GPT-Modellen wählen
- Systemrolle anpassen: Ändere die Systemnachricht, um dem Bot verschiedene Persönlichkeiten zu geben
- Token-Zähler: Implementiere einen Zähler für verbrauchte Tokens
- Markdown-Unterstützung: Füge eine schönere Formatierung der Ausgaben hinzu
Wichtige Hinweise
- Schütze deinen API-Key und teile ihn nie öffentlich
- Beachte die Kosten: GPT-4 ist teurer als GPT-3.5-Turbo
- Die API hat Ratenlimits, die du beachten solltest
- Prüfe regelmäßig auf Updates der OpenAI API
Viel Spaß beim Experimentieren mit deinem eigenen ChatGPT-Bot!