Databricks Lakehouse Platform은 데이터, 분석 및 AI를 하나의 플랫폼에 통합합니다.이 가이드는 Databricks chat models 시작하기에 대한 간단한 개요를 제공합니다. ChatDatabricks의 모든 기능과 구성에 대한 자세한 문서는 API reference를 참조하세요.
Overview
ChatDatabricks class는 Databricks Model Serving에 호스팅된 chat model endpoint를 래핑합니다. 이 예제 노트북은 serving endpoint를 래핑하고 LangChain 애플리케이션에서 chat model로 사용하는 방법을 보여줍니다.
Integration details
| Class | Package | Local | Serializable | Downloads | Version |
|---|---|---|---|---|---|
| ChatDatabricks | databricks-langchain | ❌ | beta |
Model features
| Tool calling | Structured output | JSON mode | Image input | Audio input | Video input | Token-level streaming | Native async | Token usage | Logprobs |
|---|---|---|---|---|---|---|---|---|---|
| ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ |
Supported Methods
ChatDatabricks는 async API를 포함한 ChatModel의 모든 메서드를 지원합니다.
Endpoint Requirement
ChatDatabricks가 래핑하는 serving endpoint는 OpenAI 호환 chat input/output 형식을 가져야 합니다(참조). input 형식이 호환되는 한, ChatDatabricks는 Databricks Model Serving에 호스팅된 모든 endpoint 유형에 사용할 수 있습니다:
- Foundation Models - DRBX, Llama3, Mixtral-8x7B 등과 같은 최첨단 foundation model의 큐레이션된 목록입니다. 이러한 endpoint는 별도의 설정 없이 Databricks workspace에서 바로 사용할 수 있습니다.
- Custom Models - MLflow를 통해 LangChain, Pytorch, Transformers 등과 같은 원하는 프레임워크로 custom model을 serving endpoint에 배포할 수도 있습니다.
- External Models - Databricks endpoint는 OpenAI GPT4와 같은 독점 model 서비스처럼 Databricks 외부에 호스팅된 model을 proxy로 제공할 수 있습니다.
Setup
Databricks model에 액세스하려면 Databricks 계정을 생성하고, 자격 증명을 설정하고(Databricks workspace 외부에 있는 경우에만), 필요한 패키지를 설치해야 합니다.Credentials (only if you are outside Databricks)
Databricks 내부에서 LangChain 앱을 실행하는 경우 이 단계를 건너뛸 수 있습니다. 그렇지 않은 경우, Databricks workspace hostname과 personal access token을 각각DATABRICKS_HOST 및 DATABRICKS_TOKEN 환경 변수에 수동으로 설정해야 합니다. access token을 얻는 방법은 Authentication Documentation을 참조하세요.
Installation
LangChain Databricks integration은databricks-langchain 패키지에 있습니다.
ChatDatabricks로 쿼리하는 방법을 시연합니다.
다른 유형의 endpoint의 경우 endpoint 자체를 설정하는 방법에 약간의 차이가 있지만, endpoint가 준비되면 ChatDatabricks로 쿼리하는 방법에는 차이가 없습니다. 다른 유형의 endpoint에 대한 예제는 이 노트북의 하단을 참조하세요.
Instantiation
Invocation
Chaining
다른 chat model과 마찬가지로ChatDatabricks는 복잡한 chain의 일부로 사용할 수 있습니다.
Invocation (streaming)
Async Invocation
Tool calling
ChatDatabricks는 tool과 그 인수를 설명하고 model이 호출할 tool과 해당 tool에 대한 입력이 포함된 JSON 객체를 반환하도록 하는 OpenAI 호환 tool calling API를 지원합니다. tool-calling은 tool을 사용하는 chain과 agent를 구축하고 일반적으로 model에서 구조화된 출력을 얻는 데 매우 유용합니다.ChatDatabricks.bind_tools를 사용하면 Pydantic class, dict schema, LangChain tool 또는 함수를 tool로 model에 쉽게 전달할 수 있습니다. 내부적으로 이들은 다음과 같은 OpenAI 호환 tool schema로 변환됩니다:
Wrapping Custom Model Endpoint
전제 조건:- LLM이 MLflow를 통해 Databricks serving endpoint에 등록되고 배포되었습니다. endpoint는 OpenAI 호환 chat input/output 형식을 가져야 합니다(참조)
- endpoint에 대한 “Can Query” 권한이 있어야 합니다.
Wrapping External Models
전제 조건: Proxy Endpoint 생성 먼저, 대상 external model에 대한 요청을 프록시하는 새로운 Databricks serving endpoint를 생성합니다. external model을 프록시하는 경우 endpoint 생성이 상당히 빠릅니다. 이를 위해서는 다음과 같이 Databricks secret manager 내에 OpenAI API Key를 등록해야 합니다:Function calling on Databricks
Databricks Function Calling은 OpenAI 호환이며 Foundation Model API의 일부로 model serving 중에만 사용할 수 있습니다. 지원되는 model에 대해서는 Databricks function calling introduction을 참조하세요.API reference
ChatDatabricks의 모든 기능과 구성에 대한 자세한 문서는 API reference를 참조하세요: api-docs.databricks.com/python/databricks-ai-bridge/latest/databricks_langchain.html#databricks_langchain.ChatDatabricksConnect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.