快速掌握Databricks Embeddings:统一AI、数据与分析的完整指南
引言
Databricks Lakehouse Platform 提供了一个统一的数据、分析和 AI 平台,使得数据科学家和开发者能够更方便地构建和部署应用。本篇文章将带你快速了解如何在 Databricks 上使用嵌入模型,以及如何在 LangChain 应用中集成这些模型。
主要内容
Databricks Embeddings概述
Databricks Embeddings 类封装了托管在 Databricks Model Serving 上的嵌入模型端点。它支持 Embeddings 类的所有方法,包括异步 API。这些嵌入模型需要符合 OpenAI 兼容的输入/输出格式。
支持的方法
Databricks Embeddings 支持所有 Embeddings 类的方法,包括异步 API,以便于处理大规模请求。
端点要求
封装的端点必须符合 OpenAI 兼容的嵌入格式,这样你就可以在 Databricks Model Serving 上使用任何类型的端点:
- 基础模型:例如 BAAI General Embedding (BGE) 模型,无需设置即可在 Databricks 工作区使用。
- 自定义模型:可以通过 MLflow 部署自定义嵌入模型。
- 外部模型:可以作为代理服务外部托管的模型。
环境准备
为了访问 Databricks 模型,你需要创建 Databricks 账户,设置凭据,并安装必要的包。
如果你在 Databricks 工作区外运行应用,需要手动设置环境变量 DATABRICKS_HOST
和 DATABRICKS_TOKEN
。以下是 Python 代码示例:
import getpass
import os
os.environ["DATABRICKS_HOST"] = "https://your-workspace.cloud.databricks.com"
os.environ["DATABRICKS_TOKEN"] = getpass.getpass("Enter your Databricks access token: ")
安装所需的 Python 包:
%pip install -qU langchain-community mlflow>=2.9.0
嵌入模型的实例化
下面展示如何使用 DatabricksEmbeddings 类查询基础模型的示例:
from langchain_community.embeddings import DatabricksEmbeddings
embeddings = DatabricksEmbeddings(
endpoint="databricks-bge-large-en",
# 使用API代理服务提高访问稳定性
)
# 嵌入查询
result = embeddings.embed_query("hello")[:3]
print(result)
# 嵌入文档
documents = ["这是一个示例文档。", "这是另一个示例文档。"]
response = embeddings.embed_documents(documents)
print([e[:3] for e in response])
常见问题和解决方案
- 访问网络限制:由于某些地区的网络限制,开发者可能需要考虑使用 API 代理服务,以提高访问稳定性。
- 兼容性问题:确保你的输入/输出格式与 OpenAI 的格式兼容。
总结和进一步学习资源
本文提供了在 Databricks 平台上使用嵌入模型的基本方法。在实践中,确保你的模型配置正确且符合要求格式,将大大提高你的应用性能。想要深入学习,可以参考以下资源:
参考资料
结束语:如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—