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

安装

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

聊天模型

ChatDatabricks 是一个聊天模型类,用于访问 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 聊天模型以使用这些模型和工具调用等高级功能。
from langchain_community.llm.databricks import Databricks

llm = Databricks(endpoint="your-completion-endpoint")
有关如何在 LangChain 应用中使用它的详细指导,请参阅使用示例

嵌入

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

embeddings = DatabricksEmbeddings(endpoint="databricks-bge-large-en")
有关如何在 LangChain 应用中使用它的详细指导,请参阅使用示例

向量搜索

Databricks 向量搜索是一个无服务器的相似性搜索引擎,允许您存储数据的向量表示(包括元数据)于向量数据库中。通过向量搜索,您可以从 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 提供以下功能:
  • 实验追踪:追踪并存储 LangChain 实验中的模型、工件和追踪信息。
  • 依赖管理:自动记录依赖库,确保开发、预发布和生产环境之间的一致性。
  • 模型评估:为 LangChain 应用提供原生评估功能。
  • 追踪:可视化地追踪数据在 LangChain 应用中的流动。
请参阅 MLflow LangChain 集成,通过大量代码示例和指南了解将 MLflow 与 LangChain 结合使用的全部功能。

SQLDatabase

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

开源模型

要直接集成 Databricks 在 HuggingFace 上托管的开源模型,您可以使用 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?")