BeeAI Tracing (Python)
Instrument and observe BeeAI agents
Arize provides seamless observability and tracing for BeeAI agents through the Python OpenInference instrumentation package.
Launch Arize
To get started, sign up for a free Arize account and get your Space ID and API Key.
Install
pip install openinference-instrumentation-beeai beeai-framework arize-otel
Setup
Connect your application to Arize and then apply the BeeAIInstrumentor
.
# Import Arize OTel registration
from arize.otel import register
# Import the automatic instrumentor from OpenInference
from openinference.instrumentation.beeai import BeeAIInstrumentor
# Setup OTel via our convenience function
tracer_provider = register(
space_id = "your-space-id", # in app space settings page
api_key = "your-api-key", # in app space settings page
project_name = "my-beeai-project", # name this to whatever you would like
)
# Start the instrumentor for BeeAI
BeeAIInstrumentor().instrument(tracer_provider=tracer_provider)
Run BeeAI
Sample agent built using BeeAI with automatic tracing:
import asyncio
from beeai_framework.agents.react import ReActAgent
from beeai_framework.agents.types import AgentExecutionConfig
from beeai_framework.backend.chat import ChatModel
from beeai_framework.backend.types import ChatModelParameters
from beeai_framework.memory import TokenMemory
from beeai_framework.tools.search.duckduckgo import DuckDuckGoSearchTool
from beeai_framework.tools.search.wikipedia import WikipediaTool
from beeai_framework.tools.tool import AnyTool
from beeai_framework.tools.weather.openmeteo import OpenMeteoTool
llm = ChatModel.from_name(
"ollama:granite3.1-dense:8b",
ChatModelParameters(temperature=0),
)
tools: list[AnyTool] = [
WikipediaTool(),
OpenMeteoTool(),
DuckDuckGoSearchTool(),
]
agent = ReActAgent(llm=llm, tools=tools, memory=TokenMemory(llm))
prompt = "What's the current weather in Las Vegas?"
async def main() -> None:
response = await agent.run(
prompt=prompt,
execution=AgentExecutionConfig(
max_retries_per_step=3, total_max_retries=10, max_iterations=20
),
)
print("Agent 🤖 : ", response.result.text)
asyncio.run(main())
Observe
Arize provides visibility into your BeeAI agent operations with automatic tracing of all interactions.
Resources
Last updated
Was this helpful?