跳到主要内容
Open on GitHub

Databricks

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 是一个开源平台,用于管理完整的机器学习生命周期,包括实验管理、评估、追踪、部署等。MLflow 的 LangChain 集成简化了开发和操作现代复合机器学习系统的过程。
  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 向量搜索是一个无服务器相似度搜索引擎,允许您将包括元数据在内的数据的向量表示存储在向量数据库中。借助向量搜索,您可以从由 Delta 表(由 Unity Catalog 管理)创建自动更新的向量搜索索引,并通过简单的 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 集成

开源模型

要直接集成托管在 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?")