DocsKnowledge Base

Knowledge Base

Upload documents and URLs that your agents can search semantically when answering questions. Powered by ChromaDB and FastEmbed.

Overview

Out of the box, your agent only knows what its LLM was trained on. The knowledge base bridges that gap — upload your own documents, FAQs, or internal wikis so the agent can answer questions grounded in your data instead of general knowledge.

When a user asks a question, the agent searches the knowledge base semantically and uses the most relevant content as context for its response. This means answers stay accurate, up-to-date, and specific to your domain.

Uploading Files

Use the drag-and-drop zone or click to browse your file system. Oya extracts the text content from each file and indexes it automatically. Supported formats:

  • PDF
  • DOCX
  • CSV
  • TXT
  • Markdown
  • JSON
  • Code files (Python, JavaScript, and more)

The maximum file size is 10 MB per file.

Knowledge Base step showing URL fetch field and drag-and-drop file upload area
Fetch content from URLs or upload files via drag-and-drop.
Tip
Multiple files can be uploaded at once.

Importing URLs

Paste a URL and Oya automatically fetches the page content, extracts the text, and creates a knowledge base entry from it.

Note
URL import works with any publicly accessible webpage. The content is fetched once at import time and stored locally — later changes to the page are not synced automatically.

Assigning to Agents

Knowledge base folders are assigned on a per-agent basis inside the Resources step of the Agent Builder, under the Knowledge Base tab.

Only agents that have a folder assigned can search its contents. This keeps knowledge scoped to the agents that need it and avoids cross-contamination between different use cases.

Tip
Create separate folders for different topics and assign them to the relevant agents.

Content Preview

Click any uploaded file to preview its extracted text content in a dialog. This lets you review exactly what the agent will search against and verify that parsing produced the expected output.

How Semantic Search Works

Oya uses ChromaDB with FastEmbed for vector embeddings. When a user asks a question, the query is embedded into a vector and matched against stored document chunks using cosine similarity.

  • Documents are chunked into passages
  • Each chunk is embedded into a vector
  • Queries are embedded and matched by cosine similarity
  • Top matching chunks are returned as context for the LLM
Note
Semantic search finds conceptually relevant content, not just keyword matches. “How do I reset my password?” will match documentation about “account recovery” even without shared keywords.