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

  1. Export NVIDIA_API_KEY.

  2. Download the sample train_sample.jsonl chat file.

  3. Run nemotron steps run translate/nemo_curator -c default with CLI overrides for paths, languages, and server.model.

  4. Inspect output_dir for 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_KEY exported in your shell.

  • For local uv run execution with Curator/Ray, export RAY_ENABLE_UV_RUN_RUNTIME_ENV=0 so 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#

  1. Clone the repository, if you haven’t already:

    $ git clone https://github.com/NVIDIA-NeMo/Nemotron && cd Nemotron
    
  2. Synchronize the dependencies:

    $ uv sync --extra translate
    
  3. Download train_sample.jsonl from the sample file.

    Save the file in the repository root if you want to match the input_path below exactly. If you save it elsewhere, change input_path in the commands that follow.

  4. Run the translation stage.

    From the repository root, specify the default.yaml config and overrides by using CLI arguments. Set server.model to a model your endpoint serves. Replace <api-key> with your NVIDIA API key value, or set NVIDIA_API_KEY in 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_path and output_dir replace the placeholders in default.yaml.

    • source_language and target_language must 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.model is required when backend is llm.

    The default server.url in default.yaml is https://integrate.api.nvidia.com/v1.

  5. Inspect the output.

    The output_dir path holds the Curator writer output when output_format is jsonl, 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_field set to messages.*.content, output_mode set to both, and reconstruct_messages set to true in default.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% आर्द्रता के साथ।\"}]"
    }
    
  6. Optional: Print the merged configuration without running the stage.

    Pass --dry-run or -d so 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#