Services & Use Cases

BioAgents Research Assistant

BioAgents answers research questions from the papers researchers register, a curated knowledge graph of published papers, and public protein structure databases. Every answer cites the DOIs it draws on.

Why?

The knowledge sits in prose

A research paper is a terrible database. It knows that this gene associates with that disease and that this method was applied at that site, but the knowledge sits in prose, findable only by someone who already knows to read that particular paper. Grounded questions across a corpus are what make discovery and reuse practical.

Keyword search finds documents, not answers. A researcher still has to open each hit and read it to learn whether it says anything about the question at hand.

BioAgents retrieves the passages nearest to a question, combines them with curated records from the knowledge graph, and returns an answer with its sources. A persistent did:bio identifier ties each registered paper back to its sealed file, so a citation can be followed to the exact bytes it came from.

What?

One agent, three plugins

BioAgents is the AI layer of the Ekayana platform. It is a separate ElizaOS deployment that the API reaches over HTTP. It is not a pipeline that turns an uploaded PDF into triples: registered papers are indexed so the agent can answer questions about them, and the knowledge graph is loaded separately from curated records.

Knowledge base

plugin-knowledge, pdf.js, pgvector

A registered paper is read with pdf.js, split into chunks, and each chunk is embedded and stored in Postgres with pgvector. Searches return the nearest chunks with a similarity score, and the agent uses the same index to ground its answers.

Knowledge graph

plugin-kg, Oxigraph, SPARQL

A triple store of curated paper records, one named graph per DOI, loaded from JSON-LD. The text model plans the searches and the plugin builds every SPARQL query from typed inputs. Generated hypotheses are kept in a graph of their own.

Protein structure

plugin-structure

Lookups against AlphaFold DB, AlphaMissense, UniProt, and 3D-Beacons. Resolve a gene or protein name to an accession, read a structure report, or check the AlphaMissense verdict for a variant.

Main endpoints

Registration answers 202 and ingests in the background, so a long PDF never blocks a connection. The agent's text model comes from OpenAI, Anthropic, or OpenRouter, whichever the deployment is configured with. The routes below are the main ones; the architecture guide lists the rest.

BioAgents REST endpoints, with method and purpose
EndpointMethodPurpose
/api/research-paperPOSTRegister an uploaded paper and start ingestion
/api/research-paper/did/{did}GETThe paper record with its ingestion status
/api/bioagents/queryPOSTAsk the agent a question, answered with cited DOIs
/api/bioagents/knowledge/searchGETNearest knowledge-base chunks for a query
/api/bioagents/kg/askPOSTAsk the knowledge graph, returning synthesis, papers, and plan
/api/bioagents/structure/reportGETA protein structure report for a UniProt accession

The BioAgents routes check the session token and involve no UCAN. The API forwards questions to the agent under its own server key rather than under the user's identity.

How?

Upload, register, ingest, ask

Four steps take an uploaded paper to grounded answers, all over plain HTTP. The architecture guide covers every route with request and response examples.

  1. Upload

    Upload the paper. Like every file on Ekayana it is sealed before it reaches the IPFS cluster, and only your own uploads can be registered.

  2. Register

    Call POST /api/research-paper with the file CID and whatever metadata you have. It creates a DID of kind paper and answers 202.

  3. Ingest

    Ingestion uploads the text to the knowledge base and, when a DOI was given, fills empty fields from the knowledge graph. Poll /api/research-paper/did/{did} until the status moves from pending to completed.

  4. Ask

    Query the agent, search the knowledge base, or ask the knowledge graph. Answers cite the DOIs they draw on.

Register, poll, ask (JavaScript)

// 1. Register a paper you uploaded. Ingestion runs in the background.
const res = await fetch('https://api.ekayana.io/api/research-paper', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${token}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    file_cid: 'bafybeig...',
    title: 'CRISPR-Cas9 Gene Editing for Neurodegenerative Diseases',
    authors: ['Jane Smith', 'John Doe'],
    doi: '10.1038/s41586-021-03819-2',
  }),
});

// 2. The response is 202 with the paper's DID. Poll until status is "completed".
const { did } = await res.json();
const paper = await fetch(
  `https://api.ekayana.io/api/research-paper/did/${did}`,
  { headers: { Authorization: `Bearer ${token}` } },
);

// 3. Ask the agent. The answer comes back with the DOIs it cited.
const answer = await fetch('https://api.ekayana.io/api/bioagents/query', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${token}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ query: 'What is known about CRISPR in neurodegeneration?' }),
});

The knowledge base is shared by every user

Chunks indexed for one account are searchable by every account that can query the agent, and the agent grounds its answers in them for everyone. Register a paper only if its text may be read by every user of the platform. A prepublication manuscript belongs in sealed storage and nowhere else. The API decrypts a paper only for its owner's ingestion, and a file that was merely shared with you cannot be registered.

Capabilities

What BioAgents works from

BioAgents is included with every Ekayana membership, and individual researchers get basic BioAgents access on the free Researcher tier. The fee schedule sets out what each tier covers.

The paper record

Fields you supply
Title, authors, DOI, and keywords go into the public metadata document of the paper DID. Anything you supply wins over enrichment.
Enrichment by DOI
When a DOI is given, the knowledge graph record fills in the abstract, venue, date, authors, keywords, and subject terms that you left empty.
Editable afterwards
PUT /api/research-paper/{did} edits the title, authors, DOI, abstract, keywords, date, journal, or entities at any time.

Sources for answers

Registered papers
Chunks from every registered paper, searchable by every account that can query the agent.
Curated paper records
Published papers in the knowledge graph, searchable by concept, author, and DOI through typed routes rather than a raw SPARQL endpoint.
Structural databases
AlphaFold DB, AlphaMissense, UniProt, and 3D-Beacons, reached through the protein structure plugin.
Ecosystem

Where BioAgents fits

BioAgents is one layer of the platform. Identifiers are registered beneath it, discovery runs on the graph and knowledge base it queries, and repositories reach it over the same API.

Membership includes BioAgents

Institutional Members query BioAgents under their own accounts. Individual researchers can start on the free Researcher tier without an institutional agreement.