> ## Documentation Index
> Fetch the complete documentation index at: https://docs.consensus.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Swap a hand-maintained paper corpus for full-text search

> Replace a curated PubMed subset you maintain yourself with a weekly-refreshed full-text index, without rebuilding the infrastructure.

## What you get

Your agents stop reasoning over a stale slice of abstracts and start reasoning over full-text findings, with quality filters and a link back to every source. And nobody on your team maintains a corpus pipeline any more.

## Who it's for

Engineers who own "the literature service" at an AI-for-science company — the one who inherited a scraped or licensed PubMed subset and now owns its refresh, its gaps, and its quality problems.

## What it replaced at Owkin

[Owkin](https://consensus.app/home/community-voices/owkin/) builds AI tools for biopharma drug discovery. Its flagship product, K Pro, is an Agentic AI Scientist orchestrating specialized agents across clinical trial design, patient and population decisions, and early portfolio choices.

Early versions of K Pro ran on a curated collection of PubMed abstracts. Serviceable, but it left agents reasoning from titles and summaries rather than full-text findings, with limited filtering for study quality and no built-in defense against hallucination.

> "We went from maintaining a collection of PubMed abstracts to 200M+ full-text articles updated weekly, with hallucination safeguards built in. It's exactly the kind of best-in-class building block we want to compose with, rather than rebuild."
>
> — **Lucas Brechot**, Senior Product Manager, AI Products, Owkin

|                | Result                                               |
| -------------- | ---------------------------------------------------- |
| Paper coverage | **25x** increase                                     |
| Index refresh  | **Weekly**                                           |
| Time to ship   | **Days**, against weeks or months of custom building |

## Why abstracts are the wrong foundation

<Steps>
  <Step title="The findings are not in the abstract">
    Effect sizes, conditions, populations, and limitations live in the body of a paper. An agent restricted to abstracts produces answers that are confident and shallow — the worst combination in a high-stakes domain.
  </Step>

  <Step title="A self-maintained corpus decays">
    Someone has to keep it fresh, handle schema drift, and explain the gaps. That work is invisible until it breaks, and it is never the thing your product is differentiated on.
  </Step>

  <Step title="Quality filtering has to be programmatic">
    Human researchers instinctively weigh recency, citation count, and journal reputation. Agents need those as parameters — `year_min`, `citation_min`, `sjr_max` — or they treat a 1998 case report and a 2025 meta-analysis as equivalent.
  </Step>

  <Step title="Grounding needs a link, not a claim">
    Every result carries a `doi` and a `url` back to the paper. That is what turns "the model says" into "this paper says", which is the difference that matters to your users.
  </Step>
</Steps>

## Making the swap

Point your retrieval layer at the [MCP server](/consensus-mcp) or [`GET /v1/search`](/api-get-started), and map your existing corpus filters onto the parameters that replace them:

| What you maintained                     | What replaces it                            |
| --------------------------------------- | ------------------------------------------- |
| A recency cutoff on your ingest         | `year_min`, `month_min`                     |
| A journal allowlist                     | `sjr_max`, `journal_name`, `publisher_name` |
| A study-design tag you derived yourself | `study_types`, `human`, `controlled`        |
| A minimum-quality heuristic             | `citation_min`, `sample_size_min`           |
| Your own full-text extraction           | `include_full_text_chunks`                  |
| A domain restriction                    | `domain`, `medical_mode`                    |

<Note>
  `include_full_text_chunks` requires a paid plan or an Enterprise API key and currently covers open-access papers. Pagination has the same plan gating — see [rate limits](/use-cases/best-practices#rate-limits-and-result-caps).
</Note>

## What to check before you trust it

* **Run your old corpus and the new one side by side** on the same queries before cutting over. You are looking for regressions on your niche, not average quality.
* **Check the filters actually narrow the way your old pipeline did.** A corpus restriction you enforced at ingest becomes a per-request parameter, and it is easy to forget one.
* **Confirm coverage on your specific subfield.** Full-text excerpts currently cover open-access papers, so a closed-access niche will look thinner than it is.
* **Keep the DOI.** If your product cites papers, the `doi` and `url` are what make the citation checkable downstream.

## Related

<CardGroup cols={2}>
  <Card title="Add a citable evidence layer to an agent you already ship" icon="plug" href="/use-cases/add-an-evidence-layer">
    The same integration, framed as an addition rather than a replacement.
  </Card>

  <Card title="Benchmark literature providers against your own ground truth" icon="ruler" href="/use-cases/benchmark-retrieval">
    How to decide whether the swap is actually an upgrade.
  </Card>

  <Card title="Best practices" icon="shapes" href="/use-cases/best-practices">
    Rate limits, grounding rules, and the five primitives.
  </Card>

  <Card title="All use cases" icon="grid-2" href="/use-cases">
    Browse the gallery by persona.
  </Card>
</CardGroup>
