Skip to main content
Databricks 智能平台是全球首个由生成式 AI 驱动的数据智能平台。将 AI 融入您业务的方方面面。
Databricks 以多种方式拥抱 LangChain 生态系统:
  1. 🚀 模型服务(Model Serving) - 通过高可用、低延迟的推理端点,访问 Databricks Model Serving 上的最新 LLM(如 DBRX、Llama3、Mixtral)或您的微调模型。LangChain 提供了 LLM(Databricks)、Chat Model(ChatDatabricks)和 Embeddings(DatabricksEmbeddings)的实现,简化了将托管在 Databricks Model Serving 上的模型与您的 LangChain 应用程序集成的过程。
  2. 📃 向量搜索(Vector Search) - Databricks Vector Search 是一个无服务器向量数据库,无缝集成在 Databricks 平台中。使用 DatabricksVectorSearch,您可以将高度可扩展且可靠的相似度搜索引擎集成到您的 LangChain 应用程序中。
  3. 📊 MLflow - MLflow 是一个开源平台,用于管理完整的机器学习生命周期,包括实验管理、评估、追踪、部署等。MLflow 的 LangChain 集成 简化了现代复合机器学习系统的开发与运维流程。
  4. 🌐 SQL 数据库 - Databricks SQL 已与 LangChain 中的 SQLDatabase 集成,使您能够访问自动优化、性能卓越的数据仓库。
  5. 💡 开放模型 - Databricks 开源了诸如 DBRX 等模型,这些模型可通过 Hugging Face Hub 获取。借助其与 transformers 库的集成,这些模型可直接与 LangChain 配合使用。

安装

第一方 Databricks 集成现已在 databricks-langchain 合作伙伴包中提供。
pip install databricks-langchain
旧的 langchain-databricks 合作伙伴包仍然可用,但即将弃用。

Chat Model

ChatDatabricks 是一个 Chat Model 类,用于访问托管在 Databricks 上的聊天端点,包括最新的模型(如 Llama3、Mixtral 和 DBRX)以及您自己的微调模型。
from databricks_langchain import ChatDatabricks

chat_model = ChatDatabricks(endpoint="databricks-meta-llama-3-70b-instruct")
请参阅 使用示例,了解如何在您的 LangChain 应用程序中使用它的更多指导。

LLM

Databricks 是一个 LLM 类,用于访问托管在 Databricks 上的补全端点。
文本补全模型已弃用,最新且最受欢迎的模型是 聊天补全模型。请改用 ChatDatabricks Chat Model 来使用这些模型及工具调用等高级功能。
from langchain_community.llm.databricks import Databricks

llm = Databricks(endpoint="your-completion-endpoint")
请参阅 使用示例,了解如何在您的 LangChain 应用程序中使用它的更多指导。

Embeddings

DatabricksEmbeddings 是一个 Embeddings 类,用于访问托管在 Databricks 上的文本嵌入端点,包括最新的模型(如 BGE)以及您自己的微调模型。
from databricks_langchain import DatabricksEmbeddings

embeddings = DatabricksEmbeddings(endpoint="databricks-bge-large-en")
请参阅 使用示例,了解如何在您的 LangChain 应用程序中使用它的更多指导。 Databricks Vector Search 是一个无服务器的相似度搜索引擎,允许您将数据(包括元数据)的向量表示形式存储在向量数据库中。借助 Vector Search,您可以从由 Unity Catalog 管理的 Delta 表创建自动更新的向量搜索索引,并通过简单的 API 查询它们以返回最相似的向量。
from databricks_langchain import DatabricksVectorSearch

dvs = DatabricksVectorSearch(
    endpoint="<YOUT_ENDPOINT_NAME>",
    index_name="<YOUR_INDEX_NAME>",
    index,
    text_column="text",
    embedding=embeddings,
    columns=["source"]
)
docs = dvs.similarity_search("What is vector search?)
请参阅 使用示例,了解如何设置向量索引并将其与 LangChain 集成。

MLflow 集成

在 LangChain 集成的上下文中,MLflow 提供以下功能:
  • 实验追踪(Experiment Tracking):追踪并存储来自您 LangChain 实验的模型、工件和追踪记录。
  • 依赖管理(Dependency Management):自动记录依赖库,确保开发、暂存和生产环境之间的一致性。
  • 模型评估(Model Evaluation):提供用于评估 LangChain 应用程序的原生功能。
  • 追踪(Tracing):可视化追踪数据在您 LangChain 应用程序中的流动路径。
请参阅 MLflow LangChain 集成,通过丰富的代码示例和指南了解将 MLflow 与 LangChain 结合使用的全部功能。

SQLDatabase

要连接到 Databricks SQL 或查询结构化数据,请参阅 Databricks 结构化检索工具文档。若要使用上述创建的 SQL UDF 创建代理,请参阅 Databricks UC 集成

开放模型

要直接集成托管在 HuggingFace 上的 Databricks 开放模型,您可以使用 LangChain 的 HuggingFace 集成
from langchain_huggingface import HuggingFaceEndpoint

llm = HuggingFaceEndpoint(
    repo_id="databricks/dbrx-instruct",
    task="text-generation",
    max_new_tokens=512,
    do_sample=False,
    repetition_penalty=1.03,
)
llm.invoke("What is DBRX model?")