How to Ground a Korean AI Agent in Real Demographics with Synthetic Personas
Summary
NVIDIA's Nemotron-Personas-Korea is a dataset of 6-7 million synthetic personas grounded in official Korean demographic statistics, designed to help build culturally accurate Korean AI agents while complying with Korea's Personal Information Protection Act (PIPA). The tutorial demonstrates how to filter personas and deploy a grounded Korean AI agent using hosted APIs in approximately 20 minutes.
View Cached Full Text
Cached at: 04/21/26, 07:05 AM
How to Ground a Korean AI Agent in Real Demographics with Synthetic Personas
Source: https://huggingface.co/blog/nvidia/build-korean-agents-with-nemotron-personas Back to Articles
- A Sovereign Dataset for South Korea
- Why This Matters for Autonomous Agents
- Tutorial: From Synthetic Persona to Sovereign Agent- Step 1: Load and Explore the Dataset - Step 2: Filter and Select a Persona - Step 3: Define Your Agent Behavior - Step 4: Deploy Your Agent
- What Grounding Changes
- Come Build with Us in Seoul
The models powering mostAI agentstoday were trained primarily on English web data. They miss Korean honorific structures, regional occupation patterns, and the cultural context that Korean users expect. An agent that applies U.S. healthcare workflows to the Korean public health system isn’t ready for production.
Nemotron-Personas-Koreafixes this. The dataset provides 6 million fully synthetic personas grounded in official statistics and seed data from theKorean Statistical Information Service (KOSIS), theSupreme Court of Korea, theNational Health Insurance Service, and theKorea Rural Economic Institute.NAVER Cloudcontributed seed data and domain expertise during design.
Every persona is demographically accurate but contains zero personally identifiable information (PII). It’s designed with Korea’s Personal Information Protection Act (PIPA) in mind. South Korea is also one of the few countries to publish anofficial Synthetic Data Generation guide, establishing governance for grounding models with synthetic versions of sensitive data. This dataset follows that approach.
In this tutorial, we’ll turn a synthetic persona into a deployed Korean agent — from filtering the dataset to inference — in about 20 minutes using hosted APIs.
https://huggingface.co/blog/nvidia/build-korean-agents-with-nemotron-personas#a-sovereign-dataset-for-south-koreaA Sovereign Dataset for South Korea
AttributeDetailTotal personas7 million (1 million records × 7 personas each)Persona fields26 fields: 7 persona fields, 6 persona attribute fields, 12 demographic & geographic contextual fields, and 1 unique identifierGeographic coverageAll 17 Korean provinces, and 25 districtsNames~209K unique names (118 surnames, ~21.4K given names)Occupations2K+ categories reflecting tech, manufacturing, public sector, etc.Persona typesProfessional, family, sports, arts, travel, culinary, conciseLife stagesStudent, military service, employed, unemployed, retiredLanguageNatural KoreanLicenseCC BY 4.0 Nemotron-Personas-Korea was generated usingNeMo Data Designer, NVIDIA’s open-source compound AI system for synthetic data. The pipeline pairs a Probabilistic Graphical Model (Apache-2.0) for statistical grounding with Gemma-4-31B for Korean-language narrative generation. Population data comes from KOSIS (2020–2026 releases); name distributions come from the Supreme Court of Korea.
Nemotron-Personas-Korea is the latest addition to theNemotron-Personas Collection, which also covers the USA, Japan, India, Singapore (withAI Singapore), Brazil (withWideLabs), and France (withPleias). If you’re building a multilingual agent that serves Korean users alongside other markets, you can blend personas across countries in the same pipeline.
https://huggingface.co/blog/nvidia/build-korean-agents-with-nemotron-personas#why-this-matters-for-autonomous-agentsWhy This Matters for Autonomous Agents
Most agents today are identity-blind. They follow instructions without any grounding in who they’re serving. For example, an agent that books a Korean hospital appointment using US scheduling conventions, or addresses a 60-year-old patient in 반말 (“banmal,” informal language), doesn’t just feel wrong. It fails.
Nemotron-Personas-Korea changes this by giving your agent a Korean operating context. Load a persona into the system prompt and the agent inherits that persona’s region, occupation, communication norms, and domain expertise.
This works across any agent framework. Deploy withNemoClaw(NVIDIA’s open-source reference stack for always-on agents running inNVIDIA OpenShellsandboxes, on anything from RTX PCs to DGX Spark), serve through NVIDIA NIM for production inference, or call the NVIDIA API directly. The persona layer is framework-agnostic, acting as a well-structured system prompt grounded in real Korean demographics.
https://huggingface.co/blog/nvidia/build-korean-agents-with-nemotron-personas#tutorial-from-synthetic-persona-to-sovereign-agentTutorial: From Synthetic Persona to Sovereign Agent
🔗 Resources
- Nemotron-Personas-Koreafor seeding training
- NeMo Data Designerfor synthesizing domain-specific data
- NVIDIA NemoClawfor deploying always-on agents
- NVIDIA Developer Discordfor community support
https://huggingface.co/blog/nvidia/build-korean-agents-with-nemotron-personas#step-1-load-and-explore-the-datasetStep 1: Load and Explore the Dataset
Load the dataset and explore what’s available. Each record contains structured demographic fields alongside rich, natural-language persona narratives.
from datasets import load_dataset
# Load the Korea personas dataset
dataset = load_dataset("nvidia/Nemotron-Personas-Korea")
# See all available fields
print(dataset["train"].column_names)
# Preview a single record to understand the schema
print(dataset["train"][0])
https://huggingface.co/blog/nvidia/build-korean-agents-with-nemotron-personas#step-2-filter-and-select-a-personaStep 2: Filter and Select a Persona
Filter the dataset by occupation, region, age, or any combination of fields to find personas that match your target domain. Here we’ll build a Korean public health agent.
# Filter for healthcare-related occupations
# "보건" = public health, "간호" = nursing, "의료" = medical, "의사" = doctors
health_personas = dataset["train"].filter(
lambda x: "보건" in x["occupation"] or "간호" in x["occupation"] or "의료" in x["occupation"]
)
print(f"Found {len(health_personas)} health personas")
# Select one persona to ground your agent
persona = health_personas[0]
print(persona)
You can refine further by region (e.g., only Jeju-based health workers), education level, or life stage. The dataset is large enough to find highly specific slices.
https://huggingface.co/blog/nvidia/build-korean-agents-with-nemotron-personas#step-3-define-your-agent-behaviorStep 3: Define Your Agent Behavior
This is where persona data becomes agent behavior. The structured fields — name, region, occupation, skills — become the agent’s identity. You layer behavioral instructions and task scope on top. The result is an agent that reasons like a Korean professional in a specific role and region.
# Build a system prompt from persona attributes
# The prompt below instructs the agent to:
# - Respond using formal Korean (존댓말)
# - Provide guidance on local public health clinics
# - Base answers on Korean public health policy
# - Consider cultural context in consultations
system_prompt = f"""당신은 한국의 공중보건 상담 AI 에이전트입니다.
[신원] # Identity
- 이름: {persona['name']} # Name
- 지역: {persona['region']} # Region
- 직업: {persona['occupation']} # Occupation
- 전문분야: {persona['skills']} # Specialization
[행동 지침] # Behavior guidelines
- 한국어 존댓말을 사용하여 응답하세요. # Use formal Korean
- 지역 보건소 및 공공 의료 체계에 대한 안내를 제공하세요. # Guide on local clinics
- 한국 공중보건 정책과 절차를 기반으로 정확한 정보를 제공하세요. # Follow KR health policy
- 문화적 맥락을 고려하여 상담하세요. # Consider cultural context
[업무 범위] # Task scope
- 예방접종 일정 안내 # Vaccination scheduling
- 건강검진 절차 설명 # Health screening procedures
- 지역 보건 자원 연결 # Connect to local health resources
- 공중보건 관련 일반 상담 # General public health consultation
"""
https://huggingface.co/blog/nvidia/build-korean-agents-with-nemotron-personas#step-4-deploy-your-agentStep 4: Deploy Your Agent
Connect your persona-grounded prompt to a model for inference. You have three options depending on your setup:
- NVIDIA API catalog— fastest way to test (shown below)
- NVIDIA NIM— self-hosted inference for production deployments
- NemoClaw— reference stack for deploying always-on agents, runs anywhere, including on RTX PCs through DGX Spark
from openai import OpenAI
# NVIDIA API catalog (OpenAI-compatible)
client = OpenAI(
base_url="https://integrate.api.nvidia.com/v1",
api_key="nvapi-YOUR_KEY" # Get a key at build.nvidia.com
)
response = client.chat.completions.create(
model="nvidia/nemotron-nano-8b-v1",
messages=[
{"role": "system", "content": system_prompt},
{"role": "user", "content": "독감 예방접종은 언제 맞아야 하나요?"} # "When should I get a flu shot?"
],
temperature=0.7,
max_tokens=512
)
print(response.choices[0].message.content)
The same workflow applies to any domain. Swap the persona filter and task scope, and you have a new agent: a 금융 (“geum-yung,” finance) persona becomes a retail banking advisor, a 교육 (“gyoyug,” education) persona becomes a tutoring assistant, a 공무원 (“gongmuwon,” civil servant) persona becomes a government health services agent.
https://huggingface.co/blog/nvidia/build-korean-agents-with-nemotron-personas#what-grounding-changesWhat Grounding Changes
Here’s the same question — “독감 예방접종은 언제 맞아야 하나요?” (When should I get a flu shot?) — answered with and without persona grounding.
Without PersonasWith Korean Health Worker PersonasLanguageResponds in English/generic KoreanNatural 존댓말 appropriate for health consultationContentReferences CDC/global guidanceReferences Korean 보건소 schedule, national vaccination programSpecificity“Visit your local clinic”“가까운 보건소에서 무료 접종이 가능합니다” with regional contextTrustNoneCites Korean public health policy, uses professional medical Korean The persona goes beyond translation — it contextualizes and results in an agent your users will trust.
https://huggingface.co/blog/nvidia/build-korean-agents-with-nemotron-personas#come-build-with-us-in-seoulCome Build with Us in Seoul
NVIDIA Nemotron Developer Dayscomes to Seoul today and tomorrow, April 21–22, 2026 — the first time the event has been held outside GTC. Two days of activities, including technical sessions on sovereign AI and open models, plus a hands-on hackathon where you’ll have an opportunity to use Nemotron-Personas-Korea to build domain-specific Korean agents and a claw. 🦞
Join in person or vialivestream. Share what you build for a chance to be featured in a future NVIDIA tutorial.
Similar Articles
MatrAIx: Simulating the World with 8.3 Billion Persona Agents
This paper introduces MatrAIx, a population-scale simulated-user evaluation infrastructure using 8.3 billion persona records to test AI systems and digital products. It provides a quality-filtered coreset of ~1 million personas, multiple evaluation environments, and validation studies showing high persona adherence.
Data for Agents
NVIDIA discusses the importance of open and synthetic data for building robust AI agents, highlighting their Nemotron open datasets for training, reasoning, and tool-use.
Beyond Cooperative Simulators: Generating Realistic User Personas for Robust Evaluation of LLM Agents
Introduces Persona Policies (PPol), a plug-and-play control layer that uses LLM-driven evolutionary program search to generate diverse, human-like user personas for evaluating LLM agents. Achieves 33–62% fitness gains over baseline, with human-likeness rated at 80.4%, and improves agent robustness with +17% task success.
Dynamic In-Group Persona Generation for Enhancing Human-AI Rapport
This paper introduces a method for LLM-based chatbots to dynamically generate in-group personas by first identifying a user's primary concern and then creating a synthetic persona that shares that concern. A human-subject study demonstrates significant improvements in perceived rapport and user engagement compared to baseline conditions.
Generating Diverse Personas for User Simulators to Test Interview Dialogue Systems
This paper proposes a method to automatically generate diverse user personas using large language models for testing interview dialogue systems, reducing manual effort and increasing variation in simulated user behaviors.

