> Databricks 提供了一个数据与 AI 平台(通常称为 Databricks Lakehouse),用于分析、机器学习和生成式 AI 工作负载。
Databricks 以多种方式拥抱 LangChain 生态系统:
- 🚀 **模型服务** - 通过高可用、低延迟的推理端点访问先进的 LLM(如 DBRX、Llama3、Mixtral)或您自己的微调模型 Databricks 模型服务。LangChain 提供 LLM(
Databricks)、聊天模型(ChatDatabricks)和嵌入(DatabricksEmbeddings)实现,简化了将托管在 Databricks 模型服务上的模型与 LangChain 应用程序集成的过程。 - 📃 **向量搜索** - Databricks 向量搜索 是一个与 Databricks 平台无缝集成的无服务器向量数据库。使用
DatabricksVectorSearch类将 LangChain 连接到您 Databricks 账户中的向量搜索索引。 - 📊 **MLflow** - MLflow 是一个开源平台,用于管理整个 ML 生命周期,包括实验管理、评估、追踪、部署等。 MLflow 的 LangChain 集成 简化了开发和运维现代复合 ML 系统的过程。
- 🌐 **SQL 数据库** - Databricks SQL 与 LangChain 中的
SQLDatabase集成,让您可以访问自动优化、性能卓越的数据仓库。 - 💡 **开放模型** - Databricks 开源的模型,如 DBRX,可通过 Hugging Face Hub获取。这些模型可直接与 LangChain 配合使用,利用其与
transformerslibrary.
安装 ------------
第一方 Databricks 集成现在可在 databricks-langchain 合作伙伴包中使用。
pip install databricks-langchain
uv add 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 应用程序中使用它的指导。
嵌入 ----------
DatabricksEmbeddings 是一个嵌入类,用于访问托管在 Databricks 上的文本嵌入端点,包括 BGE 等先进模型,以及您自己的微调模型。
from databricks_langchain import DatabricksEmbeddings
embeddings = DatabricksEmbeddings(endpoint="databricks-bge-large-en")
请参阅 使用示例 ,了解更多关于如何在 LangChain 应用程序中使用它的指导。
向量搜索 -------------
Databricks Vector Search 是一个无服务器的相似性搜索引擎,允许您存储数据的向量表示(包括元数据)在向量数据库中。通过 Vector Search,您可以创建来自的自动更新向量搜索索引 Delta 表由 Unity Catalog 管理的表,并使用简单的 API 查询它们以返回最相似的向量。
from databricks_langchain import DatabricksVectorSearch
dvs = DatabricksVectorSearch(
endpoint="",
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?")