GraphRAG
A company AI assistant: it answers from your documents, price list and catalog with the source of every fact, books clients for services and reminds them of visits. Works on your website, in Telegram and Max, over API and MCP.
Request access →- Format
- SaaS or private deploymentone service in Docker, data inside your perimeter
- Status
- Production
- Stack
- FastAPI · SQLite (vectors + FTS5) · tool-calling agent · MCP · Telegram · Max
- Product site
- graphrag.ru ↗
- Direction
- AI & Data
About the product
GraphRAG turns a company's policies, manuals, price lists and catalogs into a knowledge base that an AI assistant answers from. For each question it decides what to open: a document section, a product card by SKU or a selection from the catalog. The answer is built only from what was read, and the list of sources is assembled by the program, so a document the assistant never opened cannot appear under the answer. With the Clients module on, the assistant also books: it offers free time from the real schedule, files a request and reminds the client of the visit.
The product fits where the knowledge already exists but lives in files and in people's heads, and routine questions eat staff time: customer support, sales teams with large catalogs, HR and internal policies, salons, clinics and other businesses that take appointments. Instead of a chatbot with a scenario tree, the company gets an assistant it tunes to its own needs and checks with tests.
Documents
PDF, DOCX, TXT, scans; XLSX and JSON price lists and catalogs
Markdown base
one source = one structured .md, a catalog = objects
Unified search
vectors + words, SKUs, typos, field filters
AI agent
searches, reads on, books; answers only from what it read
Channels
website widget, Telegram, Max, HTTP API, MCP
The key difference is that answer logic is described as data. Input checks, branches, prompts, the tool set and required phrases live in a harness: JSON with versions, built-in tests and one-command rollback. The harness changes without a service release, and a connected AI agent can edit it over the admin MCP link, while a person switches the new version on. Data stays inside your perimeter: each client or department has its own isolated collection.
An agent instead of a rigid scenario
A classic bot runs a “router → search → answer” chain: every new type of question needs a new branch. The agent in GraphRAG works differently. It has tools and rules, and it picks the path to the answer itself: for “compare A and B” it opens both cards, for “anything similar?” it takes the product's category and selects by it, for “book me Saturday morning” it checks the schedule and offers slots.
What must always happen is not left to the model. The harness can drop spam without calling the model and switch on a cautious mode for sensitive topics, while required phrases and sources are added by the program.
Tools instead of branches
Semantic and exact search, reading a document or a section, a product card, catalog selection by fields, free time and booking. The same knowledge tools are available to external agents over MCP.
Doesn't give up on an empty search
It changes wording and method: semantic search → exact string → field selection → knowledge base outline. Only then does it say there is no data.
Remembers the dialogue and the person
“And for kids?” is tied to the product from the previous message. A returning client is recognised by channel, with their past visits.
Asks only when it matters
A counter-question only when the choice changes the answer. When the client has to pick a service, a specialist or a time, the options come as buttons.
What it looks like
A demo collection: a few policies and an equipment catalog. Click a frame to enlarge.
Knowledge base
Category tags
Settings and tests
Chat for employees
Documents
Arrows, dots or drag with the mouse; in the enlarged view — ← → and Esc.
Who it is for
Companies with extensive documentation
Policies, manuals, HR documents: employees ask in a chat, on the portal or in a messenger and get an answer with the source section.
Shops and distributors with a catalog
Selection by need, comparison, alternatives from the same category and availability answers — with SKUs and prices from the product cards.
Businesses that take appointments
Salons, clinics, studios, restaurants, consultants: the assistant answers about prices and rules, books free time, reminds of the visit and invites clients back. A manager confirms requests.
How it works
- 1
Upload documents
PDF, DOCX, TXT, scans via OCR; price lists and catalogs in XLSX or JSON. A document becomes one structured .md with no paraphrasing, a catalog row becomes an object with fields.
- 2
Index and categories
Vectors and a full-text index of the collection are built from the .md. Documents are grouped into categories, and category tags work as search filters.
- 3
Set up the assistant
Tone, rules and sensitive topics live in the answer logic. For booking: the business type, services, bookable resources (specialists, rooms, tables) and their schedules. Built-in tests make sure answers don't break with the next edits.
- 4
Connect channels
A website widget in one line of code, Telegram and Max bots by token, an HTTP API with streaming, MCP links for Claude and other agents. Other messengers and CRMs connect via webhooks.
- 5
Answers, bookings and the log
A client gets an answer with its source or books in a few messages. A manager confirms requests, the owner sees each answer's path and ratings in the log.
Answer logic is data, not code
The harness describes how a collection answers: 12 step types (checks, branches, variables, search in a given section, custom LLM steps, the agent, the answer), prompts, limits and tests. A validator checks it before saving, and the flowchart in the admin panel is drawn from the same data.
Improvement runs in a loop: run the tests, review the answer log, fix a prompt or a step, check the new version on the same questions and switch it on. This can be done in the admin panel or over the admin MCP. A version with failing tests won't go live; rolling back takes one command.
Versions and rollback
Every edit is a new version with an author and a comment. Going back takes one command, no release.
Tests gate activation
A test is a question plus expectations: the step path, phrases in the answer, number of model calls, tools called.
Managed over MCP
The user link has 11 tools: search, reading and answers. The admin link adds 66 more: harness, log, documents, categories, settings, archives, clients, calendar and schedule.
Log and traces
Every answer keeps its step path, tool calls, model calls and timing. The admin panel highlights the path on the diagram.
What the product does
An AI agent with tools
8 knowledge tools: search, grep, outline, file_outline, read, read_section, get_object, find_objects. The agent picks its own path, reads on when data is incomplete and answers only from what it read.
Sources that can't be made up
Sources are assembled by code from what was found and read; the model sees exactly the context the client gets. A found fragment comes as its whole document section, not a scrap.
Hybrid search
Vectors and BM25 with word forms in one SQLite: SKUs, typos, transliteration (“магнезиум” ↔ “magnesium”), catalog field filters before ranking. Every fragment explains why it was returned.
Client booking
A service directory, bookable resources with schedules and exceptions, free time from real occupancy. The agent books, reschedules and cancels; a taken slot is never sold twice, and a manager confirms requests.
Clients and reminders
A client card from any channel: contacts, notes, visits. Ready-made scenarios: a visit reminder, “Are you coming?”, a thank-you afterwards, an invitation back on time. Quiet hours and /stop to opt out.
Choices as buttons
When the client has to pick a service, a specialist or a time, the options come as buttons in the chat, the widget, Telegram and Max. Buttons are built by the program from the schedule and the directory, so no made-up slot can appear among them.
Harness: logic as data
12 step types, prompts, limits on steps, model calls and time. Versions with rollback, a validator before saving, built-in tests as a condition for activation.
Markdown is the source of truth
A document is stored as .md in its category folder, and the base opens in Obsidian. Edits in the web editor are visible to answers immediately, manual edits survive reindexing.
Isolated collections
Each client is a separate collection: documents, index, history, passwords, bots and MCP links in one folder. Docker inside your perimeter, delivered without source code.
An assistant that books: how we added clients, schedules and Telegram, Max and website channels to GraphRAG
An assistant that only answers leaves people the hardest part: booking, reminding, inviting clients back. We added a Clients module to GraphRAG with services, schedules and message scenarios, connected Telegram, Max and a website widget, and wrote a separate gateway for regular company accounts. Here are the decisions we made, what we threw away and where the limits are.
Read →An agent instead of a script: we moved an AI assistant's logic into data and tested it on 300 questions
Knowledge-base assistants are usually built as a pipeline (router → retrieval → answer), and every new kind of question adds a branch. In GraphRAG we replaced the pipeline with an agent that has eight tools, and moved everything that must always happen into a versioned, tested JSON harness. How it works, what a blind comparison on 300 questions showed, and where the agent still loses.
Read →Want to see the product on your data?
We will show a demo, walk through your scenario and suggest a deployment format.