NVIDIA AI-Q 및 LangChain을 활용한 기업용 검색 딥 에이전트 구축 가이드 - NVIDIA Developer
[AI] ai agents
|
|
📰 뉴스
#ai-q
#langchain
#nvidia
#검색 에이전트
#하드웨어
#하드웨어/반도체
#검색 딥 에이전트
#반도체
#ai 딜
#gpt-5
#openai
#기업용 검색
#딥 에이전트
원문 출처: [AI] ai agents · Genesis Park에서 요약 및 분석
요약
엔비디아(NVIDIA)의 'AI-Q' 프레임워크와 랭체인(LangChain)을 결합하여 기업용 검색 최적화 딥 에이전트를 구축하는 방법을 다루는 가이드가 공식 개발자 페이지에 게재되었습니다. 이 기술 가이드는 최신 AI 기술을 바탕으로 복잡한 기업 내부 데이터를 신속하고 정확하게 탐색할 수 있는 맞춤형 시스템 구축 과정을 자세히 소개하고 있습니다.
본문
소비자용 AI가 강력한 성능을 발휘하는 것과 달리, 업무용 도구들은 파편화된 데이터와 제한적인 문맥으로 인해 어려움을 겪는 경우가 많습니다. LangChain으로 구축된 NVIDIA AI-Q 블루프린트는 이러한 간극을 메우는 오픈 소스 템플릿으로 주목받고 있습니다. 최근 LangChain은 확장 가능하고 즉시 상용화가 가능한 에이전트 개발을 지원하고자 NVIDIA AI 기반의 엔터프라이즈 에이전트 플랫폼을 공개했습니다. NVIDIA 런처블(launchable)로 제공되는 이번 튜토리얼은 개발자가 AI-Q 블루프린트를 활용해 고성능 딥 리서치 에이전트를 구축하고, 이를 기업 시스템에 연결하는 방법을 소개합니다. 이 블루프린트는 오픈 소스와 프런티어 LLM을 결합하고, NVIDIA NeMo Agent Toolkit으로 최적화하며 LangSmith를 통해 실행을 모니터링합니다. 결과적으로 기업은 데이터를 안전한 환경에 유지하면서, 에이전틱 검색 애플리케이션 개발 시간을 크게 줄일 수 있습니다. NVIDIA AI-Q 블루프린트와 NeMo Agent Toolkit은 NVIDIA Agent Toolkit의 일부입니다. 이 플랫폼은 장시간 자율적으로 작동하는 에이전트를 구축, 평가, 최적화할 수 있도록 도구, 모델, 런타임을 통합해 제공합니다. 이번 가이드를 통해 다음과 같은 핵심 역량을 습득하실 수 있습니다. - 기업용 검색 사례를 위해 LangChain과 결합된 NVIDIA AI-Q 블루프린트를 배포하는 방법 - Nemotron 및 프런티어 LLM을 활용하여 섈로(Shallow) 및 딥 리서치 에이전트를 구성하는 프로세스 - LangSmith와 NVIDIA 도구를 활용해 에이전트의 실행 경로(Trace)와 성능을 모니터링하는 방법 - NeMo Agent Toolkit을 통해 기업 내부 데이터 소스를 연결하는 방법 - NVIDIA API Key: Nemotron 3 등 NVIDIA 호스팅 모델 접근에 필요 - OpenAI API Key: GPT-5.2 등 프런티어 모델 사용 시 필요 - Tavily API Key: 웹 검색 기능 활성화 - Python - Docker Compose - (선택 사항) LangSmith: 실험 추적 및 모니터링 먼저 리포지토리를 복제한 후 API 키를 설정하세요. 환경 변수 템플릿을 복사하는 작업부터 시작합니다. cp deploy/.env.example deploy/.env 이어서 deploy/.env 파일을 열어 필요한 값을 입력합니다. # Required NVIDIA_API_KEY=nvapi-... TAVILY_API_KEY=tvly-... # Optional: enables trace monitoring (covered later in this post) LANGSMITH_API_KEY=lsv2-... NVIDIA_API_KEY 는 Nemotron 3 Nano와 같은 NVIDIA 호스팅 모델에 대한 접근 권한을 부여하며, TAVILY_API_KEY 는 웹 검색 기능을 활성화합니다. 다음으로 전체 스택을 빌드하고 실행하세요. 여러 컨테이너를 동시에 시작하므로, 인터넷 연결 상태나 하드웨어 사양에 따라 첫 빌드에는 수 분이 소요될 수 있습니다. docker compose -f deploy/compose/docker-compose.yaml up --build 해당 명령어를 실행하면 다음 세 가지 서비스가 구동됩니다. - aiq-research-assistant: 8000번 포트에서 작동하는 FastAPI 백엔드 - postgres: 비동기 작업 상태 및 대화 체크포인트를 관리하는 PostgreSQL 16 - frontend: 3000번 포트 기반의 Next.js 웹 UI 모든 서비스가 정상(Healthy) 상태로 확인되면 http://localhost:3000에 접속하세요. 아래 그림 1은 AI-Q Research Assistant의 채팅 인터페이스를 보여주며, 이곳에서 연구 쿼리를 입력하고 에이전트의 작업 과정을 실시간으로 모니터링할 수 있습니다. configs/config_web_docker.yml 파일을 열어보세요. 이 파일은 LLM, 도구, 에이전트, 워크플로우 구성을 모두 제어하는 핵심 설정 파일입니다. llms 섹션에서는 사용할 모델들을 선언합니다. 여기서 특히 enable_thinking 플래그에 주목할 만한데, 이는 Nemotron의 생각의 사슬(Chain-of-Thought) 추론 기능을 활성화하거나 비활성화하는 스위치입니다. 다음 예시는 서로 다른 역할을 가진 세 가지 LLM을 정의하고 있습니다. llms: nemotron_llm_non_thinking: _type: nim model_name: nvidia/nemotron-3-super-120b-a12b temperature: 0.7 max_tokens: 8192 chat_template_kwargs: enable_thinking: false nemotron_llm: _type: nim model_name: nvidia/nemotron-3-super-120b-a12b temperature: 1.0 max_tokens: 100000 chat_template_kwargs: enable_thinking: true gpt-5-2: _type: openai model_name: 'gpt-5.2' nemotron_llm_non_thinking 은 생각의 사슬로 불필요한 추론으로 지연이 발생하는 상황에서 빠른 응답을 제공합니다. 반면 nemotron_llm 은 다단계 추론을 요구하는 에이전트를 위해 100K 컨텍스트 윈도우와 함께 ‘thinking 모드’를 활성화합니다. 여기에 오케스트레이션을 위한 프런티어 모델인 gpt-5.2 가 포함됩니다. 이 블루프린트는 섈로 및 딥 리서치 에이전트를 모두 포함하며, 아래 설정에서 두 에이전트의 구성을 확인할 수 있습니다. functions: shallow_research_agent: _type: shallow_research_agent llm: nemotron_llm tools: - web_search_tool max_llm_turns: 10 max_tool_calls: 5 deep_research_agent: _type: deep_research_agent orchestrator_llm: gpt-5 planner_llm: nemotron_llm researcher_llm: nemotron_llm max_loops: 2 tools: - advanced_web_search_tool 섈로 리서치 에이전트는 최대 10회의 LLM 턴과 5회의 도구 호출로 제한된 루프를 실행하며, 인용구가 포함된 간결한 답변을 내놓습니다. “CUDA란 무엇인가?”와 같은 단순한 질문은 단 몇 초 만에 해결됩니다. 반면 딥 리서치 에이전트는 할 일 목록, 파일 시스템, 서브 에이전트를 갖춘 LangChain 딥 에이전트를 활용해 인용 기반의 장문 리포트를 생성합니다. 모든 추론 과정을 온프레미스 환경에서 유지하고 싶다면 orchestrator_llm이 자체 호스팅 모델을 가리키도록 변경하면 됩니다. AI-Q 에이전트를 정밀하게 모니터링하려면 LangSmith 트레이싱 기능을 활성화하세요. 이를 통해 각 쿼리가 생성하는 LangChain 도구 호출 및 모델 사용량 등 전체 실행 경로를 파악할 수 있는 권한이 주어집니다. deploy/.env 파일에 LANGSMITH_API_KEY 를 추가하고, 설정 파일에 아래와 같이 텔레메트리 섹션을 삽입하면 됩니다. general: telemetry: tracing: langsmith: _type: langsmith project: aiq-gtc-demo api_key: ${LANGSMITH_API_KEY} 각 쿼리는 전체 실행 과정을 기록하는 트레이스를 생성합니다. 섈로 리서치 샘플 쿼리: "지구에서 가장 깊은 곳은 어디인가요?" 딥 리서치 샘플 쿼리: 마리아나 해구의 챌린저 해연을 베료브키나 동굴, 콜라 슈퍼딥 시추공 등 지상 극지와 비교하여, 지구상에서 가장 깊은 지점에 대한 2026년 현재의 과학적 합의를 분석하세요. 최신 해저 지형 및 측지 측정치, 중력 및 압력 센서 보정을 포함한 측정 불확실성 평가, 하달(Hadal) 존의 지형과 생물학적 생태계에 대한 이해를 갱신한 2020~2026년 사이의 최근 심해 탐사 요약을 포함해야 합니다. 트레이스를 확장하면 각 노드를 정밀하게 검사할 수 있습니다. 특히 웹 검색 도구 호출은 디버깅에 매우 유용한데, 에이전트가 전송한 정확한 쿼리와 반환된 결과를 직접 확인하는 것이 가능하기 때문입니다. 개별 트레이스를 넘어 LangSmith를 활용하면 지연 시간, 토큰 사용량, 오류율을 시계열로 추적하고 성능 저하에 대한 알림을 설정할 수도 있습니다. 딥 리서치 에이전트를 특정 도메인에 맞게 조정하려면 우선 서브 에이전트들이 어떻게 조립되는지 살펴보아야 합니다. 이 에이전트는 LangChain의 deepagents 라이브러리에 포함된 create_deep_agent 팩토리를 사용합니다. from deepagents import create_deep_agent return create_deep_agent( model=self.llm_provider.get(LLMRole.ORCHESTRATOR), system_prompt=orchestrator_prompt, tools=self.tools, subagents=self.subagents, middleware=custom_middleware, skills=self.skills, ).with_config({"recursion_limit": 1000}) 이 팩토리는 오케스트레이터 LLM, 도구, 그리고 두 개의 서브 에이전트를 하나로 엮어줍니다. self.subagents = [ { "name": "planner-agent", "system_prompt": render_prompt_template( self._prompts["planner"], tools=self.tools_info, ), "tools": self.tools, "model": self.llm_provider.get(LLMRole.PLANNER), }, { "name": "researcher-agent", "
Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.
공유