Assistants
Autonomous Assistant
With Autonomous Assistants, the LLM can run functions to:
- Search the knowledge base
- Search the chat history
- Achieve other tasks
The LLM decides if it needs to search the knowledge base and what search parameters it needs to query the knowledge base.
cookbook/assistants/auto_assistant.py
from phi.assistant import Assistant
from phi.knowledge.pdf import PDFUrlKnowledgeBase
from phi.vectordb.pgvector import PgVector2
knowledge_base = PDFUrlKnowledgeBase(
urls=["https://phi-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"],
vector_db=PgVector2(
collection="recipes",
db_url="postgresql+psycopg://ai:ai@localhost:5532/ai",
),
)
# Comment out as the knowledge base is already loaded.
# knowledge_base.load(recreate=False)
assistant = Assistant(
knowledge_base=knowledge_base,
# Show tool calls in the response
show_tool_calls=True,
# Enable the assistant to search the knowledge base
search_knowledge=True,
# Enable the assistant to read the chat history
read_chat_history=True,
)
assistant.print_response("How do I make pad thai?", markdown=True)
assistant.print_response("What was my last question?", markdown=True)
Usage
1
Create a virtual environment
Open the Terminal
and create a python virtual environment.
2
Run PgVector
docker run -d \
-e POSTGRES_DB=ai \
-e POSTGRES_USER=ai \
-e POSTGRES_PASSWORD=ai \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v pgvolume:/var/lib/postgresql/data \
-p 5532:5432 \
--name pgvector \
phidata/pgvector:16
3
Install libraries
pip install -U pgvector pypdf "psycopg[binary]" sqlalchemy openai phidata
4
Run the assistant
Information
- View on Github
Was this page helpful?