Skip to content

Commit b4520cd

Browse files
committed
Tox ruff fixes
1 parent f3398e4 commit b4520cd

File tree

17 files changed

+1425
-1379
lines changed

17 files changed

+1425
-1379
lines changed

instrumentation-genai/opentelemetry-instrumentation-openai-agents/examples/basic_usage.py

Lines changed: 35 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55

66

77
from __future__ import annotations as _annotations
8-
from opentelemetry.instrumentation.openai_agents import OpenAIAgentsInstrumentor
98

109
import asyncio
10+
11+
#######################################
12+
import os
1113
import random
1214
import uuid
1315

14-
from pydantic import BaseModel
15-
1616
from agents import (
1717
Agent,
1818
HandoffOutputItem,
@@ -25,23 +25,24 @@
2525
TResponseInputItem,
2626
function_tool,
2727
handoff,
28+
set_default_openai_client,
2829
trace,
2930
)
3031
from agents.extensions.handoff_prompt import RECOMMENDED_PROMPT_PREFIX
31-
32-
#######################################
33-
34-
import asyncio, os
35-
from openai import AsyncAzureOpenAI
36-
from agents import Agent, Runner, function_tool
37-
from agents import set_default_openai_client
38-
from agents import Agent, Runner, trace
39-
from pydantic import BaseModel
4032
from azure.monitor.opentelemetry import configure_azure_monitor
4133
from dotenv import load_dotenv
34+
from openai import AsyncAzureOpenAI
35+
from pydantic import BaseModel
36+
37+
from opentelemetry.instrumentation.openai_agents import (
38+
OpenAIAgentsInstrumentor,
39+
)
40+
4241
load_dotenv()
4342

44-
configure_azure_monitor(connection_string=os.environ["APPLICATION_INSIGHTS_CONNECTION_STRING"])
43+
configure_azure_monitor(
44+
connection_string=os.environ["APPLICATION_INSIGHTS_CONNECTION_STRING"]
45+
)
4546

4647
OpenAIAgentsInstrumentor().instrument()
4748

@@ -59,6 +60,7 @@
5960

6061
### CONTEXT
6162

63+
6264
class AirlineAgentContext(BaseModel):
6365
passenger_name: str | None = None
6466
confirmation_number: str | None = None
@@ -70,7 +72,8 @@ class AirlineAgentContext(BaseModel):
7072

7173

7274
@function_tool(
73-
name_override="faq_lookup_tool", description_override="Lookup frequently asked questions."
75+
name_override="faq_lookup_tool",
76+
description_override="Lookup frequently asked questions.",
7477
)
7578
async def faq_lookup_tool(question: str) -> str:
7679
if "bag" in question or "baggage" in question:
@@ -92,7 +95,9 @@ async def faq_lookup_tool(question: str) -> str:
9295

