gitmyhub

Guido

Java ★ 62 updated 28d ago

景区导览服务 AI 数字人:基于 Spring Boot、Vue 3、UniApp 与本地 RAG 的智能导览系统。

An AI tour guide system for scenic attractions offering text, voice, and photo based Q&A, personalized routes, and a visitor analytics dashboard.

JavaSpring BootVueUniAppMySQLTypeScriptsetup: hardcomplexity 4/5

Guido is an all in one AI tour guide system built for scenic area visitors and the staff who run those attractions. It combines text chat, voice interaction, photo based scenery recognition, a locally hosted question answering system, personalized route suggestions, and visitor behavior analysis into one product, with a mobile app for tourists built in UniApp, a Vue 3 admin dashboard for staff, and a Spring Boot backend tying it together.

For visitors, the system turns scattered attraction information into traceable answers to their questions, accepting text, voice, or a photo of what they are looking at, and can suggest a tour route based on stated interests. For staff, the admin dashboard lets them manage attractions, routes, uploaded knowledge documents, AI model configuration, and the digital guide's appearance, plus a data dashboard showing common questions, popular attractions, and visitor sentiment.

Under the hood, a visitor's question is checked against a locally managed knowledge base built from uploaded text documents, which are split into overlapping chunks and converted into vector embeddings stored in MySQL. Matching uses cosine similarity to pull the top three most relevant chunks, and falls back to plain keyword search if the embedding service is unavailable. The matched context is then sent to a language model to generate an answer, which streams back to the visitor incrementally, gets converted to speech, and drives an animated guide character on screen. Photos are handled by a separate vision model to identify what attraction is being viewed.

The backend supports both OpenAI-compatible and Anthropic-compatible AI providers through an adapter layer, so the system is not locked to one vendor, and stores API credentials encrypted rather than in plain text. Route recommendations are scored based on a visitor's interest tags and route attributes, returning up to five ranked routes with reasons and estimated duration. The system also tracks visitor sentiment across four categories and generates periodic reports, including exportable Word documents, for operations staff.

Where it fits