nemo_gym.openai_utils#
Module Contents#
Classes#
We copy openai.types.responses.response_input_param.FunctionCallOutput, originally a TypedDict, as a BaseModel here so that we can use it in the NeMoGymResponseOutputItem below and be consistent with the other ResponseOutputItem types. |
|
This class is a copy of openai.types.responses.response_create_params.ResponseCreateParamsNonStreaming We make a copy of it here since ResponseCreateParamsNonStreaming is a TypedDict with no strict validation. We need to do server side validation here. |
|
This is just a stub class that wraps around aiohttp |
Data#
API#
- class nemo_gym.openai_utils.TokenIDLogProbMixin#
Bases:
pydantic.BaseModel- prompt_token_ids: List[int]#
None
- generation_token_ids: List[int]#
None
- generation_log_probs: List[float]#
None
- class nemo_gym.openai_utils.TokenIDLogProbTypedDictMixin#
Bases:
typing_extensions.TypedDict- prompt_token_ids: List[int]#
None
- generation_token_ids: List[int]#
None
- generation_log_probs: List[float]#
None
- class nemo_gym.openai_utils.NeMoGymSummary#
Bases:
openai.types.responses.response_reasoning_item.Summary
- class nemo_gym.openai_utils.NeMoGymResponseReasoningItem#
Bases:
pydantic.BaseModel- id: str#
None
- summary: List[nemo_gym.openai_utils.NeMoGymSummary]#
None
- type: Literal[reasoning]#
‘reasoning’
- encrypted_content: Optional[str]#
None
- class nemo_gym.openai_utils.NeMoGymResponseOutputText#
Bases:
pydantic.BaseModel- annotations: List[openai.types.responses.response_output_text_param.Annotation]#
None
- text: str#
None
- type: Literal[output_text]#
‘output_text’
- logprobs: Optional[List[openai.types.responses.response_output_text_param.Logprob]]#
None
- class nemo_gym.openai_utils.NeMoGymResponseOutputRefusal#
Bases:
pydantic.BaseModel- refusal: str#
None
- type: Literal[nemo_gym.openai_utils.NeMoGymResponseOutputRefusal.refusal]#
‘refusal’
- nemo_gym.openai_utils.NeMoGymContent: TypeAlias#
None
- class nemo_gym.openai_utils.NeMoGymResponseOutputMessage#
Bases:
pydantic.BaseModel- id: str#
None
- content: List[nemo_gym.openai_utils.NeMoGymContent]#
None
- role: Literal[assistant]#
‘assistant’
- status: Literal[in_progress, completed, incomplete]#
‘completed’
- type: Literal[message]#
‘message’
- class nemo_gym.openai_utils.NeMoGymEasyInputMessage#
Bases:
pydantic.BaseModel- content: Union[str, openai.types.responses.response_input_param.ResponseInputMessageContentListParam]#
None
- role: Literal[user, assistant, system, developer]#
None
- type: Literal[message]#
‘message’
- class nemo_gym.openai_utils.NeMoGymMessage#
Bases:
pydantic.BaseModel- content: openai.types.responses.response_input_param.ResponseInputMessageContentListParam#
None
- role: Literal[user, system, developer]#
None
- status: Literal[in_progress, completed, incomplete]#
‘completed’
- type: Literal[message]#
‘message’
- class nemo_gym.openai_utils.NeMoGymFunctionCallOutput#
Bases:
pydantic.BaseModelWe copy openai.types.responses.response_input_param.FunctionCallOutput, originally a TypedDict, as a BaseModel here so that we can use it in the NeMoGymResponseOutputItem below and be consistent with the other ResponseOutputItem types.
- call_id: str#
None
- output: str#
None
- type: Literal[function_call_output]#
‘function_call_output’
- id: Optional[str]#
None
- status: Optional[Literal[in_progress, completed, incomplete]]#
None
- class nemo_gym.openai_utils.NeMoGymResponseFunctionToolCall#
Bases:
pydantic.BaseModel- arguments: str#
None
- call_id: str#
None
- name: str#
None
- type: Literal[function_call]#
‘function_call’
- id: Optional[str]#
None
- status: Optional[Literal[in_progress, completed, incomplete]]#
None
- class nemo_gym.openai_utils.NeMoGymResponseInputText#
Bases:
openai.types.responses.ResponseInputTextParam
- class nemo_gym.openai_utils.NeMoGymEasyInputMessageForTraining#
Bases:
nemo_gym.openai_utils.NeMoGymEasyInputMessage,nemo_gym.openai_utils.TokenIDLogProbMixin
- class nemo_gym.openai_utils.NeMoGymMessageForTraining#
Bases:
nemo_gym.openai_utils.NeMoGymMessage,nemo_gym.openai_utils.TokenIDLogProbMixin
- class nemo_gym.openai_utils.NeMoGymResponseOutputMessageForTraining#
Bases:
nemo_gym.openai_utils.NeMoGymResponseOutputMessage,nemo_gym.openai_utils.TokenIDLogProbMixin
- class nemo_gym.openai_utils.NeMoGymResponseFunctionToolCallForTraining#
Bases:
nemo_gym.openai_utils.NeMoGymResponseFunctionToolCall,nemo_gym.openai_utils.TokenIDLogProbMixin
- class nemo_gym.openai_utils.NeMoGymResponseReasoningItemForTraining#
Bases:
nemo_gym.openai_utils.NeMoGymResponseReasoningItem,nemo_gym.openai_utils.TokenIDLogProbMixin
- nemo_gym.openai_utils.RESPONSES_TO_TRAIN#
None
- nemo_gym.openai_utils.NeMoGymResponseInputItem#
None
- nemo_gym.openai_utils.NeMoGymResponseInput: TypeAlias#
None
- class nemo_gym.openai_utils.NeMoGymResponseCreateParamsNonStreaming#
Bases:
pydantic.BaseModelThis class is a copy of openai.types.responses.response_create_params.ResponseCreateParamsNonStreaming We make a copy of it here since ResponseCreateParamsNonStreaming is a TypedDict with no strict validation. We need to do server side validation here.
- model_config#
‘ConfigDict(…)’
- background: Optional[bool]#
None
- include: Optional[List[openai.types.responses.response_create_params.ResponseIncludable]]#
None
- input: Union[str, nemo_gym.openai_utils.NeMoGymResponseInput]#
None
- instructions: Optional[str]#
None
- max_output_tokens: Optional[int]#
None
- max_tool_calls: Optional[int]#
None
- metadata: Optional[openai.types.responses.response_create_params.Metadata]#
None
- model: Optional[openai.types.responses.response_create_params.ResponsesModel]#
None
- parallel_tool_calls: bool#
True
- previous_response_id: Optional[str]#
None
- prompt: Optional[openai.types.responses.response_create_params.ResponsePromptParam]#
None
- reasoning: Optional[openai.types.responses.response_create_params.Reasoning]#
None
- service_tier: Optional[Literal[auto, default, flex, scale, priority]]#
None
- store: Optional[bool]#
None
- temperature: Optional[float]#
None
- text: Optional[openai.types.responses.response_create_params.ResponseTextConfigParam]#
None
- tool_choice: openai.types.responses.response_create_params.ToolChoice#
‘auto’
- tools: List[openai.types.responses.response_create_params.ToolParam]#
‘Field(…)’
- top_logprobs: Optional[int]#
None
- top_p: Optional[float]#
None
- truncation: Optional[Literal[auto, disabled]]#
None
- user: Optional[str]#
None
- stream: Optional[Literal[False]]#
None
- nemo_gym.openai_utils.NeMoGymResponseOutputItem#
None
- class nemo_gym.openai_utils.NeMoGymResponse#
Bases:
openai.types.responses.Response- output: List[nemo_gym.openai_utils.NeMoGymResponseOutputItem]#
None
- class nemo_gym.openai_utils.NeMoGymFunction#
Bases:
pydantic.BaseModel- arguments: str#
None
- name: str#
None
- class nemo_gym.openai_utils.NeMoGymChatCompletionMessageToolCall#
Bases:
openai.types.chat.ChatCompletionMessageToolCall- function: nemo_gym.openai_utils.NeMoGymFunction#
None
- class nemo_gym.openai_utils.NeMoGymChatCompletionMessage#
Bases:
openai.types.chat.ChatCompletionMessage- tool_calls: Optional[List[nemo_gym.openai_utils.NeMoGymChatCompletionMessageToolCall]]#
None
- class nemo_gym.openai_utils.NeMoGymChatCompletionMessageForTraining#
Bases:
nemo_gym.openai_utils.NeMoGymChatCompletionMessage,nemo_gym.openai_utils.TokenIDLogProbMixin
- class nemo_gym.openai_utils.NeMoGymChoice#
Bases:
openai.types.chat.chat_completion.Choice
- class nemo_gym.openai_utils.NeMoGymChatCompletion#
Bases:
openai.types.chat.ChatCompletion- choices: List[nemo_gym.openai_utils.NeMoGymChoice]#
None
- class nemo_gym.openai_utils.NeMoGymFunctionDefinition#
Bases:
openai.types.shared_params.FunctionDefinition
- class nemo_gym.openai_utils.NeMoGymChatCompletionToolParam#
Bases:
openai.types.chat.ChatCompletionToolParam- function: Required[nemo_gym.openai_utils.NeMoGymFunctionDefinition]#
None
- class nemo_gym.openai_utils.NeMoGymChatCompletionContentPartTextParam#
Bases:
openai.types.chat.ChatCompletionContentPartTextParam
- class nemo_gym.openai_utils.NeMoGymChatCompletionUserMessageParam#
Bases:
openai.types.chat.ChatCompletionUserMessageParam- content: Required[Union[str, List[nemo_gym.openai_utils.NeMoGymChatCompletionContentPartTextParam]]]#
None
- class nemo_gym.openai_utils.NeMoGymChatCompletionSystemMessageParam#
Bases:
openai.types.chat.ChatCompletionSystemMessageParam- content: Required[Union[str, List[nemo_gym.openai_utils.NeMoGymChatCompletionContentPartTextParam]]]#
None
- class nemo_gym.openai_utils.NeMoGymChatCompletionDeveloperMessageParam#
Bases:
openai.types.chat.ChatCompletionDeveloperMessageParam- content: Required[Union[str, List[nemo_gym.openai_utils.NeMoGymChatCompletionContentPartTextParam]]]#
None
- class nemo_gym.openai_utils.NeMoGymChatCompletionMessageToolCallFunctionParam#
Bases:
typing_extensions.TypedDict- arguments: Required[str]#
None
- name: Required[str]#
None
- class nemo_gym.openai_utils.NeMoGymChatCompletionMessageToolCallParam#
Bases:
openai.types.chat.ChatCompletionMessageToolCallParam
- class nemo_gym.openai_utils.NeMoGymChatCompletionAssistantMessageParam#
Bases:
openai.types.chat.ChatCompletionAssistantMessageParam- content: Union[str, List[openai.types.chat.chat_completion_assistant_message_param.ContentArrayOfContentPart], None]#
None
- tool_calls: Optional[List[nemo_gym.openai_utils.NeMoGymChatCompletionMessageToolCallParam]]#
None
- class nemo_gym.openai_utils.NeMoGymChatCompletionAssistantMessageForTrainingParam#
Bases:
nemo_gym.openai_utils.NeMoGymChatCompletionAssistantMessageParam,nemo_gym.openai_utils.TokenIDLogProbTypedDictMixin
- class nemo_gym.openai_utils.NeMoGymChatCompletionToolMessageParam#
Bases:
openai.types.chat.ChatCompletionToolMessageParam- content: Required[Union[str, List[nemo_gym.openai_utils.NeMoGymChatCompletionContentPartTextParam]]]#
None
- class nemo_gym.openai_utils.NeMoGymFunctionToolParam#
Bases:
openai.types.responses.FunctionToolParam
- nemo_gym.openai_utils.NeMoGymChatCompletionMessageParam: TypeAlias#
None
- class nemo_gym.openai_utils.NeMoGymChatCompletionCreateParamsNonStreaming#
Bases:
pydantic.BaseModel- messages: List[nemo_gym.openai_utils.NeMoGymChatCompletionMessageParam]#
None
- model: Optional[Union[str, openai.types.shared.chat_model.ChatModel]]#
None
- audio: Optional[openai.types.chat.completion_create_params.ChatCompletionAudioParam]#
None
- frequency_penalty: Optional[float]#
None
- logit_bias: Optional[Dict[str, int]]#
None
- logprobs: Optional[bool]#
None
- max_completion_tokens: Optional[int]#
None
- max_tokens: Optional[int]#
None
- metadata: Optional[openai.types.responses.response_create_params.Metadata]#
None
- modalities: Optional[List[Literal[text, nemo_gym.openai_utils.NeMoGymChatCompletionCreateParamsNonStreaming.audio]]]#
None
- n: Optional[int]#
None
- parallel_tool_calls: bool#
True
- prediction: Optional[openai.types.chat.completion_create_params.ChatCompletionPredictionContentParam]#
None
- presence_penalty: Optional[float]#
None
- reasoning_effort: Optional[openai.types.chat.completion_create_params.ReasoningEffort]#
None
- response_format: Optional[openai.types.chat.completion_create_params.ResponseFormat]#
None
- seed: Optional[int]#
None
- service_tier: Optional[Literal[auto, default, flex, scale, priority]]#
None
- stop: Union[Optional[str], List[str], None]#
None
- store: Optional[bool]#
None
- stream_options: Optional[openai.types.chat.completion_create_params.ChatCompletionStreamOptionsParam]#
None
- temperature: Optional[float]#
None
- tool_choice: Optional[openai.types.chat.completion_create_params.ChatCompletionToolChoiceOptionParam]#
None
- tools: Optional[List[nemo_gym.openai_utils.NeMoGymChatCompletionToolParam]]#
None
- top_logprobs: Optional[int]#
None
- top_p: Optional[float]#
None
- user: Optional[str]#
None
- web_search_options: Optional[openai.types.chat.completion_create_params.WebSearchOptions]#
None
- stream: Optional[Literal[False]]#
None
- nemo_gym.openai_utils.RATE_LIMIT_ERROR_CODES#
[429, 502, 503, 504, 520]
- nemo_gym.openai_utils.RETRY_ERROR_CODES#
None
- class nemo_gym.openai_utils.NeMoGymAsyncOpenAI#
Bases:
pydantic.BaseModelThis is just a stub class that wraps around aiohttp
- base_url: str#
None
- api_key: str#
None
- internal: bool#
‘Field(…)’
- async _request(
- **request_kwargs: Dict,
- async _raise_for_status(
- response: nemo_gym.server_utils.ClientResponse,
- request_kwargs: Dict[str, Any],
- async create_chat_completion(**kwargs)#
- async create_response(**kwargs)#
- async create_tokenize(**kwargs)#