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

  • Hourly or fixed price
  • NDA signed
  • Code rights pass to you after payment

Trusted by Industry Leaders

Powering innovation for leading companies worldwide

  • Börse Stuttgart logo
    See the case
  • Blockpit logo
    See the case
  • Paysera logo
    See the case
  • Arbor logo
    See the case
  • MiActivo logo
    See the case

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 study
  • RAG 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 study
  • Document 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 study
  • Search 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 study
  • Golden 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.

  1. Documents. Decide which sources the answers may come from, who owns them and how they are updated.
  2. Parsing and OCR. Turn text, tables and scans into clean pieces (chunks) that can be cited.
  3. Vector and keyword index. Store each chunk as a semantic vector and as words for keyword search.
  4. Hybrid search. Combine semantic and keyword results for every question.
  5. Ranking. Score the candidates against the question and keep only the few that answer it.
  6. Answer with citations. The model answers only from those passages and links each claim to its source.
  7. 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

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.

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.

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