From 61224cbe9751aea1c8b163e2343423c56a5916dd Mon Sep 17 00:00:00 2001 From: Bicheng Wang Date: Thu, 8 Oct 2026 13:17:03 -0700 Subject: [PATCH] Python: Add service_url to OpenAIChatClient Return the underlying client's base URL from the Responses API client so chat telemetry reports a real server.address instead of Unknown, matching OpenAIChatCompletionClient and OpenAIEmbeddingClient. --- .../openai/agent_framework_openai/_chat_client.py | 9 +++++++++ .../openai/tests/openai/test_openai_chat_client.py | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/python/packages/openai/agent_framework_openai/_chat_client.py b/python/packages/openai/agent_framework_openai/_chat_client.py index 24ca5066975..3877dbdf479 100644 --- a/python/packages/openai/agent_framework_openai/_chat_client.py +++ b/python/packages/openai/agent_framework_openai/_chat_client.py @@ -814,6 +814,15 @@ def _handle_request_error(self, ex: Exception) -> NoReturn: inner_exception=ex, ) from ex + @override + def service_url(self) -> str: + """Get the URL of the service. + + Returns: + The base URL of the underlying OpenAI client, or ``"Unknown"`` if there is no client. + """ + return str(self.client.base_url) if self.client else "Unknown" + @override def _inner_get_response( self, diff --git a/python/packages/openai/tests/openai/test_openai_chat_client.py b/python/packages/openai/tests/openai/test_openai_chat_client.py index bd576e61321..181b943c5ca 100644 --- a/python/packages/openai/tests/openai/test_openai_chat_client.py +++ b/python/packages/openai/tests/openai/test_openai_chat_client.py @@ -215,6 +215,12 @@ def test_init(openai_unit_test_env: dict[str, str]) -> None: assert isinstance(openai_responses_client, SupportsChatGetResponse) +def test_service_url() -> None: + client = OpenAIChatClient(model="test-model", api_key="test-key", base_url="http://localhost:1234/v1") + + assert client.service_url() == "http://localhost:1234/v1/" + + def test_init_uses_explicit_parameters() -> None: signature = inspect.signature(OpenAIChatClient.__init__)