Agentic AI / Generative AI

RAG와 안전 가드레일을 적용한 음성 에이전트 구축 가이드

Reading Time: 6 minutes

단순히 API를 호출하는 것만으로는 제대로 된 에이전트를 만들 수 없습니다. 에이전트 구축의 핵심은 검색(Retrieval), 음성(Speech), 보안(Safety), 추론(Reasoning) 컴포넌트들이 마치 하나의 유기체처럼 동작하도록 정교하게 엮어내는 데 있습니다. 각 레이어는 고유한 인터페이스와 레이턴시 제약, 통합 이슈를 가지고 있으며, 프로토타입 단계를 넘어설 때 이런 문제들은 더욱 선명하게 드러납니다.

본 튜토리얼에서는 CES 2026에서 공개된 최신 NVIDIA Nemotron 모델(음성, RAG, 보안 및 추론 특화)을 활용하여, 가드레일이 탑재된 음성 기반 RAG 에이전트를 구축하는 방법을 배웁니다. 튜토리얼을 마치면 다음과 같은 기능을 갖춘 에이전트를 완성할 수 있습니다:

  • 음성 입력을 듣고
  • 멀티모달 RAG를 통해 자체 데이터를 기반으로 사고하며
  • 롱 컨텍스트(Long Context)에 대해 추론하고
  • 응답 전에 안전 가드레일을 적용하며
  • 안전한 답변을 오디오 형태로 반환합니다

로컬 GPU에서 개발을 시작한 후, 관리형 GPU 서비스나 온디맨드 클라우드, 프로덕션용 API 런타임 등 확장 가능한 NVIDIA 환경으로 워크플로우 변경 없이 동일한 코드를 배포할 수 있습니다.

영상 1. 실시간 음성 입력부터 기반 문맥에 따른 안전성 검증 응답까지의 전체 데모와, 하나의 워크플로우로 에이전트를 배포하는 과정.

사전 준비 사항

튜토리얼을 시작하기 전 다음 항목들이 필요합니다.

  • NVIDIA API 키: 클라우드 호스팅 기반 추론 모델 사용 시 필요 (무료 발급 가능)
  • 로컬 배포 시 요구 사양:
    • 약 20GB의 디스크 여유 공간
    • 최소 24GB 이상의 VRAM을 탑재한 NVIDIA GPU
  • Bash 실행이 가능한 OS: Ubuntu, macOS 또는 WSL(Windows Subsystem for Linux)
  • Python 3.10 이상 환경
  • 약 1시간의 여유 시간

만들게 될 것

그림 1. RAG와 보안 가드레일이 적용된 음성 에이전트의 엔드투엔드 워크플로우
컴포넌트모델명용도
ASRnemotron-speech-streaming-en-0.6b초저지연 음성 입력 처리
Embeddingllama-nemotron-embed-vl-1b-v2텍스트 및 이미지 대상 시맨틱 검색
Rerankingllama-nemotron-rerank-vl-1b-v2검색 정확도 6-7% 향상
Safetyllama-3.1-nemotron-safety-guard-8b-v3다국어 콘텐츠 모더레이션
Vision-Languagenemotron-nano-12b-v2-vl컨텍스트 내 이미지 설명 및 분석
Reasoningnemotron-3-nano-30b-a3b1M 토큰 지원 고효율 추론
표 1. 음성 에이전트 구축에 사용되는 Nemotron 모델 개요 (ASR, 임베딩, 리랭킹, 비전 언어, 롱 컨텍스트 추론 및 콘텐츠 보안 모델 포함)

Step 1: 환경 구성

음성 에이전트 구축을 위해 위에서 언급한 여러 NVIDIA Nemotron 모델을 동시에 실행합니다. 음성, 임베딩, 리랭킹, 보안 모델은 Transformers와 NVIDIA NeMo를 통해 로컬에서 구동하며, 추론 모델은 NVIDIA API를 사용합니다.

uv sync --all-extras

제공된 노트북 파일이 모든 환경 설정을 처리합니다. 클라우드 호스팅 기반의 추론 모델 사용을 위한 NVIDIA API 키만 설정하면 바로 시작할 수 있습니다.

Step 2: 멀티모달 RAG로 에이전트 그라운딩

에이전트의 신뢰도는 검색(Retrieval) 성능에 달려 있습니다. 새로운 Llama Nemotron 멀티모달 임베딩 및 리랭킹 모델을 사용하면 별도의 전처리 없이 텍스트와 이미지(스캔된 문서 포함)를 임베딩하여 벡터 인덱스에 직접 저장할 수 있습니다. 이렇게 수집된 문맥은 추론 모델이 실제 기업 데이터를 기반으로 응답하도록 만들어, 환각을 줄이고 정확도를 높여줍니다.

그림 2. 오프라인 인덱싱과 온라인 검색이 결합된 멀티모달 RAG 파이프라인

