{"repo":"yastman/rag","free":true,"listed":false,"github":"https://github.com/yastman/rag","clone":"git clone https://github.com/yastman/rag.git","description":"AI real-estate automation platform: Telegram bot, RAG, apartment search, CRM workflows, voice agent, Langfuse observability, and Dockerized AI runtime.","language":"Python","stars":12,"topics":["aiogram","bge-m3","hybrid-search","langgraph","livekit","llm","python","qdrant","rag","redis"],"license":"MIT","category":"ai-agents","readme_excerpt":"RAG Q&A Chatbot Ask questions in natural language. Get answers grounded in your private documents. --- A self-hostable RAG question-answer bot. Users ask in natural language via Telegram; the system retrieves grounded context from a Qdrant document store and generates a cited answer via an LLM. It is a Python modular monolith — one process, in-process function calls, with external sidecar services managed by Docker Compose. The current live domain is real-estate/apartments. The domain layer is replaceable. Features The live Telegram bot is a real-estate assistant: a RAG Q&A core plus a service menu. All actions are kept; only the question path is the pure RAG core, the rest is the (replaceable) domain layer. Menu action What it does Layer --- --- --- 💬 Ask a question RAG Q&A over the document store core 🏠 Find an apartment Filtered catalog search domain 🔑 Services Service info domain 📅 Book a viewing Schedule a viewing domain 👤 Contact a manager Human handoff (HITL) domain/agent 📌 My bookmarks Saved listings domain 🎯 Demo Guided demo flow domain How It Works run assistant request ( src/core/assistant.py ) is the single public entrypoint used by all adapters and the golden E2E test. Architecture One Python process. Three layers: Layer Path Role --- --- --- Adapter telegram bot/ Telegram interface — converts messages to/from AssistantRequest / AssistantResult Public boundary src/core/ contracts.py defines Protocol-based DI types; assistant.py is the entrypoint Engine src","default_branch":null,"files":null,"tree":[],"storefront":"/r/yastman","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/yastman/rag/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}