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