Getting Started With Translation#
You will produce translated JSON Lines (JSONL) shards under an output_dir you choose, with FAITH quality scoring applied in the same run. FAITH is the translation-quality scorer name used in NVIDIA NeMo Curator documentation.
This tutorial runs nemotron steps run translate/nemo_curator end to end on a small sample file. You use src/nemotron/steps/translate/nemo_curator/config/default.yaml and CLI dotlist overrides.
What You Will Produce
Translation shards sit under a writable output_dir, with filtering governed by faith_eval in the same run.
Overview
Export
NVIDIA_API_KEY.Download the sample
train_sample.jsonlchat file.Run
nemotron steps run translate/nemo_curator -c defaultwith CLI overrides for paths, languages, andserver.model.Inspect
output_dirfor translated records.
Budget roughly five to fifteen minutes depending on network latency and response time from your provider and on corpus size. The sample contains about one hundred lines.
Prerequisites#
Network access to
https://integrate.api.nvidia.com/v1.NVIDIA_API_KEYexported in your shell.For local
uv runexecution with Curator/Ray, exportRAY_ENABLE_UV_RUN_RUNTIME_ENV=0so Ray workers reuse the synchronized project environment.
Sample Input File#
This translation tutorial uses train_sample.jsonl as a compact multi-turn chat dataset.
{"messages": [{"role": "system", "content": "You are a helpful assistant with access to weather information."}, {"role": "user", "content": "What's the weather in Tokyo?"}, {"role": "assistant", "tool_calls": [{"id": "weather_5854", "type": "function", "function": {"name": "get_weather", "arguments": "{\"location\": \"Tokyo\", \"units\": \"fahrenheit\"}"}}], "content": ""}, {"role": "tool", "tool_call_id": "weather_5854", "content": "{\"temp\": 72, \"condition\": \"sunny\", \"humidity\": 45}"}, {"role": "assistant", "content": "The weather in Tokyo is sunny with a temperature of 72\u00b0F and 45% humidity."}], "tools": [{"type": "function", "function": {"name": "get_weather", "description": "Get current weather for a location", "parameters": {"type": "object", "properties": {"location": {"type": "string"}, "units": {"type": "string"}}, "required": ["location"]}}}]}
{"messages": [{"role": "system", "content": "You are a database assistant."}, {"role": "user", "content": "Find all users from California"}, {"role": "assistant", "tool_calls": [{"id": "db_2329", "type": "function", "function": {"name": "query_database", "arguments": "{\"query\": \"Find all users from California\"}"}}], "content": ""}, {"role": "tool", "tool_call_id": "db_2329", "content": "[{\"id\": 1, \"name\": \"John Doe\", \"state\": \"CA\"}, {\"id\": 5, \"name\": \"Jane Smith\", \"state\": \"CA\"}]"}, {"role": "assistant", "content": "Here's what I found: [{\"id\": 1, \"name\": \"John Doe\", \"state\": \"CA\"}, {\"id\": 5, \"name\": \"Jane Smith\", \"state\": \"CA\"}]"}], "tools": [{"type": "function", "function": {"name": "query_database", "description": "Query the database", "parameters": {"type": "object", "properties": {"query": {"type": "string"}}, "required": ["query"]}}}]}
{"messages": [{"role": "system", "content": "You are a calculator assistant."}, {"role": "user", "content": "What is 156 * 24?"}, {"role": "assistant", "tool_calls": [{"id": "calc_8712", "type": "function", "function": {"name": "calculate", "arguments": "{\"expression\": \"156 * 24\"}"}}], "content": ""}, {"role": "tool", "tool_call_id": "calc_8712", "content": "3744"}, {"role": "assistant", "content": "The result of 156 * 24 is 3744."}], "tools": [{"type": "function", "function": {"name": "calculate", "description": "Perform mathematical calculation", "parameters": {"type": "object", "properties": {"expression": {"type": "string"}}, "required": ["expression"]}}}]}
{"messages": [{"role": "system", "content": "You are a database assistant."}, {"role": "user", "content": "Get product by ID 12345"}, {"role": "assistant", "tool_calls": [{"id": "db_7995", "type": "function", "function": {"name": "query_database", "arguments": "{\"query\": \"Get product by ID 12345\"}"}}], "content": ""}, {"role": "tool", "tool_call_id": "db_7995", "content": "{\"id\": 12345, \"name\": \"Laptop\", \"price\": 999.99}"}, {"role": "assistant", "content": "Here's what I found: {\"id\": 12345, \"name\": \"Laptop\", \"price\": 999.99}"}], "tools": [{"type": "function", "function": {"name": "query_database", "description": "Query the database", "parameters": {"type": "object", "properties": {"query": {"type": "string"}}, "required": ["query"]}}}]}
{"messages": [{"role": "system", "content": "You are a helpful assistant with access to weather information."}, {"role": "user", "content": "What's the weather in Dubai?"}, {"role": "assistant", "tool_calls": [{"id": "weather_8882", "type": "function", "function": {"name": "get_weather", "arguments": "{\"location\": \"Dubai\", \"units\": \"fahrenheit\"}"}}], "content": ""}, {"role": "tool", "tool_call_id": "weather_8882", "content": "{\"temp\": 55, \"condition\": \"rainy\", \"humidity\": 80}"}, {"role": "assistant", "content": "The weather in Dubai is rainy with a temperature of 55\u00b0F and 80% humidity."}], "tools": [{"type": "function", "function": {"name": "get_weather", "description": "Get current weather for a location", "parameters": {"type": "object", "properties": {"location": {"type": "string"}, "units": {"type": "string"}}, "required": ["location"]}}}]}
Procedure#
Clone the repository, if you haven’t already:
$ git clone https://github.com/NVIDIA-NeMo/Nemotron && cd Nemotron
Synchronize the dependencies:
$ uv sync --extra translate
Download
train_sample.jsonlfrom the sample file.Save the file in the repository root if you want to match the
input_pathbelow exactly. If you save it elsewhere, changeinput_pathin the commands that follow.Run the translation stage.
From the repository root, specify the
default.yamlconfig and overrides by using CLI arguments. Setserver.modelto a model your endpoint serves. Replace<api-key>with your NVIDIA API key value, or setNVIDIA_API_KEYin your environment before running the command.$ export NVIDIA_API_KEY="<api-key>" $ export RAY_ENABLE_UV_RUN_RUNTIME_ENV=0 $ uv run --no-sync nemotron steps run translate/nemo_curator -c default \ input_path="${PWD}/train_sample.jsonl" \ output_dir=./output/translation-getting-started \ source_language=en \ target_language=hi \ server.model=nvidia/nemotron-3-nano-omni-30b-a3b-reasoning \ faith_eval.enabled=false \ faith_eval.filter_enabled=false \ max_concurrent_requests=4
input_pathandoutput_dirreplace the placeholders indefault.yaml.source_languageandtarget_languagemust be explicit two-letter language codes from the ISO 639-1 standard, which the International Organization for Standardization publishes.The starter file leaves them empty on purpose so you choose the pair at run time.
server.modelis required whenbackendisllm.
The default
server.urlindefault.yamlishttps://integrate.api.nvidia.com/v1.Inspect the output.
The
output_dirpath holds the Curator writer output whenoutput_formatisjsonl, usually several shard files instead of one consolidated JSONL file. Spot-check one line.$ find ./output/translation-getting-started -name '*.jsonl' | head -n 1 | xargs head -n 1 | python3 -m json.tool --no-ensure-ascii
Translated chat payloads match
text_fieldset tomessages.*.content,output_modeset toboth, andreconstruct_messagesset totrueindefault.yaml.{ "messages": [ { "role": "system", "content": "[आप एक उपयोगी सहायक हैं जिसके पास मौसम की जानकारी तक पहुँच है।]" }, { "role": "user", "content": "[टोक्यो में मौसम कैसा है?]" }, { "role": "assistant", "tool_calls": [ { "id": "weather_5854", "type": "function", "function": { "name": "get_weather", "arguments": "{\"location\": \"Tokyo\", \"units\": \"fahrenheit\"}" } } ], "content": "" }, { "role": "tool", "tool_call_id": "weather_5854", "content": "{\"temp\": 72, \"condition\": \"sunny\", \"humidity\": 45}" }, { "role": "assistant", "content": "टोक्यो में मौसम धूपभरा है, 72°F का तापमान और 45% आर्द्रता के साथ।" } ], "tools": [ { "type": "function", "function": { "name": "get_weather", "description": "Get current weather for a location", "parameters": { "type": "object", "properties": { "location": { "type": "string" }, "units": { "type": "string" } }, "required": [ "location" ] } } } ], "translation_time": 8.9217984676, "translation_errors": "", "translated_text": [ { "role": "system", "content": "[आप एक उपयोगी सहायक हैं जिसके पास मौसम की जानकारी तक पहुँच है।]" }, { "role": "user", "content": "[टोक्यो में मौसम कैसा है?]" }, { "role": "assistant", "tool_calls": [ { "id": "weather_5854", "type": "function", "function": { "name": "get_weather", "arguments": "{\"location\": \"Tokyo\", \"units\": \"fahrenheit\"}" } } ], "content": "" }, { "role": "tool", "tool_call_id": "weather_5854", "content": "{\"temp\": 72, \"condition\": \"sunny\", \"humidity\": 45}" }, { "role": "assistant", "content": "टोक्यो में मौसम धूपभरा है, 72°F का तापमान और 45% आर्द्रता के साथ।" } ], "translation_metadata": "{\"target_lang\": \"hi\", \"translation\": {\"content\": [\"[आप एक उपयोगी सहायक हैं जिसके पास मौसम की जानकारी तक पहुँच है।]\", \"[टोक्यो में मौसम कैसा है?]\", \"\", \"{\\\"temp\\\": 72, \\\"condition\\\": \\\"sunny\\\", \\\"humidity\\\": 45}\", \"टोक्यो में मौसम धूपभरा है, 72°F का तापमान और 45% आर्द्रता के साथ।\"]}, \"segmented_translation\": {\"content\": [{\"src\": \"You are a helpful assistant with access to weather information.\", \"tgt\": \"[आप एक उपयोगी सहायक हैं जिसके पास मौसम की जानकारी तक पहुँच है।]\"}, {\"src\": \"What's the weather in Tokyo?\", \"tgt\": \"[टोक्यो में मौसम कैसा है?]\"}, {\"src\": \"The weather in Tokyo is sunny with a temperature of 72°F and 45% humidity.\", \"tgt\": \"टोक्यो में मौसम धूपभरा है, 72°F का तापमान और 45% आर्द्रता के साथ।\"}]}}", "translated_messages": "[{\"role\": \"system\", \"content\": \"[आप एक उपयोगी सहायक हैं जिसके पास मौसम की जानकारी तक पहुँच है।]\"}, {\"role\": \"user\", \"content\": \"[टोक्यो में मौसम कैसा है?]\"}, {\"role\": \"assistant\", \"tool_calls\": [{\"id\": \"weather_5854\", \"type\": \"function\", \"function\": {\"name\": \"get_weather\", \"arguments\": \"{\\\"location\\\": \\\"Tokyo\\\", \\\"units\\\": \\\"fahrenheit\\\"}\"}}], \"content\": \"\"}, {\"role\": \"tool\", \"tool_call_id\": \"weather_5854\", \"content\": \"{\\\"temp\\\": 72, \\\"condition\\\": \\\"sunny\\\", \\\"humidity\\\": 45}\"}, {\"role\": \"assistant\", \"content\": \"टोक्यो में मौसम धूपभरा है, 72°F का तापमान और 45% आर्द्रता के साथ।\"}]" } { "messages": [ { "role": "system", "content": "आप एक डेटाबेस सहायक हैं।" }, { "role": "user", "content": "सभी कैलिफोर्निया से उपयोगकर्ताओं को खोजें" }, { "role": "assistant", "tool_calls": [ { "id": "db_2329", "type": "function", "function": { "name": "query_database", "arguments": "{\"query\": \"Find all users from California\"}" } } ], "content": "" }, { "role": "tool", "tool_call_id": "db_2329", "content": "[{\"id\": 1, \"name\": \"John Doe\", \"state\": \"CA\"}, {\"id\": 5, \"name\": \"Jane Smith\", \"state\": \"CA\"}]" }, { "role": "assistant", "content": "यहाँ क्या मिला: [{\"id\": 1, \"name\": \"John Doe\", \"state\": \"CA\"}, {\"id\": 5, \"name\": \"Jane Smith\", \"state\": \"CA\"}]" } ], "tools": [ { "type": "function", "function": { "name": "query_database", "description": "Query the database", "parameters": { "type": "object", "properties": { "query": { "type": "string" } }, "required": [ "query" ] } } } ], "translation_time": 18.4458503723, "translation_errors": "", "translated_text": [ { "role": "system", "content": "आप एक डेटाबेस सहायक हैं।" }, { "role": "user", "content": "सभी कैलिफोर्निया से उपयोगकर्ताओं को खोजें" }, { "role": "assistant", "tool_calls": [ { "id": "db_2329", "type": "function", "function": { "name": "query_database", "arguments": "{\"query\": \"Find all users from California\"}" } } ], "content": "" }, { "role": "tool", "tool_call_id": "db_2329", "content": "[{\"id\": 1, \"name\": \"John Doe\", \"state\": \"CA\"}, {\"id\": 5, \"name\": \"Jane Smith\", \"state\": \"CA\"}]" }, { "role": "assistant", "content": "यहाँ क्या मिला: [{\"id\": 1, \"name\": \"John Doe\", \"state\": \"CA\"}, {\"id\": 5, \"name\": \"Jane Smith\", \"state\": \"CA\"}]" } ], "translation_metadata": "{\"target_lang\": \"hi\", \"translation\": {\"content\": [\"आप एक डेटाबेस सहायक हैं।\", \"सभी कैलिफोर्निया से उपयोगकर्ताओं को खोजें\", \"\", \"[{\\\"id\\\": 1, \\\"name\\\": \\\"John Doe\\\", \\\"state\\\": \\\"CA\\\"}, {\\\"id\\\": 5, \\\"name\\\": \\\"Jane Smith\\\", \\\"state\\\": \\\"CA\\\"}]\", \"यहाँ क्या मिला: [{\\\"id\\\": 1, \\\"name\\\": \\\"John Doe\\\", \\\"state\\\": \\\"CA\\\"}, {\\\"id\\\": 5, \\\"name\\\": \\\"Jane Smith\\\", \\\"state\\\": \\\"CA\\\"}]\"]}, \"segmented_translation\": {\"content\": [{\"src\": \"You are a database assistant.\", \"tgt\": \"आप एक डेटाबेस सहायक हैं।\"}, {\"src\": \"Find all users from California\", \"tgt\": \"सभी कैलिफोर्निया से उपयोगकर्ताओं को खोजें\"}, {\"src\": \"Here's what I found: [{\\\"id\\\": 1, \\\"name\\\": \\\"John Doe\\\", \\\"state\\\": \\\"CA\\\"}, {\\\"id\\\": 5, \\\"name\\\": \\\"Jane Smith\\\", \\\"state\\\": \\\"CA\\\"}]\", \"tgt\": \"यहाँ क्या मिला: [{\\\"id\\\": 1, \\\"name\\\": \\\"John Doe\\\", \\\"state\\\": \\\"CA\\\"}, {\\\"id\\\": 5, \\\"name\\\": \\\"Jane Smith\\\", \\\"state\\\": \\\"CA\\\"}]\"}]}}", "translated_messages": "[{\"role\": \"system\", \"content\": \"आप एक डेटाबेस सहायक हैं।\"}, {\"role\": \"user\", \"content\": \"सभी कैलिफोर्निया से उपयोगकर्ताओं को खोजें\"}, {\"role\": \"assistant\", \"tool_calls\": [{\"id\": \"db_2329\", \"type\": \"function\", \"function\": {\"name\": \"query_database\", \"arguments\": \"{\\\"query\\\": \\\"Find all users from California\\\"}\"}}], \"content\": \"\"}, {\"role\": \"tool\", \"tool_call_id\": \"db_2329\", \"content\": \"[{\\\"id\\\": 1, \\\"name\\\": \\\"John Doe\\\", \\\"state\\\": \\\"CA\\\"}, {\\\"id\\\": 5, \\\"name\\\": \\\"Jane Smith\\\", \\\"state\\\": \\\"CA\\\"}]\"}, {\"role\": \"assistant\", \"content\": \"यहाँ क्या मिला: [{\\\"id\\\": 1, \\\"name\\\": \\\"John Doe\\\", \\\"state\\\": \\\"CA\\\"}, {\\\"id\\\": 5, \\\"name\\\": \\\"Jane Smith\\\", \\\"state\\\": \\\"CA\\\"}]\"}]" } { "messages": [ { "role": "system", "content": "[आप एक कैलकुलेटर सहायक हैं।]" }, { "role": "user", "content": "[क्या 156 * 24 है?]" }, { "role": "assistant", "tool_calls": [ { "id": "calc_8712", "type": "function", "function": { "name": "calculate", "arguments": "{\"expression\": \"156 * 24\"}" } } ], "content": "" }, { "role": "tool", "tool_call_id": "calc_8712", "content": "3744" }, { "role": "assistant", "content": "156 * 24 का परिणाम 3744 है।" } ], "tools": [ { "type": "function", "function": { "name": "calculate", "description": "Perform mathematical calculation", "parameters": { "type": "object", "properties": { "expression": { "type": "string" } }, "required": [ "expression" ] } } } ], "translation_time": 34.5283660889, "translation_errors": "", "translated_text": [ { "role": "system", "content": "[आप एक कैलकुलेटर सहायक हैं।]" }, { "role": "user", "content": "[क्या 156 * 24 है?]" }, { "role": "assistant", "tool_calls": [ { "id": "calc_8712", "type": "function", "function": { "name": "calculate", "arguments": "{\"expression\": \"156 * 24\"}" } } ], "content": "" }, { "role": "tool", "tool_call_id": "calc_8712", "content": "3744" }, { "role": "assistant", "content": "156 * 24 का परिणाम 3744 है।" } ], "translation_metadata": "{\"target_lang\": \"hi\", \"translation\": {\"content\": [\"[आप एक कैलकुलेटर सहायक हैं।]\", \"[क्या 156 * 24 है?]\", \"\", \"3744\", \"156 * 24 का परिणाम 3744 है।\"]}, \"segmented_translation\": {\"content\": [{\"src\": \"You are a calculator assistant.\", \"tgt\": \"[आप एक कैलकुलेटर सहायक हैं।]\"}, {\"src\": \"What is 156 * 24?\", \"tgt\": \"[क्या 156 * 24 है?]\"}, {\"src\": \"The result of 156 * 24 is 3744.\", \"tgt\": \"156 * 24 का परिणाम 3744 है।\"}]}}", "translated_messages": "[{\"role\": \"system\", \"content\": \"[आप एक कैलकुलेटर सहायक हैं।]\"}, {\"role\": \"user\", \"content\": \"[क्या 156 * 24 है?]\"}, {\"role\": \"assistant\", \"tool_calls\": [{\"id\": \"calc_8712\", \"type\": \"function\", \"function\": {\"name\": \"calculate\", \"arguments\": \"{\\\"expression\\\": \\\"156 * 24\\\"}\"}}], \"content\": \"\"}, {\"role\": \"tool\", \"tool_call_id\": \"calc_8712\", \"content\": \"3744\"}, {\"role\": \"assistant\", \"content\": \"156 * 24 का परिणाम 3744 है।\"}]" } { "messages": [ { "role": "system", "content": "[आप एक डेटाबेस सहायक हैं।]" }, { "role": "user", "content": "3. Copy the content as-is.\n```python\ndef calculate_sum(a, b):\n return a + b\n```" }, { "role": "assistant", "tool_calls": [ { "id": "db_7995", "type": "function", "function": { "name": "query_database", "arguments": "{\"query\": \"Get product by ID 12345\"}" } } ], "content": "" }, { "role": "tool", "tool_call_id": "db_7995", "content": "{\"id\": 12345, \"name\": \"Laptop\", \"price\": 999.99}" }, { "role": "assistant", "content": "यहाँ क्या मिला: {\"id\": 12345, \"name\": \"Laptop\", \"price\": 999.99}" } ], "tools": [ { "type": "function", "function": { "name": "query_database", "description": "Query the database", "parameters": { "type": "object", "properties": { "query": { "type": "string" } }, "required": [ "query" ] } } } ], "translation_time": 39.8996043205, "translation_errors": "", "translated_text": [ { "role": "system", "content": "[आप एक डेटाबेस सहायक हैं।]" }, { "role": "user", "content": "3. Copy the content as-is.\n```python\ndef calculate_sum(a, b):\n return a + b\n```" }, { "role": "assistant", "tool_calls": [ { "id": "db_7995", "type": "function", "function": { "name": "query_database", "arguments": "{\"query\": \"Get product by ID 12345\"}" } } ], "content": "" }, { "role": "tool", "tool_call_id": "db_7995", "content": "{\"id\": 12345, \"name\": \"Laptop\", \"price\": 999.99}" }, { "role": "assistant", "content": "यहाँ क्या मिला: {\"id\": 12345, \"name\": \"Laptop\", \"price\": 999.99}" } ], "translation_metadata": "{\"target_lang\": \"hi\", \"translation\": {\"content\": [\"[आप एक डेटाबेस सहायक हैं।]\", \"3. Copy the content as-is.\\n```python\\ndef calculate_sum(a, b):\\n return a + b\\n```\", \"\", \"{\\\"id\\\": 12345, \\\"name\\\": \\\"Laptop\\\", \\\"price\\\": 999.99}\", \"यहाँ क्या मिला: {\\\"id\\\": 12345, \\\"name\\\": \\\"Laptop\\\", \\\"price\\\": 999.99}\"]}, \"segmented_translation\": {\"content\": [{\"src\": \"You are a database assistant.\", \"tgt\": \"[आप एक डेटाबेस सहायक हैं।]\"}, {\"src\": \"Get product by ID 12345\", \"tgt\": \"3. Copy the content as-is.\\n```python\\ndef calculate_sum(a, b):\\n return a + b\\n```\"}, {\"src\": \"Here's what I found: {\\\"id\\\": 12345, \\\"name\\\": \\\"Laptop\\\", \\\"price\\\": 999.99}\", \"tgt\": \"यहाँ क्या मिला: {\\\"id\\\": 12345, \\\"name\\\": \\\"Laptop\\\", \\\"price\\\": 999.99}\"}]}}", "translated_messages": "[{\"role\": \"system\", \"content\": \"[आप एक डेटाबेस सहायक हैं।]\"}, {\"role\": \"user\", \"content\": \"3. Copy the content as-is.\\n```python\\ndef calculate_sum(a, b):\\n return a + b\\n```\"}, {\"role\": \"assistant\", \"tool_calls\": [{\"id\": \"db_7995\", \"type\": \"function\", \"function\": {\"name\": \"query_database\", \"arguments\": \"{\\\"query\\\": \\\"Get product by ID 12345\\\"}\"}}], \"content\": \"\"}, {\"role\": \"tool\", \"tool_call_id\": \"db_7995\", \"content\": \"{\\\"id\\\": 12345, \\\"name\\\": \\\"Laptop\\\", \\\"price\\\": 999.99}\"}, {\"role\": \"assistant\", \"content\": \"यहाँ क्या मिला: {\\\"id\\\": 12345, \\\"name\\\": \\\"Laptop\\\", \\\"price\\\": 999.99}\"}]" } { "messages": [ { "role": "system", "content": "आप एक उपयोगी सहायक हैं जिसके पास मौसम की जानकारी तक पहुँच है।" }, { "role": "user", "content": "[दुबई में मौसम कैसा है?]" }, { "role": "assistant", "tool_calls": [ { "id": "weather_8882", "type": "function", "function": { "name": "get_weather", "arguments": "{\"location\": \"Dubai\", \"units\": \"fahrenheit\"}" } } ], "content": "" }, { "role": "tool", "tool_call_id": "weather_8882", "content": "{\"temp\": 55, \"condition\": \"rainy\", \"humidity\": 80}" }, { "role": "assistant", "content": "दुबई में मौसम बारिश के साथ है, तापमान 55°F और 80% आर्द्रता के साथ।" } ], "tools": [ { "type": "function", "function": { "name": "get_weather", "description": "Get current weather for a location", "parameters": { "type": "object", "properties": { "location": { "type": "string" }, "units": { "type": "string" } }, "required": [ "location" ] } } } ], "translation_time": 50.0045132637, "translation_errors": "", "translated_text": [ { "role": "system", "content": "आप एक उपयोगी सहायक हैं जिसके पास मौसम की जानकारी तक पहुँच है।" }, { "role": "user", "content": "[दुबई में मौसम कैसा है?]" }, { "role": "assistant", "tool_calls": [ { "id": "weather_8882", "type": "function", "function": { "name": "get_weather", "arguments": "{\"location\": \"Dubai\", \"units\": \"fahrenheit\"}" } } ], "content": "" }, { "role": "tool", "tool_call_id": "weather_8882", "content": "{\"temp\": 55, \"condition\": \"rainy\", \"humidity\": 80}" }, { "role": "assistant", "content": "दुबई में मौसम बारिश के साथ है, तापमान 55°F और 80% आर्द्रता के साथ।" } ], "translation_metadata": "{\"target_lang\": \"hi\", \"translation\": {\"content\": [\"आप एक उपयोगी सहायक हैं जिसके पास मौसम की जानकारी तक पहुँच है।\", \"[दुबई में मौसम कैसा है?]\", \"\", \"{\\\"temp\\\": 55, \\\"condition\\\": \\\"rainy\\\", \\\"humidity\\\": 80}\", \"दुबई में मौसम बारिश के साथ है, तापमान 55°F और 80% आर्द्रता के साथ।\"]}, \"segmented_translation\": {\"content\": [{\"src\": \"You are a helpful assistant with access to weather information.\", \"tgt\": \"आप एक उपयोगी सहायक हैं जिसके पास मौसम की जानकारी तक पहुँच है।\"}, {\"src\": \"What's the weather in Dubai?\", \"tgt\": \"[दुबई में मौसम कैसा है?]\"}, {\"src\": \"The weather in Dubai is rainy with a temperature of 55°F and 80% humidity.\", \"tgt\": \"दुबई में मौसम बारिश के साथ है, तापमान 55°F और 80% आर्द्रता के साथ।\"}]}}", "translated_messages": "[{\"role\": \"system\", \"content\": \"आप एक उपयोगी सहायक हैं जिसके पास मौसम की जानकारी तक पहुँच है।\"}, {\"role\": \"user\", \"content\": \"[दुबई में मौसम कैसा है?]\"}, {\"role\": \"assistant\", \"tool_calls\": [{\"id\": \"weather_8882\", \"type\": \"function\", \"function\": {\"name\": \"get_weather\", \"arguments\": \"{\\\"location\\\": \\\"Dubai\\\", \\\"units\\\": \\\"fahrenheit\\\"}\"}}], \"content\": \"\"}, {\"role\": \"tool\", \"tool_call_id\": \"weather_8882\", \"content\": \"{\\\"temp\\\": 55, \\\"condition\\\": \\\"rainy\\\", \\\"humidity\\\": 80}\"}, {\"role\": \"assistant\", \"content\": \"दुबई में मौसम बारिश के साथ है, तापमान 55°F और 80% आर्द्रता के साथ।\"}]" }
Optional: Print the merged configuration without running the stage.
Pass
--dry-runor-dso Curator does not execute the pipeline.$ export RAY_ENABLE_UV_RUN_RUNTIME_ENV=0 $ uv run --no-sync nemotron steps run translate/nemo_curator -d -c default \ input_path=./train_sample.jsonl \ output_dir=./output/translation-getting-started \ source_language=en \ target_language=hi \ server.model=nvidia/nemotron-3-nano-omni-30b-a3b-reasoning
Next Steps#
Deeper behavior of FAITH in this pipeline: FAITH Evaluation Inside Translation
Backend tuning: Run LLM Translation
Field wiring and
output_mode: Configure Fields and OutputFAITH thresholds and filtering: Run FAITH Evaluation
CLI flags and overrides: CLI Reference for Translation