Overview
Integration details
| Class | Package | Local | Serializable | JS support | Downloads | Version |
|---|---|---|---|---|---|---|
| ChatClovaX | langchain-naver | ❌ | ❌ | ❌ |
Model features
| Tool calling | Structured output | JSON mode | Image input | Audio input | Video input | Token-level streaming | Native async | Token usage | Logprobs |
|---|---|---|---|---|---|---|---|---|---|
| ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ |
Setup
chat model을 사용하기 전에 아래 네 가지 단계를 거쳐야 합니다.- NAVER Cloud Platform 계정 생성
- CLOVA Studio 사용 신청
- 사용할 모델의 CLOVA Studio Test App 또는 Service App 생성 (여기 참조)
- Test 또는 Service API key 발급 (여기 참조)
Credentials
API key로CLOVASTUDIO_API_KEY 환경 변수를 설정하세요.
다음과 같이 환경 변수에 추가할 수 있습니다:
Installation
LangChain Naver integration은langchain-naver 패키지에 있습니다:
Instantiation
이제 model 객체를 인스턴스화하고 chat completion을 생성할 수 있습니다:Invocation
아래의invoke 외에도 ChatClovaX는 batch, stream 및 이들의 async 기능도 지원합니다.
Streaming
Tool calling
CLOVA Studio는 tool을 설명하고 그 인자를 정의할 수 있는 tool calling(“function calling”이라고도 함)을 지원하며, 모델이 호출할 tool과 해당 tool에 대한 입력을 포함하는 JSON 객체를 반환하도록 합니다. 이는 tool을 사용하는 chain과 agent를 구축하고, 더 일반적으로 모델에서 구조화된 출력을 얻는 데 매우 유용합니다. 참고: CLOVA Studio에서 tool calling 기능을 활용하려면max_tokens를 1024보다 크게 설정해야 합니다.
ChatClovaX.bind_tools()
ChatClovaX.bind_tools를 사용하면 Pydantic class, dict schema, LangChain tool 또는 함수를 tool로 모델에 쉽게 전달할 수 있습니다. 내부적으로 이들은 다음과 같은 OpenAI 호환 tool schema로 변환됩니다:
AIMessage.tool_calls
AIMessage에tool_calls 속성이 있음을 주목하세요. 이는 모델 제공자에 구애받지 않는 표준화된 ToolCall 형식을 포함합니다.
Structured Outputs
지원되는 모델의 경우, Structured Outputs 기능을 사용하여 모델이 Pydantic model, TypedDict 또는 JSON과 같은 특정 구조로 응답을 생성하도록 강제할 수 있습니다. 참고: Structured Outputs는 Thinking mode가 비활성화되어야 합니다.thinking.effort를 none으로 설정하세요.
method를 json_schema로 설정하세요.
Thinking
지원되는 모델의 경우, Thinking 기능이 활성화되면(기본값), 최종 답변에 도달하기까지의 단계별 추론 과정을 출력합니다.thinking 파라미터를 지정하여 기능을 제어할 수 있습니다—thinking 프로세스를 활성화 또는 비활성화하고 그 깊이를 구성합니다.
Accessing the thinking process
Thinking mode가 활성화되면AIMessage.additional_kwargs의 thinking_content 속성을 통해 thinking 프로세스에 액세스할 수 있습니다.
Additional functionalities
Using fine-tuned models
model 파라미터에 task_id를 ft:{task_id} 형식으로 전달하여 fine-tuned model을 호출할 수 있습니다.
해당 Test App 또는 Service App 세부 정보에서 task_id를 확인할 수 있습니다.
API reference
모든 ChatClovaX 기능 및 구성에 대한 자세한 문서는 API reference를 참조하세요Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.