Skip to main content
在 GitHub 上打开

Databricks

DatabricksIntelligence Platform 是世界上第一个由生成式 AI 提供支持的数据智能平台。将 AI 融入您业务的方方面面。

Databricks 以多种方式拥抱 LangChain 生态系统:

  1. 🚀 模型服务 - 通过高度可用和低延迟的推理终端节点,访问最先进的 LLM,例如 DBRX、Llama3、Mixtral 或 Databricks Model Serving 上的微调模型。LangChain 提供 LLM (Databricks)、聊天模型 (ChatDatabricks) 和嵌入 (DatabricksEmbeddings) 实现,简化了 Databricks Model Serving 上托管的模型与 LangChain 应用程序的集成。
  2. 📃 矢量搜索 - Databricks Vector Search 是一个无缝集成在 Databricks 平台中的无服务器矢量数据库。用DatabricksVectorSearch,您可以将高度可扩展且可靠的相似性搜索引擎整合到您的 LangChain 应用程序中。
  3. 📊 MLflow - MLflow 是一个开源平台,用于管理整个 ML 生命周期,包括实验管理、评估、跟踪、部署等。MLflow 的 LangChain 集成简化了开发和运营现代复合 ML 系统的过程。
  4. 🌐 SQL 数据库 - Databricks SQLSQLDatabase,允许您访问自动优化、性能卓越的数据仓库。
  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 上托管的完成端点。

谨慎

文本补全模型已弃用,最新和最常用的模型是聊天补全模型。用ChatDatabrickschat 模型来使用这些模型和高级功能(如工具调用)。

from langchain_community.llm.databricks import Databricks

llm = Databricks(endpoint="your-completion-endpoint")

有关如何在 LangChain 应用程序中使用它的更多指导,请参阅使用示例

嵌入

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

from databricks_langchain import DatabricksEmbeddings

embeddings = DatabricksEmbeddings(endpoint="databricks-bge-large-en")

有关如何在 LangChain 应用程序中使用它的更多指导,请参阅使用示例

Databricks 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?)

有关如何设置 vector 索引并将其与 LangChain 集成的信息,请参阅使用示例

MLflow 集成

在 LangChain 集成的上下文中,MLflow 提供了以下功能:

  • Experiment Tracking:跟踪和存储 LangChain 实验中的模型、工件和跟踪。
  • 依赖项管理:自动记录依赖项库,确保开发、暂存和生产环境之间的一致性。
  • 模型评估提供用于评估 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?")