Skip to main content
Open on GitHub

Databricks

Databricks 智能平台是全球首个由生成式AI驱动的数据智能平台。将AI融入您业务的每一个方面。

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

  1. 🚀 模型服务 - 通过高可用性和低延迟的推理端点,访问最先进的LLM,如DBRX、Llama3、Mixtral,或您在Databricks模型服务上微调的模型。LangChain提供了LLM(Databricks)、聊天模型(ChatDatabricks)和嵌入(DatabricksEmbeddings)的实现,简化了将托管在Databricks模型服务上的模型与LangChain应用程序的集成。
  2. 📃 向量搜索 - Databricks Vector Search 是一个无缝集成在 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 是一个用于访问托管在 Databricks 上的完成端点的 LLM 类。

caution

文本补全模型已被弃用,最新且最受欢迎的模型是聊天补全模型。请使用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 Vector Search 是一个无服务器的相似性搜索引擎,允许您在向量数据库中存储数据的向量表示,包括元数据。通过 Vector Search,您可以从由 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 的全部功能。

SQL数据库

您可以使用LangChain的SQLDatabase包装器连接到Databricks SQL。

from langchain.sql_database import SQLDatabase

db = SQLDatabase.from_databricks(catalog="samples", schema="nyctaxi")

请参阅Databricks SQL Agent了解如何将Databricks SQL与您的LangChain Agent连接,作为一个强大的查询工具。

开放模型

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

这个页面有帮助吗?