tutu-zzz/zhilv-yuntu
An AI travel planning system built with FastAPI, LangChain, ChromaDB, and AMap services.智旅云图是一个面向中文旅行场景的 AI 旅行规划项目。
What it solves
Zhilv-Yuntu is an AI-powered travel planning system designed for Chinese travel scenarios. It moves beyond simple text-based LLM responses by providing a complete end-to-end product that generates structured itineraries, integrates real-world map data, provides weather-aware suggestions, and allows users to save and export their plans.
How it works
The system uses a tiered approach to planning based on the destination:
- Curated Cities: For specific cities (e.g., Beijing, Chengdu, Xi'an), it uses a RAG (Retrieval-Augmented Generation) pipeline. This involves query rewriting via LLMs, vector retrieval using ChromaDB, and cross-encoder reranking to pull relevant information from local Markdown guides.
- Dynamic Cities: For other cities, it fetches real-time POI (Point of Interest) candidates for attractions, dining, and lodging via the Amap (Gaode) API, then uses an LLM to plan the itinerary based on these verified IDs.
- Enrichment: The system supplements the generated plan with actual addresses, coordinates, route distances, travel times, and images from Amap, as well as current weather forecasts.
- Infrastructure: It utilizes FastAPI for the backend, Vue 3 for the frontend, Redis for caching frequent API and RAG results, and SQLite for persisting user itineraries.
Who it’s for
Travelers looking for structured, data-backed trip planning and developers interested in implementing a full-stack RAG application with real-world API integrations.
Highlights
- Hybrid Planning: Combines local RAG for curated destinations with dynamic POI-based planning for others.
- Map Integration: Visualizes routes with dashed arrows and markers using the Amap JavaScript API.
- Advanced RAG Pipeline: Features LLM-based query rewriting and cross-encoder reranking to improve retrieval accuracy.
- Weather Awareness: Automatically adjusts travel tips based on forecasted rain or cloudy conditions.
- Full Lifecycle Management: Supports natural language editing of specific days, history management, and export to Markdown or PDF.
- Performance Optimization: Implements a Redis caching layer for weather, maps, and RAG results to reduce latency and API costs.
Related
- Project
- Project
- Project
- Project