import typer from rich.prompt import Prompt from typing import Optional from phi.agent import Agent from phi.knowledge.pdf import PDFUrlKnowledgeBase from phi.vectordb.chroma import ChromaDb knowledge_base = PDFUrlKnowledgeBase( urls=["https://phi-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"], vector_db=ChromaDb(collection="recipes"), ) # Comment out after first run knowledge_base.load(recreate=False) def pdf_agent(user: str = "user"): run_id: Optional[str] = None agent = Agent( run_id=run_id, user_id=user, knowledge_base=knowledge_base, use_tools=True, show_tool_calls=True, debug_mode=True, ) if run_id is None: run_id = agent.run_id print(f"Started Run: {run_id}\n") else: print(f"Continuing Run: {run_id}\n") while True: message = Prompt.ask(f"[bold] :sunglasses: {user} [/bold]") if message in ("exit", "bye"): break agent.print_response(message) if __name__ == "__main__": typer.run(pdf_agent)
Create a virtual environment
Open the Terminal and create a python virtual environment.
Terminal
Install libraries
pip install -U chromadb pypdf openai phidata
Run ChromaDB Agent
Was this page helpful?