Conversational AI / NLP

NVIDIA NIM 마이크로서비스 및 LangChain으로 AI 에이전트 구축하기

Reading Time: 2 minutes

NVIDIA AI Enterprise의 일부인 NVIDIA NIM은 이제 Llama 3.1과 같은 모델에 대한 도구 호출 기능을 지원합니다. 또한 LangChain과 통합되어 에이전트 워크플로우를 구축할 수 있는 프로덕션 지원 솔루션을 제공합니다. NIM 마이크로서비스는 Llama 3.1과 같은 오픈 소스 모델에 최고의 성능을 제공하며, LangChain 애플리케이션의 NVIDIA API 카탈로그에서 무료로 테스트할 수 있습니다.

NVIDIA NIM으로 AI 에이전트 구축하기

Llama 3.1 NIM 마이크로서비스를 사용하면 프로덕션 배포를 위한 고급 기능을 갖춘 생성형 AI 애플리케이션을 구축할 수 있습니다. 최첨단 에이전트 기능을 갖춘 가속화된 개방형 모델을 사용하여 더욱 정교하고 안정적인 애플리케이션을 구축할 수 있습니다. 자세한 내용은 NVIDIA 플랫폼 전반에서 Llama 3.1 강화하기를 참조하세요.

NIM은 친숙함과 일관성을 위해 OpenAI 호환 툴 호출 API를 제공합니다. 이제 LangChain이 포함된 툴을 NIM 마이크로서비스에 바인딩하여 애플리케이션에 에이전트 기능을 제공하는 구조화된 출력을 생성할 수 있습니다.

NIM을 통한 도구 사용

도구는 모델로부터 구조화된 출력을 받아 작업을 실행하고 구조화된 형식의 결과를 다시 모델로 반환합니다. 여기에는 종종 외부 API 호출이 포함되지만 반드시 필요한 것은 아닙니다.

예를 들어 날씨 도구는 샌디에이고의 현재 날씨를 가져오고, 웹 검색 도구는 샌프란시스코 49ers의 현재 풋볼 경기 점수를 가져올 수 있습니다.

상담원 워크플로우에서 툴 사용을 지원하려면 먼저 함수를 호출할 시점을 감지하고 함수와 해당 인수가 포함된 JSON과 같은 구조화된 응답을 출력하도록 모델을 학습시켜야 합니다. 그런 다음 이 모델은 NVIDIA 인프라와 간편한 배포를 위해 NIM 마이크로서비스로 최적화되어 LangChain의 LangGraph와 같은 프레임워크와 호환됩니다.

LangChain을 사용하여 도구로 LLM 애플리케이션 개발하기

다음은 도구 호출을 지원하는 Llama 3.1과 같은 모델에서 LangChain을 사용하는 방법입니다. 패키지 설치 및 ChatNVIDIA 라이브러리 설정에 대한 자세한 내용은 LangChain NVIDIA 설명서를 참조하세요.

도구 호출을 지원하는 모델 목록을 확인하려면 다음 명령을 실행하세요:

from langchain_nvidia_ai_endpoints import ChatNVIDIA
 
tool_models = [model for model in ChatNVIDIA.get_available_models() if model.supports_tools]

자신만의 함수나 도구를 생성하고 LangChain의 bind_tools 함수를 사용하여 모델에 바인딩할 수 있습니다.

from langchain_core.pydantic_v1 import Field
from langchain_core.tools import tool
 
@tool
def get_current_weather(
    location: str = Field(..., description="The location to get the weather for.")
):
    """Get the current weather for a location."""
    ...
 
llm = ChatNVIDIA(model=tool_models[0].id).bind_tools(tools=[get_current_weather])
response = llm.invoke("What is the weather in Boston?")
response.tool_calls

일반 검색에는 Tavily API를 사용할 수 있고, get_current_weather 함수에는 미국 기상청 API를 사용할 수 있습니다.

더 많은 리소스 살펴보기

앞의 코드 예시는 모델이 어떻게 도구를 지원할 수 있는지 보여주는 작은 예시일 뿐입니다. GitHub의 에이전트를 위한 도구 호출이 있는 NVIDIA NIM 예제에서 볼 수 있듯이 LangChain의 LangGraph는 NIM 마이크로서비스와 통합됩니다.

고객 지원, 코딩 어시스턴트, 고급 RAG, 평가와 같은 사용 사례를 위해 NIM 마이크로서비스로 상태 저장, 멀티 액터 애플리케이션을 구축하는 다른 LangGraph 예시를 확인해 보세요.

고급 RAG는 자체 RAG 및 수정 RAG와 같은 전략을 사용하는 에이전트 워크플로우에서 LangGraph 및 NVIDIA NeMo Retriever로 구축할 수 있습니다. 자세한 내용은 Llama 3.1을 사용한 에이전트 RAG 파이프라인 구축 및 NVIDIA NeMo Retriever NIM 마이크로서비스관련 노트북을 참조하세요.

NVIDIA NIM 마이크로서비스로 애플리케이션 구축을 시작하세요!

Discuss (0)

Tags