RAG development services
CML Team builds RAG systems for products and teams that need answers from their own documents and data, with citations to the source. For Nestwise we built a RAG-based parenting copilot that cites trusted sources and recalls family context across sessions. In Persona, our own platform for IT agencies, RAG gives insights on the profiles and deals kept in it.
Results from our case studies
70%
Candidate screening speed
Persona case study
- Hourly or fixed price
- NDA signed
- Code rights pass to you after payment
What we build
Chatbots that answer from your documents
An assistant that finds the relevant passages first and answers from them, with a link to each source. Nestwise, a parenting copilot we delivered as a working proof of concept, gives evidence-based advice with citations to trusted sources.
See the Nestwise case studyRAG inside the software you already run
Answers drawn from the records of your own platform, with no separate tool. Persona, CML Team's business operating system for IT agencies, uses RAG for insights on profiles and deals. The same platform parses resumes, matches candidates and drafts emails with AI.
See the Persona case studyDocument parsing and indexing
PDFs, scans and uploads turned into clean pieces of text that can be found and cited. The Nestwise engine indexes pre-installed and user-uploaded document libraries for fast retrieval. Persona also captures text with speech-to-text and OCR.
See the Nestwise case studySearch over your own content
Search your users can rely on, keyword first and semantic where it helps. For ALICE, a cloud hotel concierge platform, we built full-text keyword search with Elasticsearch as part of the core platform.
See the ALICE case studyGolden sets to test answers before launch
Real questions with the answers and sources you expect, run after every change to the documents, the prompt or the model. A regression then shows up in the test run, not in a user's chat. We build golden sets on many of our AI projects.
Knowledge graphs for connected data
We build knowledge graphs next to the vector index when the answer depends on links between records, such as a product and its product line or a contract and its amendments. Retrieval then follows entities and relations, not only similar text.
How it works
How a RAG system gets from your documents to a cited answer
Retrieval-augmented generation (RAG) means the system first finds the passages that answer a question and then has a language model write the answer from them, with links back to the source. Most of the work, and most of the failures, happen before the model writes a word. Plan the pipeline in seven steps.
- Documents. Decide which sources the answers may come from, who owns them and how they are updated.
- Parsing and OCR. Turn text, tables and scans into clean pieces (chunks) that can be cited.
- Vector and keyword index. Store each chunk as a semantic vector and as words for keyword search.
- Hybrid search. Combine semantic and keyword results for every question.
- Ranking. Score the candidates against the question and keep only the few that answer it.
- Answer with citations. The model answers only from those passages and links each claim to its source.
- Checks on a golden set. A fixed list of real questions with known answers runs before every release.
Documents. Start with the questions, not the files. Collect a few dozen questions your users really ask, then find the documents that answer them. Sources nobody maintains give answers nobody trusts, so name an owner for each one.
Parsing and OCR. Many wrong answers start here. A table flattened into one line, or a scanned page with no text layer, is invisible to search. Split documents along their headings rather than at a fixed length, and keep the document title, the heading and the page number with each chunk, so the answer can cite them.
Vector and keyword index. Semantic vectors find passages that say the same thing in other words. Keyword search with BM25 catches exact terms such as product codes, names and clause numbers, which a semantic match can rank low. We work with Qdrant and Pinecone as vector databases, and with PostgreSQL when the data already lives there.
Hybrid search and ranking. Run both searches for every question and merge the results. Then a reranking model scores each candidate passage against the question, and only the best few go to the language model. More context is not better. Passages that do not answer the question give the model something to get wrong. When a question needs several lookups, agentic retrieval lets the model search again with a sharper query before it answers.
Answer with citations. Ask the model to answer only from the passages it was given, to cite each one and to say so when they do not hold the answer. A link to the source lets a user check an answer in seconds, and an honest "this is not in the documents" is worth more than a confident guess. Nestwise gives its parenting advice with citations to trusted sources (Nestwise case study). Why a confident answer can still be wrong is the subject of our post on the Dr. Fox effect and ChatGPT.
Checks on a golden set. Keep the questions from the first step, each with its expected answer and the source it should cite. That list is your golden set. Score retrieval and answers separately. Check whether the right source came back, and whether the answer was right given that source. Then you know whether a failure starts in the index or in the prompt. Run the golden set after every change to the documents, the index, the prompt or the model, and compare each run with the last one.
A chatbot that answers from your documents
A chatbot like this is the most common RAG project, and the pipeline above is its core. Around it sit the parts users notice. The conversation keeps its context, each user gets answers only from documents they are allowed to open, and new documents can be added without a developer. Nestwise shows the pattern. Its RAG-based engine recalls family context across sessions and turns a parenting question into a step-by-step action plan. We delivered it as a working proof of concept, which let the client validate product-market fit and collect real user feedback (Nestwise case study).
LLM document analysis when a mistake is costly
When a language model reads contracts, reports or resumes, the job changes. Instead of answering a question, the system pulls fields and findings out of each document. Two habits keep it safe. Make the model point to the place in the document behind every value it extracts, so a person can check it in one click. And send unclear or high-stakes results to a person before they feed a decision. Persona, our own platform, uses AI to parse resumes, match candidates and validate company data (Persona case study).
When RAG needs a knowledge graph
A vector index finds passages that look like the question. It does not know that a product belongs to a product line, or that one contract amends another. A knowledge graph stores such links as entities and relations, so retrieval can follow them. Add one when the right answer depends on connections between records rather than on a single passage, and keep it next to the index, not in place of it. Start without a graph, and add it when the golden set shows questions that plain retrieval keeps missing. We build both, the index and the graph, and connect them in one retrieval step.
Our other AI work, from computer vision to live captions, is on the AI case studies page, and the wider service is AI transformation.
How we work on it
You write to us
Send a brief through the contact form or message one of our Delivery Managers on LinkedIn. Say which documents the answers should come from and who will ask the questions.
- Owner
- You
- Result
- Your documents and your users' questions, described in your own words.
We choose what to prove first
We talk it through and pick a small golden set, real questions with the answers you expect, and the documents behind them. You can start small, with consultations.
- Owner
- You and CML Team
- Result
- A first golden set and a first step you choose, a proof of concept or consultations.
Free estimate and agreement
You get feedback on the idea and a free estimate. Billing is by the hour or, for a project, at a fixed price. An NDA is signed.
- Owner
- You and CML Team
- Result
- A signed agreement and a team at work.
Proof of concept on your documents
We build the pipeline on a sample of your documents and run the golden set against it. You see the answers with their citations and decide what comes next.
- Owner
- CML Team
- Result
- Cited answers on your own documents, with the golden set results.
Build with regular demos
Our project manager keeps you updated through regular meetings, planning sessions, demos and status reports. The golden set grows with each demo.
- Owner
- Our project manager
- Result
- Working software you can try at each demo.
Launch and next steps
We deploy the system. Then we keep building with you, or your in-house team takes over. The rights to the code pass to you after payment.
- Owner
- You and CML Team
- Result
- A RAG system in production, with its code in your hands.
Ready to talk it through? Start with a message.
How you can work with us
Work with us as a dedicated team that joins your in-house developers, as a project we manage from requirements to launch, or with on-demand specialists.
Industries and related services
Related services
AI Transformation
See the serviceMVP development
MVP development services for startups, from proof of concept to production, as we did for Swipelux, Levee and Health Influence.
See the serviceCustom CRM development
Custom CRM development services for sales, delivery and hiring teams, on web, iOS and Android.
See the service
Frequently asked questions
How long does it take to build a RAG system?
A proof of concept on a sample of your documents comes first, and it shows the real scope before you commit to the full build. Nestwise, our RAG parenting copilot, was delivered as a working proof of concept. How long the rest takes depends on the number of sources, their state and how strict the checks must be. A free estimate gives you the answer for your own project.
How much does RAG development cost?
We work by the hour or for a fixed price, and either way the cost follows the scope. It depends on how many sources there are, how messy they are and how strict the checks must be. Before you decide, you get feedback on your idea and a free estimate. You can also start small, with consultations, to shape the scope first.
Can you add RAG to a product we already have?
Yes. The index can sit next to your product and read from the data and documents it already keeps, with the same access rights your users have today. Persona is an example of RAG inside a larger product. The platform runs sales, delivery and hiring for IT agencies, and RAG is one of its AI features.
Which documents can a RAG system answer from?
Text documents, PDFs, scans after OCR, web pages and records from your database can all be sources. What matters is how they are prepared. Tables need to keep their rows and columns, scans need a text layer, and each chunk needs its title and heading so the answer can cite it. The answers are only as good as those sources, so plan time to clean them up and keep them current.
How do you keep a RAG chatbot from making up answers?
Three things work together. The model answers only from the passages it retrieved and cites each one. It says so when the documents do not hold the answer. And the golden set runs after every change to the documents, the prompt or the model, so you see a wrong answer in a test run before a user ever gets it.
Which vector database do you use?
It depends on where your data lives and how it grows. We work with Qdrant and Pinecone as vector databases, and with PostgreSQL when your data is already there. We pair semantic search with BM25 keyword search, because exact names, codes and numbers are easy to miss with semantic search alone.
Can RAG work with healthcare documents?
Yes, the method is the same, and the checks get stricter. Use only sources your clinical experts approved, cite every answer, write the golden set together with those experts and have a person review anything that could affect care. The rules for health data depend on your product and your market, so plan them with your own compliance advisers from the first step.
Where does our data go when the AI works with it?
We use self-hosted solutions or managed platforms such as Google Vertex AI. Which option, which AI vendor and the rules for using AI with your data are agreed with you before the work starts, so nothing goes to a provider you have not approved.
Who owns the code?
We sign an NDA, and the rights to the code pass to you after payment. After launch you choose whether we keep building with you or your in-house team takes the system over and runs the golden set on its own.
Related reading
Two ways to reach us
Whichever you choose, the conversation starts with a person.
Talk to our Delivery Manager
Oleksii Skurikhin, one of our Delivery Managers, is your first point of contact. Tell him what you are working on.
Talk to our Delivery Manager on LinkedIn (opens in a new tab)Send us a brief
Describe the task in the contact form. You can add a budget range if you like.
Get a free estimate

















