Example

Install textract if needed using this guide

knowledge_base.py
from phi.knowledge.text import TextKnowledgeBase
from phi.vectordb.pgvector import PgVector

from resources import vector_db

knowledge_base = TextKnowledgeBase(
    path="data/docs",
    # Table name: ai.text_documents
    vector_db=PgVector(
        table_name="text_documents",
        db_url=vector_db.get_db_connection_local(),
    ),
)

TextKnowledgeBase Params

ParameterTypeDefaultDescription
pathUnion[str, Path]-Path to text files. Can point to a single text file or a directory of text files.
formatsList[str][".txt"]Formats accepted by this knowledge base.
readerTextReaderTextReader()A TextReader that converts the text files into Documents for the vector database.

AgentKnowledge Params

TextKnowledgeBase is a subclass of the AgentKnowledge class and has access to the same params

ParameterTypeDefaultDescription
readerOptional[Reader]NoneReader to read the documents
vector_dbOptional[VectorDb]NoneVector db to store the knowledge base
num_documentsint2Number of relevant documents to return on search
optimize_onOptional[int]1000Number of documents to optimize the vector db on
driverstr"knowledge"Driver for the Assistant knowledge