Copy
Ask AI
import asyncio
from agno.agent import Agent
from agno.knowledge.knowledge import Knowledge
from agno.knowledge.reader.pptx_reader import PPTXReader
from agno.models.openai import OpenAIChat
from agno.vectordb.pgvector import PgVector
db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"
knowledge = Knowledge(
# Table name: ai.pptx_documents
vector_db=PgVector(
table_name="pptx_documents",
db_url=db_url,
),
)
# Create an agent with the knowledge
agent = Agent(
model=OpenAIChat(id="gpt-5.2"),
knowledge=knowledge,
search_knowledge=True,
)
def main():
# Load PPTX content from file(s) asynchronously
# You can load multiple PPTX files by calling ainsert multiple times
asyncio.run(
knowledge.ainsert(
path="path/to/your/presentation.pptx", # Replace with actual PPTX file path
reader=PPTXReader(),
)
)
# Create and use the agent
asyncio.run(
agent.aprint_response(
"Search through the presentation content and tell me what key topics, main points, or information are covered in the slides. Be specific about what you find in the knowledge base.",
markdown=True,
)
)
if __name__ == "__main__":
main()
Run the Example
Copy
Ask AI
# Clone and setup repo
git clone https://github.com/agno-agi/agno.git
cd agno/cookbook/07_knowledge/readers
# Create and activate virtual environment
./scripts/demo_setup.sh
source .venvs/demo/bin/activate
# Optiona: Run PgVector (needs docker)
./cookbook/scripts/run_pgvector.sh
python pptx_reader_async.py