2026-09-05 The first real calls have been placed: five ended normally, six failed. Here is what broke.

Guide

Answers from your own documents

A knowledge base from your documents, attached to an assistant, with hybrid retrieval.

15 minutes 5 steps

What you end up with

An assistant that answers from your documents, and that can be stopped from inventing when it finds nothing.

§00 What you need first
  • A published assistant.
  • A valid OpenAI credential, because embeddings go through it.
  • Documents as text, markdown, CSV, HTML, JSON, XML, .docx or .xlsx.
§01 Step

Create the knowledge base

The default provider is pgvector, which is the same Postgres everything else sits in. Qdrant, Pinecone and Weaviate appear in the list but are disabled: they are not implemented. The embedding model locks the moment the first chunk exists, because otherwise half your index is embedded with one model and half with another.

Build → Knowledge bases → Create → Provider: PostgreSQL pgvector

§02 Step

Leave the chunking parameters alone the first time

Chunks of 800 tokens with 120 of overlap, six passages retrieved, a 0.25 threshold, and a 0.65 weight on vectors against 0.35 on lexical search. These are sensible starting values. Adjust them once you have seen what retrieves badly, not before.

Embeddings: 800 / 120 · Retrieval: Top K 6, threshold 0.25, vector 0.65 / lexical 0.35

§03 Step

Upload the documents

The knowledge base page has a documents tab. You can upload files, give a URL, or paste text. Upload queues an extraction, chunking and embedding pipeline; the table refreshes itself every five seconds and shows progress and the chunk count.

Source: File / URL / Text. Accepted: txt, md, csv, tsv, html, json, xml, docx, xlsx.

§04 Step

Test retrieval before you attach anything

The test action runs a real query against the real index and shows you the passages with their scores. If the obvious customer question does not pull the obvious passage, the problem is in the documents or the chunking, not in the prompt.

Knowledge base page → “Test retrieval” → Question + Top K → Search

§05 Step

Attach it, then decide how strict it is

On the assistant, the knowledge tab takes the base. If you want the assistant not to fill gaps from the model weights, turn on knowledge-only mode on the base and set a minimum number of passages and a minimum score. Note that an assistant with that mode on and no base attached will not pass the validator.

Assistant → Knowledge → pick the base. On the base: the knowledge-only section.

§OK Check

How to tell it worked

  • Documents reach the ready state with a chunk count above zero.
  • The retrieval test returns the right passage for a question a real customer would ask.
  • A test call emits knowledge.queried, and knowledge.insufficient when nothing useful came back.
§!! Caveats

What does not work yet

Every guide has this section. If it were missing, it would mean we had not looked hard enough.

  • PDFs cannot be uploaded. Neither can legacy .doc, .xls or .ppt. They are rejected at upload rather than ingested empty — but it still means you convert them yourself first.
  • Reranking is there as an interface and is not implemented. Retrieval stays vector plus full-text search.
  • Embeddings only go through OpenAI. The provider interface exists; there is one implementation behind it.