Knowledge Storage
Vector store backends for knowledge and document retrieval
Knowledge Storage
Knowledge uses vector stores to index and retrieve documents. Choose the right backend for your use case.
Quick Setup
from praisonaiagents import Agent
# Default: Chroma (zero-config, local)
agent = Agent(knowledge=["docs/"])
# With specific provider (chroma ships out of the box)
agent = Agent(
knowledge={
"sources": ["docs/"],
"vector_store": {
"provider": "chroma",
"config": {"collection_name": "my_docs"}
}
}
)Supported Vector Stores
Qdrant
High-performance vector search
ChromaZero-config local storage
PineconeManaged cloud service
WeaviateOpen-source, scalable
LanceDBServerless vector DB
MilvusEnterprise-grade
PGVectorPostgreSQL extension
CassandraDistributed storage
ClickHouseAnalytics-optimized
Choosing a Vector Store
| Use Case | Recommended | Why |
|---|---|---|
| Local development | Chroma | Zero config, embedded |
| Production (hosted) | Pinecone | Managed, scalable |
| Production (self-hosted) | Qdrant/Weaviate | Performant, open-source |
| PostgreSQL stack | PGVector | Same infrastructure |
| Enterprise | Milvus | High availability |
Configuration Examples
Chroma
agent = Agent(
knowledge={
"sources": ["docs/"],
"vector_store": {
"provider": "chroma",
"config": {
"collection_name": "my_docs",
"path": ".praison/chroma"
}
}
}
)Qdrant
agent = Agent(
knowledge={
"sources": ["docs/"],
"vector_store": {
"provider": "qdrant",
"config": {
"url": "http://localhost:6333",
"collection_name": "my_docs"
}
}
}
)Pinecone
agent = Agent(
knowledge={
"sources": ["docs/"],
"vector_store": {
"provider": "pinecone",
"config": {
"api_key": "your-api-key",
"index_name": "my-index"
}
}
}
)