ai_generate_text()
的设置和注意事项
重要
此功能目前以公共预览版提供。
警告
AI 函数 ai_generate_text()
已弃用。 Databricks 建议将 ai_query 与外部模型配合使用。
本文介绍了在开始使用 ai_generate_text()
函数之前要考虑的事项和设置内容,特别是如何检索身份验证凭据并安全地存储它们。 此外,本文还介绍了功能限制和性价比注意事项。
什么是 ai_generate_text()
?
ai_generate_text()
函数是内置的 Azure Databricks SQL 函数,使你能够直接从 SQL 访问大型语言模型 (LLM)。 此函数目前支持访问 OpenAI 和 Azure OpenAI 模型,并使客户能够将它们用作数据管道和机器学习工作负载中的构建基块。 有关语法和设计模式,请参阅 ai_generate_text 函数语言手册内容。
ai_generate_text()
的可能用例包括翻译、摘要、建议的操作、主题或主题标识等。
以下是在 Azure Databricks 上使用 LLM 的一些优点:
- 跨开源和专有 LLM 的统一访问和管理层。
- 无服务器、自动缩放、数据集成的 LLM 基础结构。
- 只需单击即可轻松根据你的业务需求和用例自定义 LLM。
- 对于高级用户,是用于快速开发和自定义开源 LLM 的工具。
要求
- 在 AI Functions 公共预览版中注册。 若要注册公共预览版,请填写并提交 AI Functions 公共预览版登记表。
- Azure Databricks SQL Pro 或无服务器。
- 了解此功能的启用和使用会引导数据离开 SQL 环境并传递给第三方 LLM 模型提供商:OpenAI 和 Azure OpenAI。
- 有权访问 Azure OpenAI 或 OpenAI。
- 已部署 GPT 3.5 Turbo 模型。
检索身份验证详细信息
若要使用 ai_generate_text()
函数,需要能够访问 Azure OpenAI 或 OpenAI。
按照以下步骤检索 Azure OpenAI 的身份验证详细信息。 身份验证详细信息将填充 resourceName
的 deploymentName
和 ai_generate_text()
参数。
- 导航到 Azure 门户中的“认知服务”,然后选择“Azure OpenAI”。
- 选择要使用的资源。
- 在“资源管理”下选择“密钥和终结点”。
- 复制密钥和资源名称。
- 在“资源管理”下选择“模型部署”。
- 复制模型部署名称。
对于 OpenAI,可以导航到 OpenAI 并选择 API 密钥来创建密钥。
注意
无法复制现有密钥配置的密钥。
可以:
- 从创建配置的人员(也称为主体)检索密钥。
- 创建新密钥,并在成功创建后复制提供的密钥。
存储访问令牌
重要
不要在笔记本、代码或 git 存储库中以纯文本形式包含令牌。
可以使用 Azure Databricks 机密来保存 API 令牌。 使用 Databricks CLI 或 Secrets API 2.0 创建机密。 以下示例中的步骤使用机密 CLI:
如果还没有用于保留 OpenAI 密钥的机密范围,请创建一个:
databricks secrets create-scope openai
需要向允许连接到 OpenAI 的用户或组授予 READ 权限或更高权限。 Databricks 建议创建一个组
openai-users
,并将允许的用户添加到该组。databricks secrets put-acl openai openai-users READ
为 API 访问令牌创建机密。 Databricks 建议采用
<resource-name>-key
格式:databricks secrets put-secret openai demo-key --string-value yourkey123
限制
ai_generate_text()
在交互式群集或作业群集中不受支持。- 预览版中支持的唯一模型是
openai/gpt-3.5-turbo
和azure_openai/gpt-35-turbo
。 openai/gpt-3.5-turbo
和azure_openai/gpt-35-turbo
的标记限制为 4096 个令牌。
成本和性能注意事项
- OpenAI 和 Azure OpenAI 服务需要订阅并与 Azure Databricks 分开收费。
- OpenAI 和 Azure OpenAI 服务的令牌成本适用于输入和输出。
- 有关详细信息,请参阅 OpenAI 定价页面和 Azure OpenAI 定价页面。
- 在给定查询中,对调用函数的列顺序调用 LLM API。
- 与大多数 SQL 函数相比,使用
ai_generate_text()
的查询往往运行速度较慢。
- 与大多数 SQL 函数相比,使用
- 调用 AI 函数的查询的响应时间取决于提示中指定的任务以及提供和请求的令牌数量。
- 在此预览版发布时,Azure OpenAI 服务仅在少数 Azure 区域中可用。
其他资源
请参阅语言手册文档,了解 ai_generate_text 函数的语法和设计模式。
请参阅使用 ai_generate_text() 和 OpenAI 分析客户评论,了解有关如何在业务场景中使用 ai_generate_text()
的示例。