Erstellung eines von GPT-3 gestützten Reiseplanungsdienstes mit Streamlit
In diesem Tutorial werden wir einen einfachen von GPT-3 unterstützten Streamlit-Dienst für die Reiseplanung erstellen. Diese App wird die Fähigkeiten von GPT-3 nutzen, um maßgeschneiderte Reisepläne basierend auf Benutzereingaben zu generieren, während Streamlit uns hilft, eine benutzerfreundliche Schnittstelle zu erstellen.
Voraussetzungen
Bevor wir beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen haben:
- Python auf Ihrem Rechner installiert.
- Zugang zum GPT-3-Modell von OpenAI über einen API-Schlüssel.
- Kenntnisse in grundlegender Python-Programmierung.
- Streamlit installiert für die Webanwendungsentwicklung.
Installation der notwendigen Bibliotheken
Um zu beginnen, müssen Sie die erforderlichen Bibliotheken mit pip installieren. Führen Sie den folgenden Befehl aus:
pip install openai streamlit python-dotenv
Einrichten der Umgebung
Erstellen Sie als Nächstes eine .env
-Datei in Ihrem Projektverzeichnis und fügen Sie Ihren OpenAI API-Schlüssel wie folgt hinzu:
OPENAI_API_KEY=your_openai_api_key
Erstellen der main.py-Datei
Jetzt erstellen wir die main.py
-Datei. Diese Datei wird alle notwendigen Bibliotheken importieren und unseren API-Schlüssel aus der .env
-Datei laden. Sie können die folgende Code-Struktur verwenden:
import os
from dotenv import load_dotenv
import openai
import streamlit as st
load_dotenv()
openai.api_key = os.getenv('OPENAI_API_KEY')
Erstellen der Streamlit-App
Lasst uns mit dem Aufbau unserer Streamlit-App fortfahren. Beginnen Sie mit der Erstellung einer Funktion, die die Reiseplanungsaufforderung basierend auf der Benutzereingabe generiert. Hier ist eine einfache Implementierung:
def generate_trip_schedule(location, days, interests):
prompt = f"Erstellen Sie einen Reiseplan für {days} Tage in {location}, der sich auf {interests} konzentriert.\n Verwenden Sie Aufzählungszeichen, um tägliche Aktivitäten zu skizzieren."
response = openai.Completion.create(
engine='text-davinci-003',
prompt=prompt,
max_tokens=500
)
return response['choices'][0]['text']
Erstellen der Benutzeroberfläche
Mit der Funktion zur Generierung der Eingabeaufforderung an Ort und Stelle können wir jetzt die Benutzeroberfläche mit Streamlit einrichten.
# Eingabeformular erstellen
st.title('Reiseplaner')
location = st.text_input('Geben Sie den Reiseort ein:')
days = st.number_input('Anzahl der Tage:', min_value=1, max_value=30)
interests = st.text_input('Was sind Ihre Interessen? (z.B. Abenteuer, Kultur)')
if st.button('Plan erstellen'):
schedule = generate_trip_schedule(location, days, interests)
st.write('### Ihr Reiseplan:')
st.write(schedule)
Ausführen der Streamlit-App
Schließlich können Sie Ihre Streamlit-App ausführen, indem Sie im Terminal in das Verzeichnis Ihres Projekts navigieren und folgendes ausführen:
streamlit run main.py
Ergebnis
Nachdem Sie die App ausgeführt haben, öffnen Sie Ihren Browser auf der angegebenen lokalen URL. Geben Sie Ihre gewünschten Reisendaten ein und klicken Sie auf die Schaltfläche "Plan erstellen". Sie sollten den generierten Reiseplan auf der Seite angezeigt bekommen!
Fazit
Dieses Tutorial hat Sie durch den Prozess der Erstellung einer einfachen von GPT-3 unterstützten Reiseplanungsanwendung mit Streamlit geleitet. Sie können diese App weiter verbessern, indem Sie weitere Funktionen wie das Speichern von Plänen, das Anbieten von Tipps oder die Integration von Karten hinzufügen. Fühlen Sie sich frei, zu experimentieren und Ihre App weiter zu bereichern!
JSON-Implementierung
Wenn Sie den generierten Plan in einem JSON-Format strukturieren möchten, um eine bessere Datenverwaltung zu ermöglichen, können Sie den Rückgabeteil der Funktion modifizieren:
def generate_trip_schedule(location, days, interests):
prompt = f"Erstellen Sie einen Reiseplan für {days} Tage in {location}, der sich auf {interests} konzentriert.\n Verwenden Sie Aufzählungszeichen, um tägliche Aktivitäten zu skizzieren."
response = openai.Completion.create(
engine='text-davinci-003',
prompt=prompt,
max_tokens=500
)
schedule_list = response['choices'][0]['text'].split('\n')
schedule_json = {'reise_plan': schedule_list}
return schedule_json
Diese Struktur ermöglicht eine effiziente Speicherung und den Abruf Ihrer Planungsdaten.
Hinterlasse einen Kommentar
Alle Kommentare werden vor der Veröffentlichung geprüft.
Diese Website ist durch hCaptcha geschützt und es gelten die allgemeinen Geschäftsbedingungen und Datenschutzbestimmungen von hCaptcha.