프로바이더와 모델
프로바이더와 모델 (Providers and models)
LangChain이 프로바이더를 사용해 어떤 프로바이더의 어떤 모델이든 하나의 API로 사용할 수 있게 해주는 방법 이해하기
LangChain은 어떤 프로바이더의 모델이든 작업할 수 있는 단일하고 통합된 API를 제공해요. 프로바이더 패키지를 설치하고 모델 이름을 고른 뒤 구축을 시작하면 됩니다. OpenAI, Anthropic, Google 또는 지원되는 다른 어떤 프로바이더를 사용하든 같은 코드가 작동해요.
출처: 문서
본문
하나의 API로 모든 모델 사용
모든 LangChain 채팅 모델은 프로바이더와 무관하게 동일한 인터페이스를 구현합니다. 즉 다음을 할 수 있어요:
- 프로바이더 전환: 애플리케이션 로직을 다시 작성하지 않고 프로바이더를 바꿀 수 있음
- 모델 비교: 동일한 코드로 모델들을 나란히 비교
- 고급 기능 사용: 모든 프로바이더에서 도구 호출, 구조화된 출력, 스트리밍 같은 고급 기능 사용
import { initChatModel } from "langchain/chat_models/universal";
const openaiModel = await initChatModel("openai:gpt-5.5");
const anthropicModel = await initChatModel("anthropic:claude-opus-4-8");
const googleModel = await initChatModel("google-genai:gemini-3.1-pro-preview");
for (const model of [openaiModel, anthropicModel, googleModel]) {
const response = await model.invoke("Explain quantum computing in one sentence.");
console.log(response.text);
}
프로바이더란 무엇인가?
프로바이더는 AI 모델을 호스팅하고 API를 통해 노출하는 회사 또는 플랫폼입니다. 예로는 OpenAI, Anthropic, Google, AWS Bedrock이 있습니다.
LangChain에서 각 프로바이더는 해당 프로바이더의 모델에 대해 표준 LangChain 인터페이스를 구현하는 전용 통합 패키지(langchain-openai, langchain-anthropic 등)를 갖습니다. 즉:
- 각 프로바이더에 대해 적절한 버전 관리와 의존성 관리를 갖춘 전용 패키지 제공
- 필요할 때 프로바이더별 기능 사용 가능 (예: OpenAI의 Responses API, Anthropic의 extended thinking)
- 환경 변수를 통한 자동 API 키 처리
npm install @langchain/openai # For OpenAI models
npm install @langchain/anthropic # For Anthropic models
npm install @langchain/google-genai # For Google models
프로바이더 패키지 전체 목록은 통합 페이지를 참고하세요.
모델 이름 찾기
각 프로바이더는 채팅 모델을 초기화할 때 전달하는 특정 모델 이름을 지원합니다. 모델을 지정하는 두 가지 방법이 있습니다:
import { initChatModel } from "langchain/chat_models/universal";
const model = await initChatModel("openai:gpt-5.5");
import { ChatOpenAI } from "@langchain/openai";
const model = new ChatOpenAI({ model: "gpt-5.5" });
init_chat_model을 provider:model 형식으로 사용하면 LangChain이 자동으로 프로바이더를 해석하고 올바른 통합 패키지를 로드합니다. 모델 이름이 모호하지 않다면 프로바이더 접두사를 생략할 수도 있습니다 (예: "gpt-5.5"는 OpenAI로 해석됨).
프로바이더의 사용 가능한 모델 이름을 찾으려면 프로바이더 자체 문서를 참고하세요. 인기 있는 몇 가지 프로바이더:
| 프로바이더 | 모델 이름 찾는 곳 |
|---|---|
| OpenAI | OpenAI 모델 페이지 |
| Anthropic | Anthropic 모델 페이지 |
| Google AI 모델 페이지 | |
| AWS Bedrock | Bedrock 지원 모델 |
새 모델 즉시 사용
LangChain 프로바이더 패키지는 모델 이름을 프로바이더의 API에 직접 전달하므로, 프로바이더가 새 모델을 출시하는 즉시 사용할 수 있습니다 (LangChain 업데이트 불필요). 새 모델 이름만 전달하면 됩니다:
const model = await initChatModel("google_genai:gemini-mythos");
새 모델 이름은 프로바이더 패키지 버전이 모델이 요구하는 API 버전을 지원하는 한 즉시 작동합니다. 대부분의 경우 모델 출시는 하위 호환되며 패키지 업데이트가 필요 없습니다.
모델 기능
프로바이더와 모델에 따라 지원하는 기능이 다릅니다. 채팅 모델 통합과 그 기능 목록은 채팅 모델 통합 페이지를 참고하세요.
라우터와 프록시 (Routers and proxies)
라우터(프록시 또는 게이트웨이라고도 함)는 단일 API와 자격 증명으로 여러 프로바이더의 모델에 접근할 수 있게 해줍니다. 청구를 단순화하고, 통합을 변경하지 않고 모델을 전환할 수 있게 하며, 자동 폴백과 로드 밸런싱 같은 기능을 제공할 수 있습니다.
| 프로바이더 | 통합 | 설명 |
|---|---|---|
| OpenRouter | ChatOpenRouter |
OpenAI, Anthropic, Google, Meta 등의 모델에 대한 통합 접근 |
| FuturMix | ChatOpenAI |
OpenAI 호환 API와 99.99% SLA를 갖춘 22개 이상 모델용 통합 AI 게이트웨이 |
라우터는 다음과 같은 경우 유용합니다:
- 단일 API 키와 청구 계정으로 많은 프로바이더에 접근하려 할 때
- 여러 프로바이더 자격 증명을 관리하지 않고 모델을 동적으로 전환하려 할 때
- 기본 모델이 실패하면 다른 모델로 자동 재시도하는 폴백 모델 사용을 원할 때
import { initChatModel } from "langchain/chat_models/universal";
const model = await initChatModel("openrouter:anthropic/claude-sonnet-4-6");
const response = await model.invoke("Hello!");
OpenAI 호환 엔드포인트
많은 프로바이더가 OpenAI의 Chat Completions API와 호환되는 엔드포인트를 제공합니다. 커스텀 base_url로 ChatOpenAI를 사용해 이들에 연결할 수 있습니다:
import { ChatOpenAI } from "@langchain/openai";
const model = new ChatOpenAI({
configuration: { baseURL: "https://your-provider.com/v1" },
apiKey: ***
model: "provider-model-name",
});
다음 단계
-
모델 가이드: 모델 사용법 알아보기 — invoke, stream, batch, 도구 호출 등.
-
채팅 모델 통합: 모든 채팅 모델 통합과 기능 둘러보기.
-
모든 프로바이더: 프로바이더 패키지와 통합 전체 목록 보기.
-
에이전트: 모델을 추론 엔진으로 사용하는 에이전트 구축하기.
-
이 문서를 MCP로 연결하면 Claude, VSCode 등에서 실시간 답변을 받을 수 있어요.