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:
- DOCX
- CSV
- TXT
- Markdown
- JSON
- Code files (Python, JavaScript, and more)
The maximum file size is 10 MB per file.

Importing URLs
Paste a URL and Oya automatically fetches the page content, extracts the text, and creates a knowledge base entry from it.
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.
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