> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://fr.nvidia-localization.ferndocs.com/fr/nemo/rl/latest/nemo-rl-environments-interfaces/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://fr.nvidia-localization.ferndocs.com/_mcp/server. # nemo\_rl.environments.interfaces ## Contenu du Module ### Classes | Nom | Description | | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | | [`EnvironmentReturn`](#nemorlenvironmentsinterfacesenvironmentreturn) | Type de retour standard par lots pour les méthodes d'étape d'environnement. | | [`EnvironmentInterface`](#nemorlenvironmentsinterfacesenvironmentinterface) | Classe d'assistance qui fournit un moyen standard de créer un ABC par héritage. | ### Données `MetadataT` ### API ```python nemo_rl.environments.interfaces.MetadataT ``` **Valeur**: `TypeVar(...)` ```python class nemo_rl.environments.interfaces.EnvironmentReturn ``` **Bases**: `typing.NamedTuple`, `typing.Generic[nemo_rl.environments.interfaces.MetadataT]` Type de retour standard par lots pour les méthodes d'étape d'environnement. **Tous les éléments sont par lots.** observations : Nouvelle observation de l'environnement. C'est un type 'message' (par lots), qui est un dict avec les clés 'role' et 'content'. metadata : Métadonnées mises à jour de l'environnement. next\_stop\_strings : Les chaînes d'arrêt pour le prochain tour. Si votre environnement est un jeu ou similaire, vous pouvez vouloir retourner une liste de chaînes d'arrêt qui sont des actions valides pour le prochain tour ou similaire. Ce champ vous permet de contrôler cela par tour. rewards : les récompenses pour ce tour. terminateds : si l'épisode s'est terminé ce tour. answers : les réponses pour ce tour. ```python observations: list[dict[str, str]] ``` **Valeur**: `None` ```python metadata: list[nemo_rl.environments.interfaces.MetadataT] ``` **Valeur**: `None` ```python next_stop_strings: list[list[str] | None] | list[None] ``` **Valeur**: `None` ```python rewards: torch.Tensor ``` **Valeur**: `None` ```python terminateds: torch.Tensor ``` **Valeur**: `None` ```python answers: list[str | None] | None ``` **Valeur**: `None` ```python class nemo_rl.environments.interfaces.EnvironmentInterface ``` **Bases**: `abc.ABC`, `typing.Generic[nemo_rl.environments.interfaces.MetadataT]` ```python step( message_log_batch: list[nemo_rl.data.interfaces.LLMMessageLogType], metadata: list[nemo_rl.environments.interfaces.MetadataT] ) -> nemo_rl.environments.interfaces.EnvironmentReturn[nemo_rl.environments.interfaces.MetadataT] ``` Exécute une étape dans l'environnement. Permet l'asynchronie avec des serveurs distants, mais ce n'est pas obligatoire (cette fonction est un appel distant ray). message\_log\_batch : lot de journaux de messages de type API OpenAI qui représentent des interactions avec le LLM. Chaque élément est une liste\[dict\[str, Union\[str, torch.Tensor]]]. Par exemple, si c'était un environnement de mathématiques, le journal de messages serait \[ \{"role": "user", "content": "problème"}, \{"role": "assistant", "content": "réponse"}, ] mais si c'était un environnement de code avec des commentaires, ce serait : \[ \{"role": "user", "content": "problème"}, \{"role": "assistant", "content": "réponse"}, \{"role": "user", "content": "résultat du code"}, \{"role": "assistant", "content": "réponse du modèle"}, ] metadata : lot de ce dont l'environnement a besoin pour garder une trace. C'est-à-dire solutions mathématiques, tests unitaires de code, ou états d'agent. Peut être None si l'épisode est terminé. Retourne : * Un tuple EnvironmentReturn contenant les observations, métadonnées, chaînes d'arrêt suivantes, récompenses et indicateurs de fin. ```python global_post_process_and_metrics(batch: nemo_rl.distributed.batched_data_dict.BatchedDataDict) -> tuple[nemo_rl.distributed.batched_data_dict.BatchedDataDict, dict] ``` Fonction de post-traitement après que tous les rollouts sont terminés pour le lot et retourne des métriques.