[langgraph] 모델
원문 출처: https://langchain-ai.github.io/langgraph/agents/models/
이 페이지에서는 에이전트가 사용하는 챗 모델(chat model)을 설정하는 방법을 설명합니다.
도구 호출 지원(Tool calling support)
도구 호출이 가능한 에이전트를 사용하려면, 하위 LLM이 도구 호출을 지원해야 합니다.
호환 가능한 모델 목록은 LangChain integrations 디렉터리에서 확인할 수 있습니다.
모델 이름으로 지정하기(Specifying a model by name)
에이전트는 모델 이름 문자열로 설정할 수 있습니다:
OpenAI 예시
import os
from langgraph.prebuilt import create_react_agent
os.environ["OPENAI_API_KEY"] = "sk-..."
agent = create_react_agent(
model="openai:gpt-4.1",
# 기타 파라미터
)
Anthropic 예시
import os
from langgraph.prebuilt import create_react_agent
os.environ["ANTHROPIC_API_KEY"] = "sk-..."
agent = create_react_agent(
model="anthropic:claude-3-7-sonnet-latest",
# 기타 파라미터
)
Azure 예시
import os
from langgraph.prebuilt import create_react_agent
os.environ["AZURE_OPENAI_API_KEY"] = "..."
os.environ["AZURE_OPENAI_ENDPOINT"] = "..."
os.environ["OPENAI_API_VERSION"] = "2025-03-01-preview"
agent = create_react_agent(
model="azure_openai:gpt-4.1",
# 기타 파라미터
)
Google Gemini 예시
import os
from langgraph.prebuilt import create_react_agent
os.environ["GOOGLE_API_KEY"] = "..."
agent = create_react_agent(
model="google_genai:gemini-2.0-flash",
# 기타 파라미터
)
AWS Bedrock 예시
from langgraph.prebuilt import create_react_agent
# 자격 증명 설정 방법은 공식 문서 참고:
# https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started.html
agent = create_react_agent(
model="bedrock_converse:anthropic.claude-3-5-sonnet-20240620-v1:0",
# 기타 파라미터
)
init_chat_model
사용하기
init_chat_model
유틸리티를 사용하면 다양한 파라미터로 모델을 간편하게 초기화할 수 있습니다.
OpenAI 예시
pip install -U "langchain[openai]"
import os
from langchain.chat_models import init_chat_model
os.environ["OPENAI_API_KEY"] = "sk-..."
model = init_chat_model(
"openai:gpt-4.1",
temperature=0,
# 기타 파라미터
)
Anthropic 예시
pip install -U "langchain[anthropic]"
import os
from langchain.chat_models import init_chat_model
os.environ["ANTHROPIC_API_KEY"] = "sk-..."
model = init_chat_model(
"anthropic:claude-3-5-sonnet-latest",
temperature=0,
# 기타 파라미터
)
Azure 예시
pip install -U "langchain[openai]"
import os
from langchain.chat_models import init_chat_model
os.environ["AZURE_OPENAI_API_KEY"] = "..."
os.environ["AZURE_OPENAI_ENDPOINT"] = "..."
os.environ["OPENAI_API_VERSION"] = "2025-03-01-preview"
model = init_chat_model(
"azure_openai:gpt-4.1",
azure_deployment=os.environ["AZURE_OPENAI_DEPLOYMENT_NAME"],
temperature=0,
# 기타 파라미터
)
Google Gemini 예시
pip install -U "langchain[google-genai]"
import os
from langchain.chat_models import init_chat_model
os.environ["GOOGLE_API_KEY"] = "..."
model = init_chat_model(
"google_genai:gemini-2.0-flash",
temperature=0,
# 기타 파라미터
)
AWS Bedrock 예시
pip install -U "langchain[aws]"
from langchain.chat_models import init_chat_model
# 자격 증명 설정 방법은 공식 문서 참고:
# https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started.html
model = init_chat_model(
"anthropic.claude-3-5-sonnet-20240620-v1:0",
model_provider="bedrock_converse",
temperature=0,
# 기타 파라미터
)
고급 옵션은 API 레퍼런스를 참고하세요.
공급자별 LLM 직접 사용(Using provider-specific LLMs)
init_chat_model
로 지원되지 않는 모델 공급자는 해당 공급자의 모델 클래스를 직접 인스턴스화할 수 있습니다. 이 모델은 BaseChatModel 인터페이스를 구현하고 도구 호출을 지원해야 합니다.
예시: Anthropic
from langchain_anthropic import ChatAnthropic
from langgraph.prebuilt import create_react_agent
model = ChatAnthropic(
model="claude-3-7-sonnet-latest",
temperature=0,
max_tokens=2048
)
agent = create_react_agent(
model=model,
# 기타 파라미터
)
위 예시는
ChatAnthropic
을 사용했지만, 이 패턴은init_chat_model
로 지원되지 않는 모델을 수동으로 인스턴스화할 때 참고용입니다.
스트리밍 비활성화(Disable streaming)
개별 LLM 토큰의 스트리밍을 비활성화하려면 모델 초기화 시 disable_streaming=True
를 지정하세요.
init_chat_model
예시
from langchain.chat_models import init_chat_model
model = init_chat_model(
"anthropic:claude-3-7-sonnet-latest",
disable_streaming=True
)
직접 모델 클래스 사용 예시
from langchain_anthropic import ChatAnthropic
model = ChatAnthropic(
model="claude-3-7-sonnet-latest",
disable_streaming=True
)
자세한 내용은 API 레퍼런스를 참고하세요.
모델 폴백(fallbacks) 추가하기
model.with_fallbacks([...])
를 사용해 다른 모델이나 LLM 공급자로 폴백을 추가할 수 있습니다.
init_chat_model
예시
from langchain.chat_models import init_chat_model
model_with_fallbacks = (
init_chat_model("anthropic:claude-3-5-haiku-latest")
.with_fallbacks([
init_chat_model("openai:gpt-4.1-mini"),
])
)
직접 모델 클래스 사용 예시
from langchain_anthropic import ChatAnthropic
from langchain_openai import ChatOpenAI
model_with_fallbacks = (
ChatAnthropic(model="claude-3-5-haiku-latest")
.with_fallbacks([
ChatOpenAI(model="gpt-4.1-mini"),
])
)
자세한 폴백 사용법은 별도 가이드를 참고하세요.