Knowledge
Combined KnowledgeBase
The CombinedKnowledgeBase combines multiple knowledge bases into 1 and is used when your app needs information using multiple sources.
Usage
We are using a local PgVector database for this example. Make sure it’s running
knowledge_base.py
from phi.knowledge.combined import CombinedKnowledgeBase
from phi.vectordb.pgvector import PgVector2
knowledge_base = CombinedKnowledgeBase(
sources=[
url_pdf_knowledge_base,
website_knowledge_base,
local_pdf_knowledge_base,
],
vector_db=PgVector2(
# Table name: ai.combined_documents
collection="combined_documents",
db_url="postgresql+psycopg://ai:ai@localhost:5532/ai",
),
)
Then use the knowledge_base
with an Assistant:
assistant.py
from phi.assistant import Assistant
from knowledge_base import knowledge_base
assistant = Assistant(
knowledge_base=knowledge_base,
add_references_to_prompt=True,
)
assistant.knowledge_base.load(recreate=False)
assistant.print_response("Ask me about something from the knowledge base")
Params
sources
List[KnowledgeBase]
List of knowledge bases.
vector_db
VectorDb
Vector Database for the Knowledge Base.
num_documents
int
Number of documents to return on search. (default: 5
)
optimize_on
int
Number of documents to optimize the vector db on.