9396
@function_tool
9497
async def update_seat(
95-
context: RunContextWrapper[AirlineAgentContext], confirmation_number: str, new_seat: str
98+
context: RunContextWrapper[AirlineAgentContext],
99+
confirmation_number: str,
100+
new_seat: str,
96101
) -> str:
97102
"""
98103
Update the seat for a given confirmation number.
@@ -105,14 +110,18 @@ async def update_seat(
105110
context.context.confirmation_number = confirmation_number
106111
context.context.seat_number = new_seat
107112
# Ensure that the flight number has been set by the incoming handoff
108-
assert context.context.flight_number is not None, "Flight number is required"
113+
assert (
114+
context.context.flight_number is not None
115+
), "Flight number is required"
109116
return f"Updated seat to {new_seat} for confirmation number {confirmation_number}"
110117

111118

112119
### HOOKS
113120

114121

115-
async def on_seat_booking_handoff(context: RunContextWrapper[AirlineAgentContext]) -> None:
122+
async def on_seat_booking_handoff(
123+
context: RunContextWrapper[AirlineAgentContext],
124+
) -> None:
116125
flight_number = f"FLT-{random.randint(100, 999)}"
117126
context.context.flight_number = flight_number
118127

@@ -179,12 +188,16 @@ async def main():
179188
user_input = input("Enter your message: ")
180189
with trace("Customer service", group_id=conversation_id):
181190
input_items.append({"content": user_input, "role": "user"})
182-
result = await Runner.run(current_agent, input_items, context=context)
191+
result = await Runner.run(
192+
current_agent, input_items, context=context
193+
)
183194

184195
for new_item in result.new_items:
185196
agent_name = new_item.agent.name
186197
if isinstance(new_item, MessageOutputItem):
187-
print(f"{agent_name}: {ItemHelpers.text_message_output(new_item)}")
198+
print(
199+
f"{agent_name}: {ItemHelpers.text_message_output(new_item)}"
200+
)
188201
elif isinstance(new_item, HandoffOutputItem):
189202
print(
190203
f"Handed off from {new_item.source_agent.name} to {new_item.target_agent.name}"
@@ -194,7 +207,9 @@ async def main():
194207
elif isinstance(new_item, ToolCallOutputItem):
195208
print(f"{agent_name}: Tool call output: {new_item.output}")
196209
else:
197-
print(f"{agent_name}: Skipping item: {new_item.__class__.__name__}")
210+
print(
211+
f"{agent_name}: Skipping item: {new_item.__class__.__name__}"
212+
)
198213
input_items = result.to_input_list()
199214
current_agent = result.last_agent
200215

instrumentation-genai/opentelemetry-instrumentation-openai-agents/examples/mcp_hotel_capture_all.py

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,26 @@
1111

1212
import azure.identity
1313
import openai
14-
from agents import Agent, OpenAIChatCompletionsModel, Runner, set_tracing_disabled
14+
from agents import (
15+
Agent,
16+
OpenAIChatCompletionsModel,
17+
Runner,
18+
set_tracing_disabled,
19+
)
1520
from agents.mcp.server import MCPServerStreamableHttp
1621
from agents.model_settings import ModelSettings
1722
from dotenv import load_dotenv
1823

1924
from opentelemetry import trace
20-
from opentelemetry.instrumentation.openai_agents import OpenAIAgentsInstrumentor
25+
from opentelemetry.instrumentation.openai_agents import (
26+
OpenAIAgentsInstrumentor,
27+
)
2128
from opentelemetry.sdk.resources import Resource
2229
from opentelemetry.sdk.trace import TracerProvider
23-
from opentelemetry.sdk.trace.export import BatchSpanProcessor, ConsoleSpanExporter
30+
from opentelemetry.sdk.trace.export import (
31+
BatchSpanProcessor,
32+
ConsoleSpanExporter,
33+
)
2434

2535
load_dotenv(override=True)
2636

@@ -54,7 +64,9 @@ def _set_capture_env(provider: str, base_url: str) -> None:
5464
"OTEL_GENAI_AGENT_DESCRIPTION",
5565
"Agent orchestrator that uses MCP to find hotels matching user criteria",
5666
),
57-
"OTEL_GENAI_AGENT_ID": os.getenv("OTEL_GENAI_AGENT_ID", "mcp-hotel-assistant"),
67+
"OTEL_GENAI_AGENT_ID": os.getenv(
68+
"OTEL_GENAI_AGENT_ID", "mcp-hotel-assistant"
69+
),
5870
}
5971
for env_key, value in capture_defaults.items():
6072
os.environ.setdefault(env_key, value)
@@ -115,7 +127,9 @@ def _build_client() -> openai.AsyncAzureOpenAI:
115127
)
116128

117129
if host == "ollama":
118-
base_url = os.getenv("OLLAMA_BASE_URL", "http://localhost:11434/v1").rstrip("/")
130+
base_url = os.getenv(
131+
"OLLAMA_BASE_URL", "http://localhost:11434/v1"
132+
).rstrip("/")
119133
model_name = os.getenv("OLLAMA_MODEL", "llama3.1:latest")
120134
api_key = os.getenv("OLLAMA_API_KEY", "none")
121135

@@ -167,7 +181,9 @@ def _configure_otel() -> None:
167181
)
168182
print("[otel] Azure Monitor trace exporter configured")
169183
else:
170-
tracer_provider.add_span_processor(BatchSpanProcessor(ConsoleSpanExporter()))
184+
tracer_provider.add_span_processor(
185+
BatchSpanProcessor(ConsoleSpanExporter())
186+
)
171187
print("[otel] Console span exporter configured")
172188
print(
173189
"[otel] Set APPLICATION_INSIGHTS_CONNECTION_STRING to export to "
@@ -198,7 +214,9 @@ def _configure_otel() -> None:
198214
name="Assistant",
199215
instructions="Use the tools to achieve the task",
200216
mcp_servers=[mcp_server],
201-
model=OpenAIChatCompletionsModel(model=api_config.model_name, openai_client=client),
217+
model=OpenAIChatCompletionsModel(
218+
model=api_config.model_name, openai_client=client
219+
),
202220
model_settings=ModelSettings(tool_choice="required"),
203221
)
204222

@@ -211,7 +229,9 @@ async def main() -> None:
211229
tracer = trace.get_tracer(__name__)
212230
await mcp_server.connect()
213231
try:
214-
with tracer.start_as_current_span(_root_span_name(api_config.provider)) as span:
232+
with tracer.start_as_current_span(
233+
_root_span_name(api_config.provider)
234+
) as span:
215235
message = (
216236
"Find me a hotel in San Francisco for 2 nights starting from 2024-01-01. "
217237
"I need a hotel with free WiFi and a pool."

instrumentation-genai/opentelemetry-instrumentation-openai-agents/examples/multi_agent_weather_capture_all.py

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,15 @@
1414
from dotenv import load_dotenv
1515

1616
from opentelemetry import trace
17-
from opentelemetry.instrumentation.openai_agents import OpenAIAgentsInstrumentor
17+
from opentelemetry.instrumentation.openai_agents import (
18+
OpenAIAgentsInstrumentor,
19+
)
1820
from opentelemetry.sdk.resources import Resource
1921
from opentelemetry.sdk.trace import TracerProvider
20-
from opentelemetry.sdk.trace.export import BatchSpanProcessor, ConsoleSpanExporter
22+
from opentelemetry.sdk.trace.export import (
23+
BatchSpanProcessor,
24+
ConsoleSpanExporter,
25+
)
2126

2227
load_dotenv(override=True)
2328

@@ -51,7 +56,9 @@ def _set_capture_env(provider: str, base_url: str) -> None:
5156
"OTEL_GENAI_AGENT_DESCRIPTION",
5257
"Multi-agent weather service routing requests to language-specific forecasters",
5358
),
54-
"OTEL_GENAI_AGENT_ID": os.getenv("OTEL_GENAI_AGENT_ID", "weather-orchestrator"),
59+
"OTEL_GENAI_AGENT_ID": os.getenv(
60+
"OTEL_GENAI_AGENT_ID", "weather-orchestrator"
61+
),
5562
}
5663
for env_key, value in capture_defaults.items():
5764
os.environ.setdefault(env_key, value)
@@ -112,7 +119,9 @@ def _build_client() -> openai.AsyncAzureOpenAI:
112119
)
113120

114121
if host == "ollama":
115-
base_url = os.getenv("OLLAMA_BASE_URL", "http://localhost:11434/v1").rstrip("/")
122+
base_url = os.getenv(
123+
"OLLAMA_BASE_URL", "http://localhost:11434/v1"
124+
).rstrip("/")
116125
model_name = os.getenv("OLLAMA_MODEL", "llama3.1:latest")
117126
api_key = os.getenv("OLLAMA_API_KEY", "none")
118127

@@ -164,7 +173,9 @@ def _configure_otel() -> None:
164173
)
165174
print("[otel] Azure Monitor trace exporter configured")
166175
else:
167-
tracer_provider.add_span_processor(BatchSpanProcessor(ConsoleSpanExporter()))
176+
tracer_provider.add_span_processor(
177+
BatchSpanProcessor(ConsoleSpanExporter())
178+
)
168179
print("[otel] Console span exporter configured")
169180
print(
170181
"[otel] Set APPLICATION_INSIGHTS_CONNECTION_STRING to export to "
@@ -198,21 +209,27 @@ def get_weather(city: str) -> dict[str, object]:
198209
name="Spanish agent",
199210
instructions="You only speak Spanish.",
200211
tools=[get_weather],
201-
model=OpenAIChatCompletionsModel(model=api_config.model_name, openai_client=client),
212+
model=OpenAIChatCompletionsModel(
213+
model=api_config.model_name, openai_client=client
214+
),
202215
)
203216

204217
english_agent = Agent(
205218
name="English agent",
206219
instructions="You only speak English.",
207220
tools=[get_weather],
208-
model=OpenAIChatCompletionsModel(model=api_config.model_name, openai_client=client),
221+
model=OpenAIChatCompletionsModel(
222+
model=api_config.model_name, openai_client=client
223+
),
209224
)
210225

211226
triage_agent = Agent(
212227
name="Triage agent",
213228
instructions="Handoff to the appropriate agent based on the language of the request.",
214229
handoffs=[spanish_agent, english_agent],
215-
model=OpenAIChatCompletionsModel(model=api_config.model_name, openai_client=client),
230+
model=OpenAIChatCompletionsModel(
231+
model=api_config.model_name, openai_client=client
232+
),
216233
)
217234

218235

@@ -222,8 +239,12 @@ def _root_span_name(provider: str) -> str:
222239

223240
async def main() -> None:
224241
tracer = trace.get_tracer(__name__)
225-
with tracer.start_as_current_span(_root_span_name(api_config.provider)) as span:
226-
user_request = "Hola, ¿cómo estás? ¿Puedes darme el clima para San Francisco CA?"
242+
with tracer.start_as_current_span(
243+
_root_span_name(api_config.provider)
244+
) as span:
245+
user_request = (
246+
"Hola, ¿cómo estás? ¿Puedes darme el clima para San Francisco CA?"
247+
)
227248

228249
span.set_attribute("user.request", user_request)
229250
span.set_attribute("api.host", os.getenv("API_HOST", "github"))

0 commit comments

Comments
 (0)