RAG & Embeddings

Answers from your own documents, with sources.

Retrieval systems that let your team and your customers ask questions of your docs, tickets and databases — and get answers they can check. Hybrid search, reranking and permission-aware retrieval, with groundedness evals on every release. Deployed in your cloud.

Where RAG projects stall

A chatbot over your docs takes a weekend. One people trust takes more.

Most RAG prototypes look good on ten hand-picked questions. They fail on the real ones: stale pages, scanned PDFs, tables, acronyms and access rules. These are the questions we answer before anyone relies on the answers.
We measure retrieval and answers separately, on your users’ own questions, so you can see which part to fix — with a fixed price and a success metric agreed before we build.
  • Does it find the right passage, or just a similar-sounding one?
  • Can someone get an answer from a document they aren’t allowed to open?
  • How soon does an edited or deleted document stop showing up in answers?
  • Does every answer cite a source — and does the source actually say that?
  • How will we know a new model, chunking or embedding change didn’t make it worse?
  • What does each answer cost, and how fast is it at peak load?
What we build

Where retrieval pays off first

We start where people already spend time looking things up, and where a wrong answer is easy to spot. These are the systems we build most often.

Internal knowledge assistant

Answers staff questions in Slack or Teams from your wikis, Notion, Confluence and tickets, with a link to every source — like the assistant we built for AppEvolve’s engineers.

We measureAnswer accuracy, time to answer, weekly active users

Support answer drafting

Drafts replies from your help center, product docs and past tickets, so agents edit instead of search. Low-confidence answers go straight to a person.

We measureDraft acceptance rate, handle time, escalation rate

Policy & contract search

Finds the clause, the policy version or the precedent across thousands of documents, and quotes the exact passage instead of paraphrasing it.

We measureRetrieval recall, citation accuracy, review time

Technical docs search

Search over manuals, specs and runbooks that handles part numbers, error codes and acronyms — where keyword search misses and vector search alone guesses.

We measureSearch success rate, zero-result queries, time to answer

Similarity search beyond text

Embeddings for records, images or sequences, not just documents — like the protein-sequence search we built for a biology R&D team.

We measureRecall at k, query latency, cost per query

Knowledge layer for agents

One retrieval service your agents and apps call as a tool, over MCP or an API, with the same permissions and citations as the chat interface.

We measureGroundedness, retrieval hit rate, latency

How we build RAG

From one knowledge domain to answers you can check

Every engagement follows the same four phases. You can stop after any of them and keep everything we built: code in your repo, indexes and infrastructure in your cloud.
  1. 01Phase 01

    Knowledge audit

    We map your sources, who may see what, and what a good answer looks like — and agree it in writing.

    • Source inventory: formats, volume, freshness and owners
    • Access rules mapped from the systems you already use
    • Test question set drawn from your users’ real questions
    • Baseline: how long finding an answer takes today

    DeliverableRetrieval design and a signed success metric

  2. 02Phase 02

    Proof pilot

    A working system on one knowledge domain, in your cloud, measured against the baseline.

    • Parsing and chunking tuned to your document types
    • Hybrid search (BM25 + vectors) with a reranker
    • Cited answers, and “I don’t know” when the sources don’t say
    • Evals for retrieval recall and answer groundedness

    DeliverableWeek-4 readout: accuracy vs. baseline, cost per answer, go/no-go

  3. 03Phase 03

    Production build

    We harden it for your full corpus, your users and your security review.

    • Incremental sync, so edits and deletions reach answers fast
    • Permission checks enforced on every query
    • Evals as CI gates on every model, prompt or index change
    • Infrastructure as code, monitoring and cost alerts

    DeliverableProduction system, runbook and dashboards in your accounts

  4. 04Phase 04

    Operate & improve

    Documents, questions and models all change. We keep the answers measured.

    • Weekly eval runs on fresh user questions
    • Unanswered and low-rated questions flagged as content gaps
    • New embedding and model versions tested before they ship
    • Hand-off to your team whenever you’re ready

    DeliverableMonthly report scored against your baseline

What we build with

Embeddings & reranking
Cohere Embed & RerankOpenAI embeddingsVoyage AIOpen-source embedding models
Search & vector stores
pgvectorOpenSearchPineconeAzure AI SearchBedrock Knowledge Bases
Evals & tracing
Custom eval suitesRagasLangfuseOpenTelemetry
Cloud & infrastructure
AWSAzureGCPTerraform

“RAG and LLM expertise that shipped a POC our customers had been asking for.”

Working with ForthClover on our Knowledge Base project has been a seamless experience. Their expertise in RAG applications and LLMs helped us ship a proof of concept that many of our customers had been asking for, and their professionalism made the collaboration both productive and enjoyable.

Peter LebiedzinskiPeter LebiedzinskiFounder & CEO, Printpal.io
printpal

Case study · AppEvolve

How AppEvolve’s engineers got answers from their own docs in Slack.

  • ~60% reduction in time engineers spent searching internal documentation
  • Nightly Notion sync keeps the knowledge base aligned with the latest standards
  • 100% adoption across the engineering team within the first month
Read the case study
FAQ

Questions we hear on fit calls

What is RAG, and when do we need it?
RAG (retrieval-augmented generation) looks up the relevant passages in your own data and hands them to the model with the question, so answers come from your sources, not the model’s memory. You need it when answers depend on information the model was never trained on, or that changes.
Why not just use a model with a huge context window?
For a handful of documents, that can work, and we’ll tell you if it’s enough. Across thousands of documents it gets slow and expensive, and it can’t enforce who may see what. Retrieval sends only the passages that matter, from documents the user is allowed to open.
Do we need a new vector database?
Usually not. If you run Postgres, pgvector is often enough; if you already use OpenSearch or Azure AI Search, we build on it. We choose the store on your volume, latency and operations needs.
How do you stop it making things up?
Every answer must cite the passages it uses, and the system says it doesn’t know when the sources don’t cover the question. On every release we test groundedness — whether each claim is supported by its source — alongside retrieval recall.
Can it respect our document permissions?
Yes. Access rules from your source systems are stored with each chunk and checked at query time, so people only get answers from documents they can already open.
We already built a RAG prototype. Can you help?
Yes. We measure it on your real questions, find where it fails — parsing, chunking, retrieval, reranking or the prompt — and give you a fix plan priced item by item. Our $4,500 AI System Audit does this in 5 business days.

Have documents nobody can find anything in?

Bring one knowledge domain to a free 45-minute fit call. You leave with a recommended design, a rough cost per answer, and a straight answer on whether RAG is the right tool.