Skip to main content

Overview

KnowledgeBase accepts multiple types of sources: individual files, directories, or direct string content. It automatically detects file types and uses appropriate loaders.

Installation

To add files to your KnowledgeBase, you’ll need a vector database provider and document loaders for the file types you want to process.
Example: Setting up for PDF files with ChromaTo process PDF files and store them in ChromaDB:
Or install both at once:
What you need:
  • A vector database provider (e.g., chroma, qdrant, milvus, weaviate, pinecone, faiss, or pgvector)
  • Document loaders for your file types (e.g., pdf-loader, docx-loader, csv-loader, markdown-loader, html-loader, json-loader, xml-loader, yaml-loader, text-loader)
The examples below use Chroma and PDF loader, but you can use any combination of supported providers and loaders. See Vector Stores and Document Loaders for all options.

Examples

Single File

Multiple Files

Directory

Mixed Sources

Supported File Types

  • PDF: .pdf (PyPDF, PDFPlumber, PyMuPDF)
  • Markdown: .md, .markdown
  • Documents: .docx
  • Spreadsheets: .csv
  • Data: .json, .jsonl, .xml, .yaml, .yml
  • Code: .py, .js, .ts, .java, .c, .cpp, .h, .cs, .go, .rs, .php, .rb
  • Web: .html, .htm, .xhtml, .css
  • Text: .txt, .log, .rst