Databricks
Databricks Intelligence Platform is the world's first data intelligence platform powered by generative AI. Infuse AI into every facet of your business.
Databricks 以多种方式拥抱 LangChain 生态系统:
- 🚀 模型服务 - 通过高可用且低延迟的推理端点,访问最先进的LLM(如DBRX、Llama3、Mixtral或您微调的模型),这些模型托管在Databricks模型服务上。LangChain提供LLM(
Databricks)、聊天模型(ChatDatabricks)和嵌入(DatabricksEmbeddings)的实现,简化了将托管在Databricks模型服务上的模型集成到您的LangChain应用中的过程。 - 📃 向量搜索 - Databricks 向量搜索 是一种无服务器向量数据库,无缝集成在 Databricks 平台中。使用
DatabricksVectorSearch,您可以将高度可扩展且可靠的相似性搜索引擎集成到您的 LangChain 应用程序中。 - 📊 MLflow - MLflow 是一个开源平台,用于管理完整的机器学习生命周期,包括实验管理、评估、追踪、部署等。 MLflow 与 LangChain 的集成 可简化开发和运行现代复杂机器学习系统的过程。
- 🌐 SQL数据库 - Databricks SQL 已与 LangChain 集成,版本为
SQLDatabase,可让您访问自动优化、性能卓越的数据仓库。 - 💡 开放模型 - 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 是一个 Embeddings 类,用于访问托管在 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 的完整功能。
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?")