nemo_gym.openai_utils

View as Markdown

Module Contents

Classes

NameDescription
NeMoGymAsyncOpenAIThis is just a stub class that wraps around aiohttp
NeMoGymChatCompletion-
NeMoGymChatCompletionAssistantMessageForTrainingParam-
NeMoGymChatCompletionAssistantMessageParam-
NeMoGymChatCompletionContentPartImageParam-
NeMoGymChatCompletionContentPartTextParam-
NeMoGymChatCompletionCreateParamsNonStreaming-
NeMoGymChatCompletionDeveloperMessageParam-
NeMoGymChatCompletionMessage-
NeMoGymChatCompletionMessageForTraining-
NeMoGymChatCompletionMessageToolCall-
NeMoGymChatCompletionMessageToolCallFunctionParam-
NeMoGymChatCompletionMessageToolCallParam-
NeMoGymChatCompletionSystemMessageParam-
NeMoGymChatCompletionToolMessageParam-
NeMoGymChatCompletionToolParam-
NeMoGymChatCompletionUserMessageParam-
NeMoGymChoice-
NeMoGymEasyInputMessage-
NeMoGymEasyInputMessageForTraining-
NeMoGymFunction-
NeMoGymFunctionCallOutputWe copy openai.types.responses.response_input_param.FunctionCallOutput, originally a TypedDict, as a BaseModel here
NeMoGymFunctionDefinition-
NeMoGymFunctionToolParam-
NeMoGymMessage-
NeMoGymMessageForTraining-
NeMoGymResponse-
NeMoGymResponseCreateParamsNonStreamingThis class is a copy of openai.types.responses.response_create_params.ResponseCreateParamsNonStreaming
NeMoGymResponseFunctionToolCall-
NeMoGymResponseFunctionToolCallForTraining-
NeMoGymResponseInputText-
NeMoGymResponseInputTokensDetails-
NeMoGymResponseOutputMessage-
NeMoGymResponseOutputMessageForTraining-
NeMoGymResponseOutputRefusal-
NeMoGymResponseOutputText-
NeMoGymResponseOutputTokensDetails-
NeMoGymResponseReasoningItem-
NeMoGymResponseReasoningItemForTraining-
NeMoGymResponseUsage-
NeMoGymSummary-
TokenIDLogProbMixin-
TokenIDLogProbTypedDictMixin-

Data

NeMoGymChatCompletionContentPartParam

NeMoGymChatCompletionMessageParam

NeMoGymContent

NeMoGymResponseInput

NeMoGymResponseInputItem

NeMoGymResponseOutputItem

RATE_LIMIT_ERROR_CODES

RESPONSES_TO_TRAIN

RETRY_ERROR_CODES

API

class nemo_gym.openai_utils.NeMoGymAsyncOpenAI()

Bases: BaseModel

This is just a stub class that wraps around aiohttp

api_key
str
base_url
str
default_headers
Dict[str, str]
internal
bool
nemo_gym.openai_utils.NeMoGymAsyncOpenAI._raise_for_status(
response: nemo_gym.server_utils.ClientResponse,
request_kwargs: typing.Dict[str, typing.Any]
) -> None
async
nemo_gym.openai_utils.NeMoGymAsyncOpenAI._request(
request_kwargs: typing.Dict = {}
) -> nemo_gym.server_utils.ClientResponse
async
nemo_gym.openai_utils.NeMoGymAsyncOpenAI.create_chat_completion(
kwargs = {}
)
async
nemo_gym.openai_utils.NeMoGymAsyncOpenAI.create_models()
async
nemo_gym.openai_utils.NeMoGymAsyncOpenAI.create_response(
kwargs = {}
)
async
nemo_gym.openai_utils.NeMoGymAsyncOpenAI.create_tokenize(
kwargs = {}
)
async
class nemo_gym.openai_utils.NeMoGymChatCompletion()

Bases: ChatCompletion

choices
List[NeMoGymChoice]
class nemo_gym.openai_utils.NeMoGymChatCompletionAssistantMessageForTrainingParam

Bases: typing.TypedDict

class nemo_gym.openai_utils.NeMoGymChatCompletionAssistantMessageParam()

Bases: ChatCompletionAssistantMessageParam

content
Union[str, List[ContentArrayOfContentPart], None]
tool_calls
Optional[List[NeMoGymChatCompletionMessageToolCallParam]] = None
class nemo_gym.openai_utils.NeMoGymChatCompletionContentPartImageParam()

Bases: ChatCompletionContentPartImageParam

class nemo_gym.openai_utils.NeMoGymChatCompletionContentPartTextParam()

Bases: ChatCompletionContentPartTextParam

class nemo_gym.openai_utils.NeMoGymChatCompletionCreateParamsNonStreaming()

Bases: BaseModel

