Skip to main content

Knowledge bases

Knowledge bases store documents for retrieval-augmented generation (RAG). Internal bases use PostgreSQL pgvector plus object storage. Azure AI Search remains available as a KnowledgeBase provider backend.

Admin UI: Personal → Knowledge → Documents (requires Internal KB enabled and a PostgreSQL + pgvector deployment).

Create a base

  1. Pick a visibility:
    • Personal — only you, your assistant, and agents you run.
    • Organization — every agent in the active organization, including the assistant.
    • Project — the owning project, plus any projects you later share it with.
  2. For a project base, pick the owning project.
  3. Choose an embedding provider (Azure or Gemini with embeddings capability) and model.
  4. Optionally tune chunk size / overlap (defaults work for most corpora).
  5. Save and keep the base active.

Project bases can still be shared with additional projects. Personal and organization bases do not use that sharing list.

Upload documents

Supported uploads typically include PDF, DOCX, XLSX/XLS, CSV, and TXT.

  1. Open the base → Documents.
  2. Upload one or more files.
  3. Watch status: PendingExtractingEmbeddingIndexed (or a failed state with an error).
  4. Use Reindex after fixing a failure or changing embedding settings.

Use knowledge in chat

The personal assistant searches visible bases with knowledge_base_search when a question may be answered by indexed documents. It does not inject the whole corpus on every turn.

In Playground or chat integrations:

  1. Select one or more knowledge bases visible to the project (project-owned, shared, organization-wide, and your personal bases).
  2. Ask a question; retrieved chunks are injected as context (often with citation markers).
  3. Open cited blobs through the platform’s download/view helpers when links are shown.

Alternatively, admins can create a KnowledgeBase provider (KbBackend=Internal) and route queries to it like any other provider.

Tips

  • Prefer sharing bases over uploading the same files twice.
  • Reindex after changing the embedding model.
  • Empty allow-lists on sessions/tasks usually mean “no extra restriction” — set explicit IDs when you need a hard boundary.