AI Smart GID
A multilingual voice AI guide for a museum kiosk. It detects the visitor's language and answers by voice through a talking avatar, grounded in the museum's knowledge base.
- Role
- Full-stack & AI developer
- Category
- AI systems
- Tools
- Python, FastAPI, OpenAI, Gemini, Azure TTS, FAISS, BM25, Tavily, WebRTC, Nginx, GitLab CI/CD
- Year
- 2026
- Client
- UzAvtoYo'l

Overview
AI Smart GID is a voice assistant for a museum information kiosk. It detects whether a visitor speaks Uzbek, Russian or English and answers by voice through a talking avatar, grounded in the museum's knowledge base.
Live: aigid.uzavtoyul.uz
Problem
A voice guide in a museum has to understand three languages, cope with names that speech recognition misspells, and never invent facts. When it does not know something, it should say so.
My responsibilities
I built the whole product on my own:
- the full voice pipeline: speech-to-text, language detection, moderation, RAG, an LLM answer (Gemini or GPT) and text-to-speech (Azure TTS);
- an admin panel with roles, statistics and charts, CSV export, knowledge-base editing and Word/PDF upload with automatic indexing;
- production deployment on Linux (systemd, Nginx, HTTPS, rate limiting) with GitLab CI/CD, and the Windows 11 kiosk setup.
Technical approach
- Anti-hallucination flow. RAG first, then a broadened retry with a background web search. Facts are verified against trusted sources; otherwise the guide replies "no information" instead of guessing.
- Hybrid retrieval. Vector search (FAISS), keyword search (BM25) and trigram similarity together, so names misspelled by speech recognition are still found. Every change is measured on an evaluation set (hit@k, MRR).
- Web search. Parallel search (Tavily) over trusted sites and the open web, with date-aware ranking and verification of numbers, dates and names.
- Live avatar. A streaming avatar (Anam, WebRTC) that visitors can interrupt.
Screens and responsive behavior
Outcome
- The median number of sources behind an answer grew from 2 to 8.
- Billed avatar time was cut roughly threefold.