// Knowledge and AI agents

Agentic knowledge base

Answers drawn from company documents, each with a citation. On dedicated GPUs, with no data leaving the company.

Our product

knowledge-agent - trace

The knowledge people need sits in PDFs, spreadsheets and scans, and a language model without sources can make things up. We build knowledge bases where an agent searches the documents itself and answers from them, citing a source for every claim. We deploy them in finance, insurance and pharma, and they fit anywhere answers have to come from documents: law firms, healthcare, manufacturing, energy, public administration and customer service.

// What we delivered

  • →A document pipeline for PDFs, Excel files and scans, with OCR and chart descriptions from a vision model
  • →Hybrid search: vector plus full-text that handles Polish inflection, with reranking
  • →An agent that picks its own tools and fetches more context when it needs it
  • →Answers with citations to source passages and a grounding check
  • →A trace of every step in the observability layer
  • →On-premise deployment on dedicated GPUs, with local models

// how it works

01 / 05 · Documents

Documents become knowledge

PDFs, Excel sheets and scans go into one pipeline. OCR reads scans in Polish and English, tables become text with their column headers, and a vision model describes charts. Each chunk gets a prefix with the document and section name before it becomes a vector. The knowledge base built on the public drug registry holds over 2 million chunks from 22,786 documents.

knowledge-base - ingest

02 / 05 · Question embedding

How the model understands a question

The question is split into tokens, often pieces of words. Layer by layer, attention adds context until “dose” comes to mean “maximum daily dose of paracetamol for adults”. In the end, the whole question becomes a single vector, computed on our own GPUs.

embedding-model - forward pass

03 / 05 · Hybrid search

Searching by meaning and by words

Two searches run in parallel. The vector database finds chunks with a similar meaning, and a reranker orders them by relevance. Full-text search reduces words to their stems, so “doses” and “dose” count as the same word. The two result lists are merged with Reciprocal Rank Fusion (RRF).

retrieval - hybrid search

04 / 05 · Agent loop

An agent, not a search engine

For the model, search is a tool: it decides what to call and whether it has enough context. Here it finds the first results too thin, pulls in the full dosage section, then checks the interval between doses in the leaflet with an exact phrase. Every step is recorded by the observability layer, so you can trace where the answer came from.

knowledge-agent - trace

05 / 05 · Sourced answer

An answer you can check

The answer streams in token by token, and every claim cites a specific passage in a document. Before it goes out, it passes guardrails: a grounding check against the sources and a hallucination detector. Everything runs on-premise on dedicated GPUs, so documents and questions never leave the company.

knowledge-agent - answer

// Facts

Chunks in a production knowledge base
2M+
Documents from the public drug registry
22,786

Technologies used

Python

FastAPI

Vector DB

PostgreSQL

Redis

Object storage

OCR

LLM serving

Local LLMs

Observability

Docker