ChatNVIDIA 기능과 구성에 대한 자세한 문서는 API reference를 참조하세요.
Overview
langchain-nvidia-ai-endpoints 패키지는 NVIDIA NIM inference microservice의 모델을 사용하여 애플리케이션을 구축하는 LangChain integration을 포함하고 있습니다. NIM은 커뮤니티와 NVIDIA의 chat, embedding, re-ranking 모델과 같은 다양한 도메인의 모델을 지원합니다. 이러한 모델들은 NVIDIA 가속 인프라에서 최고의 성능을 제공하도록 NVIDIA에 의해 최적화되었으며, NIM으로 배포됩니다. NIM은 NVIDIA 가속 인프라에서 단일 명령으로 어디서나 배포할 수 있는 사용하기 쉬운 사전 구축 컨테이너입니다.
NVIDIA가 호스팅하는 NIM 배포는 NVIDIA API catalog에서 테스트할 수 있습니다. 테스트 후, NIM은 NVIDIA AI Enterprise 라이선스를 사용하여 NVIDIA의 API catalog에서 내보낼 수 있으며, 온프레미스 또는 클라우드에서 실행할 수 있어 기업이 IP와 AI 애플리케이션에 대한 소유권과 완전한 제어권을 가질 수 있습니다.
NIM은 모델별로 컨테이너 이미지로 패키징되며 NVIDIA NGC Catalog을 통해 NGC 컨테이너 이미지로 배포됩니다. 핵심적으로 NIM은 AI 모델에서 inference를 실행하기 위한 쉽고 일관되며 친숙한 API를 제공합니다.
이 예제는 ChatNVIDIA 클래스를 통해 NVIDIA가 지원하는 모델과 상호작용하기 위해 LangChain을 사용하는 방법을 다룹니다.
이 API를 통해 chat 모델에 액세스하는 방법에 대한 자세한 내용은 ChatNVIDIA 문서를 확인하세요.
Integration details
| Class | Package | Local | Serializable | JS support | Downloads | Version |
|---|---|---|---|---|---|---|
| ChatNVIDIA | langchain-nvidia-ai-endpoints | ✅ | beta | ❌ |
Model features
| Tool calling | Structured output | JSON mode | Image input | Audio input | Video input | Token-level streaming | Native async | Token usage | Logprobs |
|---|---|---|---|---|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ |
Setup
시작하기:- NVIDIA AI Foundation 모델을 호스팅하는 NVIDIA에서 무료 계정을 생성하세요.
- 원하는 모델을 클릭하세요.
-
Input아래에서Python탭을 선택하고Get API Key를 클릭하세요. 그런 다음Generate Key를 클릭하세요. -
생성된 키를
NVIDIA_API_KEY로 복사하고 저장하세요. 그러면 endpoint에 액세스할 수 있습니다.
Credentials
Installation
LangChain NVIDIA AI Endpoints integration은langchain-nvidia-ai-endpoints 패키지에 있습니다:
Instantiation
이제 NVIDIA API Catalog의 모델에 액세스할 수 있습니다:Invocation
Working with NVIDIA NIMs
배포 준비가 되면 NVIDIA AI Enterprise 소프트웨어 라이선스에 포함된 NVIDIA NIM으로 모델을 자체 호스팅하고 어디서나 실행할 수 있어, 커스터마이징에 대한 소유권과 지적 재산권(IP) 및 AI 애플리케이션에 대한 완전한 제어권을 가질 수 있습니다. NIM에 대해 자세히 알아보기Stream, Batch, and Async
이러한 모델들은 기본적으로 streaming을 지원하며, 모든 LangChain LLM과 마찬가지로 동시 요청을 처리하기 위한 batch 메서드와 invoke, stream, batch를 위한 async 메서드를 제공합니다. 아래는 몇 가지 예제입니다.Supported models
available_models를 쿼리하면 API 자격 증명으로 제공되는 다른 모든 모델을 얻을 수 있습니다.
playground_ 접두사는 선택 사항입니다.
Model types
위의 모든 모델이 지원되며ChatNVIDIA를 통해 액세스할 수 있습니다.
일부 모델 유형은 고유한 prompting 기법과 chat 메시지를 지원합니다. 아래에서 몇 가지 중요한 것들을 살펴보겠습니다.
특정 모델에 대한 자세한 내용은 여기에 링크된 AI Foundation 모델의 API 섹션으로 이동하세요.
General Chat
meta/llama3-8b-instruct 및 mistralai/mixtral-8x22b-instruct-v0.1과 같은 모델은 모든 LangChain chat 메시지와 함께 사용할 수 있는 우수한 범용 모델입니다. 아래 예제를 참조하세요.
Code Generation
이러한 모델은 일반 chat 모델과 동일한 인수 및 입력 구조를 허용하지만 코드 생성 및 구조화된 코드 작업에서 더 나은 성능을 발휘하는 경향이 있습니다. 이에 대한 예는meta/codellama-70b입니다.
Multimodal
NVIDIA는 multimodal 입력도 지원하므로 모델이 추론할 수 있도록 이미지와 텍스트를 모두 제공할 수 있습니다. multimodal 입력을 지원하는 예제 모델은nvidia/neva-22b입니다.
아래는 사용 예제입니다:
Passing an image as a URL
Passing an image as a base64 encoded string
현재 위와 같은 더 큰 이미지를 지원하기 위해 클라이언트 측에서 일부 추가 처리가 발생합니다. 그러나 더 작은 이미지의 경우(그리고 내부에서 진행되는 프로세스를 더 잘 설명하기 위해) 아래와 같이 이미지를 직접 전달할 수 있습니다:Directly within the string
NVIDIA API는<img/> HTML 태그 내에 인라인으로 포함된 base64 이미지를 고유하게 허용합니다. 이것은 다른 LLM과 상호 운용되지 않지만 그에 따라 모델을 직접 프롬프트할 수 있습니다.
Example usage within a RunnableWithMessageHistory
다른 integration과 마찬가지로 ChatNVIDIA는ConversationChain 사용과 유사한 RunnableWithMessageHistory와 같은 chat 유틸리티를 지원합니다. 아래에서는 mistralai/mixtral-8x22b-instruct-v0.1 모델에 적용된 LangChain RunnableWithMessageHistory 예제를 보여줍니다.
Tool calling
v0.2부터ChatNVIDIA는 bind_tools를 지원합니다.
ChatNVIDIA는 build.nvidia.com의 다양한 모델과 로컬 NIM과의 integration을 제공합니다. 이러한 모든 모델이 tool calling을 위해 훈련된 것은 아닙니다. 실험 및 애플리케이션을 위해 tool calling을 지원하는 모델을 선택해야 합니다.
tool calling을 지원하는 것으로 알려진 모델 목록은 다음과 같이 얻을 수 있습니다:
API reference
모든ChatNVIDIA 기능과 구성에 대한 자세한 문서는 API reference를 참조하세요: python.langchain.com/api_reference/nvidia_ai_endpoints/chat_models/langchain_nvidia_ai_endpoints.chat_models.ChatNVIDIA.html
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.