llama-nemotron-embed-vl-1b-v2 모델은 텍스트 전용, 이미지 전용, 텍스트+이미지 결합 등 세 가지 입력 모드를 지원하므로, 일반 문서부터 슬라이드 자료, 기술 다이어그램까지 모두 벡터 인덱싱할 수 있습니다. 이 튜토리얼에서는 이미지와 텍스트가 결합된 예제를 임베딩합니다. 해당 임베딩 모델은 Transformers를 통해 로드되며, flash attention이 활성화된 상태로 동작합니다:

from transformers import AutoModel
 
model = AutoModel.from_pretrained(
    "nvidia/llama-nemotron-embed-vl-1b-v2",
    trust_remote_code=True,
    device_map="auto"
).eval()
 
# Embed queries and documents
query_embedding = model.encode_queries(["How does AI improve robotics?"])
doc_embeddings = model.encode_documents(texts=documents)

1차 검색 후에는 llama-nemotron-rerank-vl-1b-v2 모델이 텍스트와 이미지를 모두 활용해 결과 순위를 재조정(Rerank)하여 검색 정확도를 높입니다. 벤치마크 기준으로 리랭킹을 추가하면 정확도가 약 6~7% 향상되며, 정밀도가 중요한 상황에서 의미 있는 개선 효과를 제공합니다.

Step 3: Nemotron Speech ASR로 실시간 음성 기능 추가

데이터 검색 기반이 마련되었다면, 이제 음성을 통해 사용자와 자연스럽게 상호작용할 차례입니다.

그림 3. NVIDIA Nemotron Speech ASR를 활용한 ASR 파이프라인

Nemotron Speech ASR 모델은 Granary 데이터셋과 방대한 공개 음성 코퍼스를 기반으로 학습된 스트리밍 전용 모델로, 초저지연 실시간 디코딩에 최적화되어 있습니다. 개발자는 오디오를 ASR 서비스로 스트리밍하여 실시간으로 변환된 텍스트를 받고, 이를 RAG 파이프라인에 즉시 전달할 수 있습니다.

import nemo.collections.asr as nemo_asr
 
model = nemo_asr.models.ASRModel.from_pretrained(
    "nvidia/nemotron-speech-streaming-en-0.6b"
)
transcription = model.transcribe(["audio.wav"])[0]

이 모델은 지연 시간 설정을 조정할 수 있으며, 최저 80ms 지연 설정에서 평균 WER(단어 오류율) 8.53%를 기록하고, 지연을 1.1초로 늘리면 WER이 7.16%까지 낮아집니다. 이는 음성 비서, 현장 도구, 핸즈프리 워크플로우에서 중요한 1초 미만 임계값을 충분히 만족하는 성능입니다.

Step 4: Nemotron 보안 및 PII 모델로 안전성 강화

여러 지역과 언어 환경에서 동작하는 AI 에이전트는 유해 콘텐츠뿐만 아니라 문화적 뉘앙스와 맥락에 따른 의미까지 파악할 수 있어야 합니다.

그림 4. NVIDIA Llama Nemotron Safety Guard 모델을 활용해 안전한 콘텐츠와 유해 콘텐츠를 탐지하는 안전성 파이프라인

llama-3.1-nemotron-safety-guard-8b-v3 모델은 20개 이상의 언어에 대한 다국어 콘텐츠 보안 기능과 23개 보안 카테고리에 걸친 실시간 PII(개인정보) 탐지 기능을 제공합니다.

NVIDIA API를 통해 사용할 수 있어, 별도의 인프라를 구축하지 않고도 입력 및 출력 필터링을 간편하게 추가할 수 있습니다. 특히 언어, 방언, 문화적 맥락에 따라 의미가 달라지는 유사 문구들을 정교하게 구분할 수 있어, 노이즈가 섞이거나 비격식적인 표현이 많은 실시간 ASR 출력을 처리할 때 매우 중요한 요소입니다.

from langchain_nvidia_ai_endpoints import ChatNVIDIA
 
safety_guard = ChatNVIDIA(model="nvidia/llama-3.1-nemotron-safety-guard-8b-v3")
result = safety_guard.invoke([
    {"role": "user", "content": query},
    {"role": "assistant", "content": response}
])

step 5: Nemotron 3 Nano를 활용한 롱 컨텍스트 추론

NVIDIA Nemotron 3 Nano는 에이전트의 추론 능력을 담당합니다. 효율적인 MoE(Mixture-of-Experts)와 Mamba-Transformer 하이브리드 아키텍처를 결합하여 1M(백만) 토큰의 컨텍스트 윈도우를 지원합니다. 덕분에 한 번의 인퍼런스 요청으로 검색된 문서, 사용자 대화 이력, 중간 처리 단계들을 모두 수용할 수 있습니다.

그림 5. NVIDIA Nemotron 3 Nano를 활용한 추론 파이프라인

검색된 문서에 이미지가 포함된 경우, 에이전트는 먼저 Nemotron Nano VL을 사용하여 맥락에 맞게 이미지를 설명하고, 이후 모든 정보를 Nemotron 3 Nano로 전달하여 최종 답변을 생성합니다. 더 복잡한 추론 작업이 필요할 때는 ‘생각하기(Thinking) 모드’를 옵션으로 사용할 수 있습니다.

