프로바이더와 모델

프로바이더와 모델 (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_modelprovider:model 형식으로 사용하면 LangChain이 자동으로 프로바이더를 해석하고 올바른 통합 패키지를 로드합니다. 모델 이름이 모호하지 않다면 프로바이더 접두사를 생략할 수도 있습니다 (예: "gpt-5.5"는 OpenAI로 해석됨).

프로바이더의 사용 가능한 모델 이름을 찾으려면 프로바이더 자체 문서를 참고하세요. 인기 있는 몇 가지 프로바이더:

프로바이더 모델 이름 찾는 곳
OpenAI OpenAI 모델 페이지
Anthropic Anthropic 모델 페이지
Google 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_urlChatOpenAI를 사용해 이들에 연결할 수 있습니다:

import { ChatOpenAI } from "@langchain/openai";

const model = new ChatOpenAI({
    configuration: { baseURL: "https://your-provider.com/v1" },
    apiKey: ***
    model: "provider-model-name",
});
`ChatOpenAI`는 [공식 OpenAI API 사양](https://github.com/openai/openai-openapi)만을 대상으로 합니다. 타사 프로바이더의 비표준 응답 필드는 추출되거나 보존되지 않습니다. 비표준 기능에 접근해야 할 때는 전용 프로바이더 패키지나 라우터를 사용하세요.

다음 단계