|
4 | 4 | from collections.abc import AsyncIterable, Callable, Mapping, MutableMapping, MutableSequence, Sequence |
5 | 5 | from datetime import datetime |
6 | 6 | from itertools import chain |
7 | | -from typing import Any, Literal |
8 | | - |
9 | | -if sys.version_info >= (3, 12): |
10 | | - from typing import override # type: ignore |
11 | | -else: |
12 | | - from typing_extensions import override # type: ignore[import] |
| 7 | +from typing import Any, ClassVar, Literal |
13 | 8 |
|
14 | 9 | from openai import AsyncOpenAI, AsyncStream |
15 | 10 | from openai.types.responses.response import Response as OpenAIResponse |
|
44 | 39 | UsageDetails, |
45 | 40 | ) |
46 | 41 | from ..exceptions import ServiceInitializationError, ServiceInvalidResponseError |
| 42 | +from ..telemetry import use_telemetry |
47 | 43 | from ._shared import OpenAIConfigBase, OpenAIHandler, OpenAIModelTypes, OpenAISettings |
48 | 44 |
|
| 45 | +if sys.version_info >= (3, 12): |
| 46 | + from typing import override # type: ignore # pragma: no cover |
| 47 | +else: |
| 48 | + from typing_extensions import override # type: ignore[import] # pragma: no cover |
| 49 | + |
49 | 50 | __all__ = ["OpenAIResponsesClient"] |
50 | 51 |
|
51 | 52 | # region ResponsesClient |
52 | 53 |
|
53 | 54 |
|
| 55 | +@use_telemetry |
54 | 56 | @use_tool_calling |
55 | 57 | class OpenAIResponsesClient(OpenAIConfigBase, ChatClientBase, OpenAIHandler): |
56 | 58 | """OpenAI Responses client class.""" |
57 | 59 |
|
| 60 | + MODEL_PROVIDER_NAME: ClassVar[str] = "openai" # type: ignore[reportIncompatibleVariableOverride, misc] |
| 61 | + |
58 | 62 | def __init__( |
59 | 63 | self, |
60 | 64 | ai_model_id: str | None = None, |
|
0 commit comments