completion = client.chat.completions.create(
    model="nvidia/nemotron-3-nano-30b-a3b",
    messages=[{"role": "user", "content": prompt}],
    extra_body={"chat_template_kwargs": {"enable_thinking": True}}
)

출력된 결과는 반환 전 보안 필터를 거치게 되며, 이를 통해 단순한 RAG 검색 도구를 넘어 고도의 추론 능력을 갖춘 에이전트가 완성됩니다.

Step 6: LangGraph로 전체 프로세스 연결

LangGraph를 사용하여 전체 워크플로우를 하나의 지향 그래프(Directed Graph)로 구성합니다. 각 노드는 음성 변환, 검색, 이미지 설명, 생성, 보안 검사 등 개별 단계를 담당하며, 컴포넌트 간의 데이터 전달이 매끄럽게 이루어집니다.

Voice Input → ASR → Retrieve → Rerank → Describe Images → Reason → Safety → Response

에이전트의 상태(State)가 각 노드를 거치며 단계별로 컨텍스트를 축적합니다. 이러한 구조 덕분에 조건부 로직을 추가하거나, 실패한 단계를 재시도하고, 콘텐츠 유형에 따라 분기 처리를 하는 작업이 매우 간편해집니다. 함께 제공된 노트북의 전체 코드를 통해 각 노드를 정의하고 프로덕션급 파이프라인으로 연결하는 방법을 확인할 수 있습니다.

Step 7: 에이전트 배포

로컬 환경에서 코드가 정상적으로 동작한다면, 어디든 자유롭게 배포할 수 있습니다. 분산 인제스천(Ingestion), 임베딩 생성, 대규모 배치 벡터 인덱싱이 필요한 경우에는 NVIDIA DGX Spark를 활용해 보세요. Nemotron 모델은 GPU 가속 기반의 사전 구축된 추론 마이크로서비스인 NVIDIA NIM으로 최적화 및 패키징하여 배포할 수 있으며, 확장성 있는 처리를 위해 Spark에서 직접 호출하는 것도 가능합니다. 별도의 시스템 설정 없이 노트북 환경을 그대로 사용하면서 팀원들과 공유할 수 있는 온디맨드 GPU 워크스페이스가 필요하다면 NVIDIA Brev가 좋은 선택지가 될 것입니다.

이러한 배포 패턴이 실제 물리 로봇 비서에 적용된 사례를 확인하고 싶다면, Nemotron과 DGX Spark로 구축된 Reachy Mini 개인 어시스턴트 튜토리얼을 참고해 보세요.

로컬과 클라우드 모두 동일한 코드 경로를 사용하므로, 최소한의 수정만으로 실험 단계에서 프로덕션 단계까지 매끄럽게 전환할 수 있습니다.

결과 요약

이제 여러분은 네 가지 핵심 컴포넌트를 갖춘 Nemotron 기반 에이전트의 기본 구조를 확보하게 되었습니다. 이 시스템은 음성 상호작용을 위한 음성 ASR, 실제 기업 데이터를 기반으로 답변을 생성하는 멀티모달 RAG, 문화적 뉘앙스까지 파악하는 다국어 콘텐츠 보안 필터링, 그리고 롱 컨텍스트를 지원하는 Nemotron 3 Nano 추론 모델로 구성됩니다. 로컬 개발 환경에서 작성한 코드는 별도의 수정 없이 프로덕션용 GPU 클러스터에서도 동일하게 실행됩니다.

컴포넌트용도
Multimodal RAGGround responses in real enterprise data
Speech ASREnable natural voice interaction
Safety Identify unsafe content across languages and cultural contexts
Long-Context LLMGenerate accurate responses with reasoning
표 2. Nemotron 기반 음성 에이전트를 구성하는 네 가지 주요 컴포넌트—멀티모달 RAG, 음성 ASR, 다국어 콘텐츠 안전성, 장문맥 추론—의 개요

본 튜토리얼의 각 섹션은 노트북의 단계와 일대일로 매칭되어 있어, 파이프라인을 점진적으로 구현하고 테스트해 볼 수 있습니다. 전체 워크플로우가 엔드투엔드로 작동하면, 동일한 코드를 프로덕션 환경으로 그대로 확장할 수 있습니다.

구축할 준비가 되셨나요? 지금 단계를 따라 진행해 보세요.

GitHub에서 노트북 보기

개별 컴포넌트에 대해 더 자세히 알아보고 싶다면, 아래의 Hugging Face Nemotron 모델 컬렉션과 에이전트 오케스트레이션 도구들을 확인해 보시기 바랍니다.

NVIDIA Nemotron을 최대한 활용할 수 있도록 돕는 비디오 튜토리얼과 라이브 스트리밍 영상들도 준비되어 있습니다.

Discuss (0)

Tags