跳到主要內容
Open on GitHub

Databricks

Databricks Intelligence Platform 是全球首個由生成式 AI 驅動的資料智慧平台。將 AI 注入您業務的每個層面。

Databricks 以多種方式擁抱 LangChain 生態系統

  1. 🚀 模型服務 - 透過高可用性和低延遲的推論端點,存取最先進的 LLM,例如 DBRX、Llama3、Mixtral 或您在 Databricks 模型服務上微調的模型。LangChain 提供 LLM (Databricks)、聊天模型 (ChatDatabricks) 和嵌入 (DatabricksEmbeddings) 實作,簡化了將 Databricks 模型服務上託管的模型與 LangChain 應用程式整合的過程。
  2. 📃 向量搜尋 - Databricks 向量搜尋是無伺服器向量資料庫,無縫整合在 Databricks 平台中。使用 DatabricksVectorSearch,您可以將高度可擴展且可靠的相似性搜尋引擎整合到 LangChain 應用程式中。
  3. 📊 MLflow - MLflow 是一個開源平台,用於管理完整的 ML 生命周期,包括實驗管理、評估、追蹤、部署等。MLflow 的 LangChain 整合簡化了開發和操作現代複合 ML 系統的過程。
  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 向量搜尋是一個無伺服器相似性搜尋引擎,可讓您將資料的向量表示形式(包括元數據)儲存在向量資料庫中。透過向量搜尋,您可以從 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?)

請參閱使用範例,了解如何設定向量索引並將其與 LangChain 整合。

MLflow 整合

在 LangChain 整合的背景下,MLflow 提供以下功能

  • 實驗追蹤:追蹤和儲存來自 LangChain 實驗的模型、工件和追蹤。
  • 依賴項管理:自動記錄依賴項庫,確保開發、預備和生產環境之間的一致性。
  • 模型評估:提供評估 LangChain 應用程式的原生功能。
  • 追蹤:視覺化追蹤資料流經您的 LangChain 應用程式。

請參閱MLflow LangChain 整合,透過大量的程式碼範例和指南,了解將 MLflow 與 LangChain 結合使用的完整功能。

SQLDatabase

若要連接到 Databricks SQL 或查詢結構化資料,請參閱Databricks 結構化檢索器工具文件,若要使用上述建立的 SQL UDF 建立代理程式,請參閱Databricks UC 整合

開放模型

若要直接整合 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?")

此頁面是否有幫助?