Code
cookbook/11_models/openai/responses/pdf_input_url.py
Copy
Ask AI
from agno.agent import Agent
from agno.db.postgres import PostgresDb
from agno.media import File
from agno.models.openai.responses import OpenAIResponses
# Setup the database for the Agent Session to be stored
db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"
db = PostgresDb(db_url=db_url)
agent = Agent(
model=OpenAIResponses(id="gpt-5-mini"),
db=db,
tools=[{"type": "file_search"}, {"type": "web_search_preview"}],
markdown=True,
)
agent.print_response(
"Summarize the contents of the attached file and search the web for more information.",
files=[File(url="https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf")],
)
# Get the stored Agent session, to check the response citations
session = agent.get_session()
if session and session.runs and session.runs[-1].citations:
print("Citations:")
print(session.runs[-1].citations)
Usage
1
Set up your virtual environment
Copy
Ask AI
uv venv --python 3.12
source .venv/bin/activate
2
Set your API key
Copy
Ask AI
export OPENAI_API_KEY=xxx
3
Install dependencies
Copy
Ask AI
uv pip install -U openai agno
4
Run Agent
Copy
Ask AI
python cookbook/11_models/openai/responses/pdf_input_url.py