MCPcopy Create free account
hub / github.com/SkyworkAI/DeepResearchAgent / ResponseOpenAI

Class ResponseOpenAI

src/model/openai/response.py:30–587  ·  view source on GitHub ↗

A wrapper around AsyncOpenAI that provides a unified interface for OpenAI responses API. This class is specifically designed for GPT-5 and o-series models that use the responses API endpoint.

Source from the content-addressed store, hash-verified

28
29
30class ResponseOpenAI(BaseModel):
31 """
32 A wrapper around AsyncOpenAI that provides a unified interface for OpenAI responses API.
33
34 This class is specifically designed for GPT-5 and o-series models that use the responses API endpoint.
35 """
36
37 model_config = ConfigDict(arbitrary_types_allowed=True, extra="allow")
38
39 # Model configuration
40 model: Union[ChatModel, str]
41
42 # Model params for responses API
43 reasoning: Optional[Dict[str, Any]] = None
44 max_output_tokens: Optional[int] = 16384
45 temperature: Optional[float] = None # Not used for reasoning models, but kept for compatibility
46
47 # Client initialization parameters
48 api_key: Optional[str] = None
49 organization: Optional[str] = None
50 project: Optional[str] = None
51 base_url: Optional[Union[str, httpx.URL]] = None
52 websocket_base_url: Optional[Union[str, httpx.URL]] = None
53 timeout: Optional[Union[float, httpx.Timeout]] = None
54 max_retries: int = 5
55 default_headers: Optional[Mapping[str, str]] = None
56 default_query: Optional[Mapping[str, object]] = None
57 http_client: Optional[httpx.AsyncClient] = None
58 _strict_response_validation: bool = False
59
60 @property
61 def provider(self) -> str:
62 return 'openai'
63
64 def _get_client_params(self) -> dict[str, Any]:
65 """Prepare client parameters dictionary."""
66 base_params = {
67 'api_key': self.api_key,
68 'organization': self.organization,
69 'project': self.project,
70 'base_url': self.base_url,
71 'websocket_base_url': self.websocket_base_url,
72 'timeout': self.timeout,
73 'max_retries': self.max_retries,
74 'default_headers': self.default_headers,
75 'default_query': self.default_query,
76 '_strict_response_validation': self._strict_response_validation,
77 }
78
79 # Create client_params dict with non-None values
80 client_params = {k: v for k, v in base_params.items() if v is not None}
81
82 # Add http_client if provided
83 if self.http_client is not None:
84 client_params['http_client'] = self.http_client
85
86 return client_params
87

Callers 1

_create_clientMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected