Dans ce didacticiel, vous apprendrez à créer une application Web qui génère des itinéraires touristiques optimisés à l'aide de Cloudflare Workers AI, Mapbox, LangChain et Streamlit. L'application permet aux utilisateurs de sélectionner des points de repère dans une ville choisie et d'obtenir l'itinéraire le plus court entre eux, résolvant ainsi le problème du voyageur de commerce.
Sur la ligne de commande, créez un nouveau dossier appelé tsp.py. Créez un environnement virtuel en exécutant
python3 -m venv venv source venv/bin/activateEnsuite, installez les bibliothèques requises avec
pip install python-dotenv geopy langchain langchain-core langchain-community markdown pandas requêtes streamlit streamlit-searchbox folium streamlit-foliumVous avez besoin d'un jeton API Mapbox - vous pouvez en obtenir un ici et un jeton Cloudflare Workers AI, que vous obtenez en cliquant sur AI sur le côté gauche de votre tableau de bord, puis en cliquant sur le bouton bleu Utiliser l'API REST puis sur le bleu Créer une IA Workers. Bouton Jeton API.
Vous pouvez trouver le SID de votre compte Cloudflare sur cette même page ou dans l'URL du tableau de bord : il s'agit de la chaîne de caractères qui suitdash.cloudflare.com/.
Faire un.envfichier et remplacez les valeurs ci-dessous :
MAPBOX_TOKEN= CLOUDFLARE_API_TOKEN= CLOUDFLARE_ACCOUNT_ID=L'application utilise des variables d'environnement pour un accès sécurisé aux API telles que Mapbox et Cloudflare Workers AI. Ils sont accessibles en code Python en utilisantdotenvetsystème d'exploitation(et serait remplacé par des lignes commemapbox_token = st.secrets["MAPBOX_TOKEN"]si vous deviez déployer sur Streamlit.
En haut, incluez les éléments suivantsimporterinstructions et variables pour référencer les variables d'environnement :
depuis dotenv importer load_dotenv importer folium depuis langchain.chains importer LLMChain depuis langchain.prompts importer PromptTemplate depuis langchain_community.llms.cloudflare_workersai importer CloudflareWorkersAI importer os importer des demandes importer streamlit as st depuis streamlit_folium importer folium_static load_dotenv() mapbox_token = os.getenv('MAPBOX_...
[Courte citation de 8% de l'article original]