diff --git a/src/openai/resources/responses/responses.py b/src/openai/resources/responses/responses.py index e83f9824be..a8d9e32cc7 100644 --- a/src/openai/resources/responses/responses.py +++ b/src/openai/resources/responses/responses.py @@ -153,6 +153,8 @@ def create( store: Optional[bool] | Omit = omit, stream: Optional[Literal[False]] | Omit = omit, stream_options: Optional[response_create_params.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: response_create_params.ToolChoice | Omit = omit, @@ -403,6 +405,8 @@ def create( service_tier: Optional[Literal["auto", "default", "flex", "scale", "priority"]] | Omit = omit, store: Optional[bool] | Omit = omit, stream_options: Optional[response_create_params.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: response_create_params.ToolChoice | Omit = omit, @@ -653,6 +657,8 @@ def create( service_tier: Optional[Literal["auto", "default", "flex", "scale", "priority"]] | Omit = omit, store: Optional[bool] | Omit = omit, stream_options: Optional[response_create_params.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: response_create_params.ToolChoice | Omit = omit, @@ -902,6 +908,8 @@ def create( store: Optional[bool] | Omit = omit, stream: Optional[Literal[False]] | Literal[True] | Omit = omit, stream_options: Optional[response_create_params.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: response_create_params.ToolChoice | Omit = omit, @@ -942,6 +950,8 @@ def create( "store": store, "stream": stream, "stream_options": stream_options, + "frequency_penalty": frequency_penalty, + "presence_penalty": presence_penalty, "temperature": temperature, "text": text, "tool_choice": tool_choice, @@ -1008,6 +1018,8 @@ def stream( service_tier: Optional[Literal["auto", "default", "flex", "scale", "priority"]] | Omit = omit, store: Optional[bool] | Omit = omit, stream_options: Optional[response_create_params.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: response_create_params.ToolChoice | Omit = omit, @@ -1049,6 +1061,8 @@ def stream( service_tier: Optional[Literal["auto", "default", "flex", "scale", "priority"]] | Omit = omit, store: Optional[bool] | Omit = omit, stream_options: Optional[response_create_params.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: response_create_params.ToolChoice | Omit = omit, @@ -1084,6 +1098,8 @@ def stream( "service_tier": service_tier, "store": store, "stream_options": stream_options, + "frequency_penalty": frequency_penalty, + "presence_penalty": presence_penalty, "temperature": temperature, "text": text, "tool_choice": tool_choice, @@ -1201,6 +1217,8 @@ def parse( store: Optional[bool] | Omit = omit, stream: Optional[Literal[False]] | Literal[True] | Omit = omit, stream_options: Optional[response_create_params.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: response_create_params.ToolChoice | Omit = omit, @@ -1260,6 +1278,8 @@ def parser(raw_response: Response) -> ParsedResponse[TextFormatT]: "store": store, "stream": stream, "stream_options": stream_options, + "frequency_penalty": frequency_penalty, + "presence_penalty": presence_penalty, "temperature": temperature, "text": text, "tool_choice": tool_choice, @@ -1859,6 +1879,8 @@ async def create( store: Optional[bool] | Omit = omit, stream: Optional[Literal[False]] | Omit = omit, stream_options: Optional[response_create_params.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: response_create_params.ToolChoice | Omit = omit, @@ -2109,6 +2131,8 @@ async def create( service_tier: Optional[Literal["auto", "default", "flex", "scale", "priority"]] | Omit = omit, store: Optional[bool] | Omit = omit, stream_options: Optional[response_create_params.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: response_create_params.ToolChoice | Omit = omit, @@ -2359,6 +2383,8 @@ async def create( service_tier: Optional[Literal["auto", "default", "flex", "scale", "priority"]] | Omit = omit, store: Optional[bool] | Omit = omit, stream_options: Optional[response_create_params.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: response_create_params.ToolChoice | Omit = omit, @@ -2608,6 +2634,8 @@ async def create( store: Optional[bool] | Omit = omit, stream: Optional[Literal[False]] | Literal[True] | Omit = omit, stream_options: Optional[response_create_params.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: response_create_params.ToolChoice | Omit = omit, @@ -2648,6 +2676,8 @@ async def create( "store": store, "stream": stream, "stream_options": stream_options, + "frequency_penalty": frequency_penalty, + "presence_penalty": presence_penalty, "temperature": temperature, "text": text, "tool_choice": tool_choice, @@ -2714,6 +2744,8 @@ def stream( service_tier: Optional[Literal["auto", "default", "flex", "scale", "priority"]] | Omit = omit, store: Optional[bool] | Omit = omit, stream_options: Optional[response_create_params.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: response_create_params.ToolChoice | Omit = omit, @@ -2755,6 +2787,8 @@ def stream( service_tier: Optional[Literal["auto", "default", "flex", "scale", "priority"]] | Omit = omit, store: Optional[bool] | Omit = omit, stream_options: Optional[response_create_params.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: response_create_params.ToolChoice | Omit = omit, @@ -2790,6 +2824,8 @@ def stream( "service_tier": service_tier, "store": store, "stream_options": stream_options, + "frequency_penalty": frequency_penalty, + "presence_penalty": presence_penalty, "temperature": temperature, "text": text, "tool_choice": tool_choice, @@ -2911,6 +2947,8 @@ async def parse( store: Optional[bool] | Omit = omit, stream: Optional[Literal[False]] | Literal[True] | Omit = omit, stream_options: Optional[response_create_params.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: response_create_params.ToolChoice | Omit = omit, @@ -2970,6 +3008,8 @@ def parser(raw_response: Response) -> ParsedResponse[TextFormatT]: "store": store, "stream": stream, "stream_options": stream_options, + "frequency_penalty": frequency_penalty, + "presence_penalty": presence_penalty, "temperature": temperature, "text": text, "tool_choice": tool_choice, @@ -4608,6 +4648,8 @@ def create( store: Optional[bool] | Omit = omit, stream: Optional[bool] | Omit = omit, stream_options: Optional[responses_client_event_param.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: responses_client_event_param.ToolChoice | Omit = omit, @@ -4644,6 +4686,8 @@ def create( "store": store, "stream": stream, "stream_options": stream_options, + "frequency_penalty": frequency_penalty, + "presence_penalty": presence_penalty, "temperature": temperature, "text": text, "tool_choice": tool_choice, @@ -4688,6 +4732,8 @@ async def create( store: Optional[bool] | Omit = omit, stream: Optional[bool] | Omit = omit, stream_options: Optional[responses_client_event_param.StreamOptions] | Omit = omit, + frequency_penalty: Optional[float] | Omit = omit, + presence_penalty: Optional[float] | Omit = omit, temperature: Optional[float] | Omit = omit, text: ResponseTextConfigParam | Omit = omit, tool_choice: responses_client_event_param.ToolChoice | Omit = omit, @@ -4724,6 +4770,8 @@ async def create( "store": store, "stream": stream, "stream_options": stream_options, + "frequency_penalty": frequency_penalty, + "presence_penalty": presence_penalty, "temperature": temperature, "text": text, "tool_choice": tool_choice, diff --git a/src/openai/types/responses/response_create_params.py b/src/openai/types/responses/response_create_params.py index 5f9b948ae9..bb742b9681 100644 --- a/src/openai/types/responses/response_create_params.py +++ b/src/openai/types/responses/response_create_params.py @@ -202,6 +202,20 @@ class ResponseCreateParamsBase(TypedDict, total=False): stream_options: Optional[StreamOptions] """Options for streaming responses. Only set this when you set `stream: true`.""" + frequency_penalty: Optional[float] + """Number between -2.0 and 2.0. + + Positive values penalize new tokens based on their existing frequency in the + text so far, decreasing the model's likelihood to repeat the same line verbatim. + """ + + presence_penalty: Optional[float] + """Number between -2.0 and 2.0. + + Positive values penalize new tokens based on whether they appear in the text so + far, increasing the model's likelihood to talk about new topics. + """ + temperature: Optional[float] """What sampling temperature to use, between 0 and 2. diff --git a/src/openai/types/responses/responses_client_event_param.py b/src/openai/types/responses/responses_client_event_param.py index 59d8f205ae..bed605ac60 100644 --- a/src/openai/types/responses/responses_client_event_param.py +++ b/src/openai/types/responses/responses_client_event_param.py @@ -245,6 +245,20 @@ class ResponsesClientEventParam(TypedDict, total=False): stream_options: Optional[StreamOptions] """Options for streaming responses. Only set this when you set `stream: true`.""" + frequency_penalty: Optional[float] + """Number between -2.0 and 2.0. + + Positive values penalize new tokens based on their existing frequency in the + text so far, decreasing the model's likelihood to repeat the same line verbatim. + """ + + presence_penalty: Optional[float] + """Number between -2.0 and 2.0. + + Positive values penalize new tokens based on whether they appear in the text so + far, increasing the model's likelihood to talk about new topics. + """ + temperature: Optional[float] """What sampling temperature to use, between 0 and 2. diff --git a/tests/api_resources/test_responses.py b/tests/api_resources/test_responses.py index 094687c2c6..d7def15ec1 100644 --- a/tests/api_resources/test_responses.py +++ b/tests/api_resources/test_responses.py @@ -63,6 +63,8 @@ def test_method_create_with_all_params_overload_1(self, client: OpenAI) -> None: store=True, stream=False, stream_options={"include_obfuscation": True}, + frequency_penalty=-2, + presence_penalty=-2, temperature=1, text={ "format": {"type": "text"}, @@ -150,6 +152,8 @@ def test_method_create_with_all_params_overload_2(self, client: OpenAI) -> None: service_tier="auto", store=True, stream_options={"include_obfuscation": True}, + frequency_penalty=-2, + presence_penalty=-2, temperature=1, text={ "format": {"type": "text"}, @@ -476,6 +480,8 @@ async def test_method_create_with_all_params_overload_1(self, async_client: Asyn store=True, stream=False, stream_options={"include_obfuscation": True}, + frequency_penalty=-2, + presence_penalty=-2, temperature=1, text={ "format": {"type": "text"}, @@ -563,6 +569,8 @@ async def test_method_create_with_all_params_overload_2(self, async_client: Asyn service_tier="auto", store=True, stream_options={"include_obfuscation": True}, + frequency_penalty=-2, + presence_penalty=-2, temperature=1, text={ "format": {"type": "text"},