프로바이더와 모델

프로바이더와 모델 (Providers and models · LangChain Python)

모델을 어느 프로바이더에서 가져오든, LangChain은 똑같은 하나의 API로 다루게 해 줘요. 프로바이더 패키지를 설치하고 모델 이름을 고르면 바로 시작할 수 있죠. OpenAI를 쓰든, Anthropic을 쓰든, Google을 쓰든, 지원되는 다른 어느 프로바이더를 쓰든 같은 코드가 그대로 동작해요.

출처: 공식문서

어떤 모델이든 하나의 API로

모든 LangChain 채팅 모델은 프로바이더가 어디든 동일한 인터페이스를 구현해요. 덕분에 이런 일이 가능해져요.

  • 프로바이더를 바꿔도 애플리케이션 로직을 다시 쓸 필요가 없어요
  • 모델을 나란히 비교할 때도 코드가 똑같아요
  • 도구 호출, 구조화된 출력, 스트리밍 같은 고급 기능을 어느 프로바이더에서든 쓸 수 있어요
from langchain.chat_models import init_chat_model

openai_model = init_chat_model("openai:gpt-5.5")
anthropic_model = init_chat_model("anthropic:claude-opus-4-8")
google_model = init_chat_model("google-genai:gemini-3.1-pro-preview")

for model in [openai_model, anthropic_model, google_model]:
    response = model.invoke("Explain quantum computing in one sentence.")
    print(response.text)

프로바이더란 뭘까요

프로바이더(provider) 는 AI 모델을 호스팅하고 API로 노출해 주는 회사나 플랫폼을 말해요. OpenAI, Anthropic, Google, AWS Bedrock이 대표적이에요.

LangChain에서는 프로바이더마다 전용 통합 패키지(예: langchain-openai, langchain-anthropic)가 있어요. 이 패키지가 그 프로바이더의 모델에 대해 표준 LangChain 인터페이스를 구현해 주죠. 그래서 이런 이점이 생겨요.

  • 프로바이더별 전용 패키지라 버전 관리와 의존성 관리가 깔끔해요
  • 필요할 때 프로바이더 고유 기능을 쓸 수 있어요 (예: OpenAI의 Responses API, Anthropic의 extended thinking)
  • 환경변수로 API 키를 자동으로 처리해 줘요
uv add langchain-openai       # For OpenAI models
uv add langchain-anthropic    # For Anthropic models
uv add langchain-google-genai # For Google models

프로바이더 패키지의 전체 목록은 통합 페이지에서 확인할 수 있어요.

모델 이름 찾기

프로바이더마다 채팅 모델을 초기화할 때 넘겨줄 수 있는 모델 이름이 정해져 있어요. 모델을 지정하는 방법은 두 가지예요.

# Provider prefix 형식
from langchain.chat_models import init_chat_model

model = init_chat_model("openai:gpt-5.5")
# 클래스 직접 생성
from langchain_openai import ChatOpenAI

model = ChatOpenAI(model="gpt-5.5")

init_chat_modelprovider:model 형식으로 쓰면, LangChain이 프로바이더를 자동으로 찾아 올바른 통합 패키지를 불러와요. 모델 이름이 모호하지 않으면 프로바이더 접두사를 생략해도 돼요 (예: "gpt-5.5"는 OpenAI로 해석돼요).

프로바이더에서 쓸 수 있는 모델 이름을 찾으려면 해당 프로바이더의 문서를 참고하면 돼요. 자주 쓰는 프로바이더 몇 가지를 정리하면 이렇습니다.

프로바이더 모델 이름을 찾는 곳
OpenAI OpenAI models page
Anthropic Anthropic models page
Google Google AI models page
AWS Bedrock Bedrock supported models
Ollama Ollama model library
Groq Groq supported models

새 모델을 바로 쓰기

LangChain 프로바이더 패키지는 모델 이름을 그대로 프로바이더의 API에 넘겨줘요. 그래서 프로바이더가 새 모델을 출시하자마자 바로 쓸 수 있어요 (LangChain 업데이트는 필요 없어요). 새 모델 이름만 넘겨주면 돼요.

model = init_chat_model("google_genai:gemini-mythos")

패키지 버전이 그 모델이 요구하는 API 버전을 지원하기만 하면 새 모델 이름은 즉시 동작해요. 대부분의 경우 모델 출시는 하위 호환이라 패키지 업데이트가 필요 없어요.

모델 기능

프로바이더와 모델마다 지원하는 기능이 달라요. 채팅 모델 통합 목록과 각 기능 지원 여부는 채팅 모델 통합 페이지에서 확인할 수 있어요.

라우터와 프록시

라우터(router) (프록시나 게이트웨이라고도 불러요)는 여러 프로바이더의 모델을 하나의 API와 하나의 자격 증명(credential)으로 접근할 수 있게 해 줘요. 결제를 단순화하고, 통합을 바꾸지 않고도 모델을 전환할 수 있게 하며, 자동 폴백과 로드 밸런싱 같은 기능도 제공해요.

프로바이더 통합 설명
OpenRouter ChatOpenRouter OpenAI, Anthropic, Google, Meta 등 여러 모델을 하나로 접근
FuturMix ChatOpenAI OpenAI 호환 API와 99.99% SLA로 22개 이상 모델을 제공하는 통합 AI 게이트웨이
LiteLLM ChatLiteLLM 라우팅, 폴백, 지출 추적을 갖춘 100개 이상 프로바이더 통합 인터페이스

라우터는 이런 상황에서 유용해요.

  • 여러 프로바이더를 하나의 API 키와 결제 계정으로 접근하고 싶을 때
  • 모델을 동적으로 전환하고 싶은데 프로바이더별 자격 증명을 여럿 관리하고 싶지 않을 때
  • 폴백 모델을 써서 기본 모델이 실패하면 다른 모델로 자동 재시도하고 싶을 때
from langchain.chat_models import init_chat_model

model = init_chat_model("openrouter:anthropic/claude-sonnet-4-6")
response = model.invoke("Hello!")

OpenAI 호환 엔드포인트

많은 프로바이더가 OpenAI의 Chat Completions API와 호환되는 엔드포인트를 제공해요. 이런 곳에는 ChatOpenAI에 커스텀 base_url을 지정해 연결할 수 있어요.

from langchain_openai import ChatOpenAI

model = ChatOpenAI(
    base_url="https://your-provider.com/v1",
    api_key="your-api-key",
    model="provider-model-name",
)

⚠️ ChatOpenAI공식 OpenAI API 스펙만을 대상으로 해요. 써드파티 프로바이더의 비표준 응답 필드는 추출되거나 보존되지 않아요. 비표준 기능이 필요하면 전용 프로바이더 패키지나 라우터를 쓰는 게 좋아요.

다음 단계