audio
Optional[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
messages
List[NeMoGymChatCompletionMessageParam]
metadata
Optional[Metadata] = None
modalities
Optional[List[Literal['text', 'audio']]] = None
model
Optional[Union[str, ChatModel]] = None
n
Optional[int] = None
parallel_tool_calls
bool = True
prediction
Optional[ChatCompletionPredictionContentParam] = None
presence_penalty
Optional[float] = None
reasoning_effort
Optional[ReasoningEffort] = None
response_format
Optional[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
Optional[Literal[False]] = None
stream_options
Optional[ChatCompletionStreamOptionsParam] = None
temperature
Optional[float] = None
tool_choice
Optional[ChatCompletionToolChoiceOptionParam] = None
tools
Optional[List[NeMoGymChatCompletionToolParam]] = None
top_logprobs
Optional[int] = None
top_p
Optional[float] = None
user
Optional[str] = None
web_search_options
Optional[WebSearchOptions] = None
class nemo_gym.openai_utils.NeMoGymChatCompletionDeveloperMessageParam()

Bases: ChatCompletionDeveloperMessageParam

content
Required[Union[str, List[NeMoGymChatCompletionContentPartTextParam]]]
class nemo_gym.openai_utils.NeMoGymChatCompletionMessage()

Bases: ChatCompletionMessage

tool_calls
Optional[List[NeMoGymChatCompletionMessageToolCall]] = None
class nemo_gym.openai_utils.NeMoGymChatCompletionMessageForTraining()
class nemo_gym.openai_utils.NeMoGymChatCompletionMessageToolCall()

Bases: ChatCompletionMessageToolCall

function
NeMoGymFunction
class nemo_gym.openai_utils.NeMoGymChatCompletionMessageToolCallFunctionParam

Bases: typing.TypedDict

arguments
Required[str]
name
Required[str]
class nemo_gym.openai_utils.NeMoGymChatCompletionMessageToolCallParam()

Bases: ChatCompletionMessageToolCallParam

function
NeMoGymChatCompletionMessageToolCallFunctionParam
class nemo_gym.openai_utils.NeMoGymChatCompletionSystemMessageParam()

Bases: ChatCompletionSystemMessageParam

content
Required[Union[str, List[NeMoGymChatCompletionContentPartTextParam]]]
class nemo_gym.openai_utils.NeMoGymChatCompletionToolMessageParam()

Bases: ChatCompletionToolMessageParam

content
Required[Union[str, List[NeMoGymChatCompletionContentPartTextParam]]]
class nemo_gym.openai_utils.NeMoGymChatCompletionToolParam()

Bases: ChatCompletionToolParam

function
Required[NeMoGymFunctionDefinition]
class nemo_gym.openai_utils.NeMoGymChatCompletionUserMessageParam()

Bases: ChatCompletionUserMessageParam

content
Required[Union[str, List[NeMoGymChatCompletionContentPartParam]]]
class nemo_gym.openai_utils.NeMoGymChoice()

Bases: Choice

message
Union[NeMoGymChatCompletionMessage, NeMoGymChatCompletionMessageForTraining]
class nemo_gym.openai_utils.NeMoGymEasyInputMessage()

Bases: BaseModel

content
Union[str, ResponseInputMessageContentListParam]
role
Literal['user', 'assistant', 'system', 'developer']
type
Literal['message'] = 'message'
class nemo_gym.openai_utils.NeMoGymEasyInputMessageForTraining()
class nemo_gym.openai_utils.NeMoGymFunction()

Bases: BaseModel

arguments
str
name
str
class nemo_gym.openai_utils.NeMoGymFunctionCallOutput()

Bases: BaseModel

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.

call_id
str
id
Optional[str] = None
output
str
status
Optional[Literal['in_progress', 'completed', 'incomplete']] = None
type
Literal['function_call_output'] = 'function_call_output'
class nemo_gym.openai_utils.NeMoGymFunctionDefinition()

Bases: FunctionDefinition

class nemo_gym.openai_utils.NeMoGymFunctionToolParam()

Bases: FunctionToolParam

class nemo_gym.openai_utils.NeMoGymMessage()

Bases: BaseModel

content
ResponseInputMessageContentListParam
role
Literal['user', 'system', 'developer']
status
Literal['in_progress', 'completed', 'incomplete'] = 'completed'
type
Literal['message'] = 'message'
class nemo_gym.openai_utils.NeMoGymMessageForTraining()
class nemo_gym.openai_utils.NeMoGymResponse()

Bases: Response

output
List[NeMoGymResponseOutputItem]
usage
Optional[NeMoGymResponseUsage] = None
class nemo_gym.openai_utils.NeMoGymResponseCreateParamsNonStreaming()

Bases: BaseModel

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.

background
Optional[bool] = None
include
Optional[List[ResponseIncludable]] = None
input
Union[str, NeMoGymResponseInput]
instructions
Optional[str] = None
max_output_tokens
Optional[int] = None
max_tool_calls
Optional[int] = None
metadata
Optional[Metadata] = None
model
Optional[ResponsesModel] = None
model_config
= ConfigDict(extra='forbid')
parallel_tool_calls
bool = True
previous_response_id
Optional[str] = None
prompt
Optional[ResponsePromptParam] = None
reasoning
Optional[Reasoning] = None
service_tier
Optional[Literal['auto', 'default', 'flex', 'scale', 'priority']] = None
store
Optional[bool] = None
stream
Optional[Literal[False]] = None
temperature
Optional[float] = None
text
Optional[ResponseTextConfigParam] = None
tool_choice
ToolChoice = 'auto'
tools
List[ToolParam] = Field(default_factory=list)
top_logprobs
Optional[int] = None
top_p
Optional[float] = None
truncation
Optional[Literal['auto', 'disabled']] = None
user
Optional[str] = None
class nemo_gym.openai_utils.NeMoGymResponseFunctionToolCall()

Bases: BaseModel

arguments
str
call_id
str
id
Optional[str] = None
name
str
status
Optional[Literal['in_progress', 'completed', 'incomplete']] = None
type
Literal['function_call'] = 'function_call'
class nemo_gym.openai_utils.NeMoGymResponseFunctionToolCallForTraining()
class nemo_gym.openai_utils.NeMoGymResponseInputText()

Bases: ResponseInputTextParam

class nemo_gym.openai_utils.NeMoGymResponseInputTokensDetails()

Bases: ResponseInputTokensDetails

class nemo_gym.openai_utils.NeMoGymResponseOutputMessage()

Bases: BaseModel

content
List[NeMoGymContent]
id
str
role
Literal['assistant'] = 'assistant'
status
Literal['in_progress', 'completed', 'incomplete'] = 'completed'
type
Literal['message'] = 'message'
class nemo_gym.openai_utils.NeMoGymResponseOutputMessageForTraining()
class nemo_gym.openai_utils.NeMoGymResponseOutputRefusal()

Bases: BaseModel

refusal
str
type
Literal['refusal'] = 'refusal'
class nemo_gym.openai_utils.NeMoGymResponseOutputText()

Bases: BaseModel

annotations
List[Annotation]
logprobs
Optional[List[Logprob]] = None
text
str
type
Literal['output_text'] = 'output_text'
class nemo_gym.openai_utils.NeMoGymResponseOutputTokensDetails()

Bases: ResponseOutputTokensDetails

class nemo_gym.openai_utils.NeMoGymResponseReasoningItem()

Bases: BaseModel

encrypted_content
Optional[str] = None
id
str
summary
List[NeMoGymSummary]
type
Literal['reasoning'] = 'reasoning'
class nemo_gym.openai_utils.NeMoGymResponseReasoningItemForTraining()
class nemo_gym.openai_utils.NeMoGymResponseUsage()

Bases: ResponseUsage

input_tokens_details
NeMoGymResponseInputTokensDetails
output_tokens_details
NeMoGymResponseOutputTokensDetails
class nemo_gym.openai_utils.NeMoGymSummary()

Bases: Summary

class nemo_gym.openai_utils.TokenIDLogProbMixin()

Bases: BaseModel

generation_log_probs
List[float]
generation_token_ids
List[int]
prompt_token_ids
List[int]
class nemo_gym.openai_utils.TokenIDLogProbTypedDictMixin

Bases: typing.TypedDict

generation_log_probs
List[float]
generation_token_ids
List[int]
prompt_token_ids
List[int]
nemo_gym.openai_utils.NeMoGymChatCompletionContentPartParam = Union[NeMoGymChatCompletionContentPartTextParam, NeMoGymChatCompletionContentPar...
nemo_gym.openai_utils.NeMoGymChatCompletionMessageParam: TypeAlias = Union[NeMoGymChatCompletionDeveloperMessageParam, NeMoGymChatCompletionSystemMes...
nemo_gym.openai_utils.NeMoGymContent: TypeAlias = Union[NeMoGymResponseOutputText, NeMoGymResponseOutputRefusal]
nemo_gym.openai_utils.NeMoGymResponseInput: TypeAlias = List[NeMoGymResponseInputItem]
nemo_gym.openai_utils.NeMoGymResponseInputItem = Union[NeMoGymEasyInputMessage, NeMoGymMessage, NeMoGymResponseOutputMessage, NeM...
nemo_gym.openai_utils.NeMoGymResponseOutputItem = NeMoGymResponseInputItem
nemo_gym.openai_utils.RATE_LIMIT_ERROR_CODES = [429, 502, 503, 504, 520]
nemo_gym.openai_utils.RESPONSES_TO_TRAIN = {NeMoGymEasyInputMessage: NeMoGymEasyInputMessageForTraining, NeMoGymMessage: Ne...
nemo_gym.openai_utils.RETRY_ERROR_CODES = RATE_LIMIT_ERROR_CODES + [500]