Créer un service de planification de voyage alimenté par GPT-3 avec Streamlit
Dans ce tutoriel, nous allons créer un service Streamlit simple alimenté par GPT-3 pour la planification de voyages. Cette application utilisera les capacités de GPT-3 pour générer des itinéraires de voyage adaptés en fonction des saisies de l'utilisateur, tandis que Streamlit nous aidera à construire une interface facile à utiliser.
Prérequis
Avant de commencer, assurez-vous d'avoir les prérequis suivants :
- Python installé sur votre machine.
- Accès au modèle GPT-3 d'OpenAI via une clé API.
- Connaissance de base en programmation Python.
- Streamlit installé pour le développement d'applications web.
Installation des bibliothèques nécessaires
Pour commencer, vous devez installer les bibliothèques requises en utilisant pip. Exécutez la commande suivante :
pip install openai streamlit python-dotenv
Configuration de l'environnement
Ensuite, créez un fichier .env
dans votre répertoire de projet et incluez votre clé API OpenAI comme ceci :
OPENAI_API_KEY=your_openai_api_key
Création du fichier main.py
Maintenant, créons le fichier main.py
. Ce fichier importera toutes les bibliothèques nécessaires et chargera notre clé API à partir du fichier .env
. Vous pouvez utiliser la structure de code suivante :
import os
from dotenv import load_dotenv
import openai
import streamlit as st
load_dotenv()
openai.api_key = os.getenv('OPENAI_API_KEY')
Construction de l'application Streamlit
Passons à la construction de notre application Streamlit. Commencez par créer une fonction qui génère l'invite d'itinéraire de voyage en fonction de la saisie de l'utilisateur. Voici une simple mise en œuvre :
def generate_trip_schedule(location, days, interests):
prompt = f"Create a trip schedule for {days} days in {location} focusing on {interests}.
Use bullet points to outline daily activities."
response = openai.Completion.create(
engine='text-davinci-003',
prompt=prompt,
max_tokens=500
)
return response['choices'][0]['text']
Création de l'interface utilisateur
Avec la fonction de génération d'invite en place, nous pouvons désormais configurer l'interface utilisateur à l'aide de Streamlit.
# Créer le formulaire d'entrée
st.title('Planificateur de Voyage')
location = st.text_input('Entrez le lieu du voyage :')
days = st.number_input('Nombre de jours :', min_value=1, max_value=30)
interests = st.text_input('Quels sont vos centres d'intérêt ? (ex : aventure, culture)')
if st.button('Générer l’itinéraire'):
schedule = generate_trip_schedule(location, days, interests)
st.write('### Votre itinéraire de voyage :')
st.write(schedule)
Exécution de l'application Streamlit
Enfin, vous pouvez exécuter votre application Streamlit en naviguant jusqu'au répertoire de votre projet dans le terminal et en exécutant :
streamlit run main.py
Résultat
Une fois que vous avez exécuté l'application, ouvrez votre navigateur à l'URL locale fournie. Saisissez les détails de votre voyage souhaité, puis cliquez sur le bouton "Générer l’itinéraire". Vous devriez voir l'itinéraire de voyage généré affiché sur la page !
Conclusion
Ce tutoriel vous a guidé à travers le processus de création d'une application de planification de voyage simple alimentée par GPT-3 en utilisant Streamlit. Vous pouvez améliorer davantage cette application en ajoutant des fonctionnalités telles que la sauvegarde des itinéraires, l’offre de conseils ou l’intégration de cartes. N’hésitez pas à expérimenter et à enrichir votre application davantage !
Implémentation JSON
Si vous souhaitez structurer l’itinéraire généré au format JSON pour une meilleure gestion des données, vous pouvez modifier la section de retour de la fonction :
def generate_trip_schedule(location, days, interests):
prompt = f"Create a trip schedule for {days} days in {location} focusing on {interests}.
Use bullet points to outline daily activities."
response = openai.Completion.create(
engine='text-davinci-003',
prompt=prompt,
max_tokens=500
)
schedule_list = response['choices'][0]['text'].split('\n')
schedule_json = {'trip_schedule': schedule_list}
return schedule_json
Cette structure permet un stockage et une récupération efficaces de vos données d'itinéraire.
Laisser un commentaire
Tous les commentaires sont modérés avant d'être publiés.
Ce site est protégé par hCaptcha, et la Politique de confidentialité et les Conditions de service de hCaptcha s’appliquent.