Databricks
Databricks Intelligence Platform 是全球首個由生成式 AI 驅動的資料智慧平台。將 AI 注入您業務的每個層面。
Databricks 以多種方式擁抱 LangChain 生態系統
- 🚀 模型服務 - 透過高可用性和低延遲的推論端點,存取最先進的 LLM,例如 DBRX、Llama3、Mixtral 或您在 Databricks 模型服務上微調的模型。LangChain 提供 LLM (
Databricks
)、聊天模型 (ChatDatabricks
) 和嵌入 (DatabricksEmbeddings
) 實作,簡化了將 Databricks 模型服務上託管的模型與 LangChain 應用程式整合的過程。 - 📃 向量搜尋 - Databricks 向量搜尋是無伺服器向量資料庫,無縫整合在 Databricks 平台中。使用
DatabricksVectorSearch
,您可以將高度可擴展且可靠的相似性搜尋引擎整合到 LangChain 應用程式中。 - 📊 MLflow - MLflow 是一個開源平台,用於管理完整的 ML 生命周期,包括實驗管理、評估、追蹤、部署等。MLflow 的 LangChain 整合簡化了開發和操作現代複合 ML 系統的過程。
- 🌐 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
是一個嵌入類別,用於存取 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?")