Agent with Object Response
Get Structured and Programmable Results from Your Agent
It is crucial for an agent’s outputs to be usable. A generated text may not always be enough. Sometimes, we may need to perform analysis and extract specific data points.
In such cases, using ObjectResponse simplifies your work by returning structured objects instead of unstructured text.
Agent with Object Response
This agent will fetch OpenAI developments like the previous example, but instead of returning plain text, it will return structured data that can be easily processed.
agent_with_object_response.py
pythonCopyEditfrom beaconlabs import Agent, Task
from beaconlabs.client.tools import Search
from beaconlabs import ObjectResponse # Importing Object Response
class ANew(ObjectResponse):
title: str
content: str
class News(ObjectResponse):
news: list[ANew] # We want to get a list of ANew objects
task = Task(
"Find the latest OpenAI developments on the internet.",
tools=[Search],
response_format=News # Specifying the Response format we want
)
agent = Agent("Reporter")
agent.print_do(task)
Processing the Results
When you want to use the news results:
agent_with_object_response.py
pythonCopyEditresult = task.response
for each_new in result.news:
print()
print("Title:", each_new.title)
print("Content:", each_new.content)
Running the Agent
To run the agent, install dependencies and export your OPENAI_API_KEY.
1. Set Up Your Virtual Environment
Mac / Windows
shCopyEditpython3 -m venv .venv
source .venv/bin/activate
2. Install Dependencies
Mac / Windows
shCopyEditpip install -U beaconlabs
3. Set Up Your OpenAI API Key
.env File
iniCopyEditOPENAI_API_KEY=sk-***
4. Run the Agent to Execute the Task
shCopyEditpython agent_with_object_response.py
✅ You’ve successfully created an agent that returns structured data using Beacon Labs! 🚀
Last updated