使用 Agent Bricks:自定义 LLM 创建一个文本生成 AI 代理

重要

此功能在 Beta 版中。

本文介绍如何使用 Agent Bricks:Custom LLM 为基于文本的自定义任务创建生成 AI 代理。

Agent Bricks 提供了一种简单的无代码方法来生成和优化特定于域的高质量 AI 代理系统,用于常见 AI 用例。

自定义 LLM 能做什么?

使用代理砖块:自定义 LLM 为任何特定于域的任务(例如摘要、分类、文本转换和内容生成)生成高质量结果。

Agent Bricks:自定义 LLM 非常适合以下应用场景:

  • 汇总客户呼叫的问题和解决方法。
  • 分析客户评论的情绪。
  • 按主题对研究论文进行分类。
  • 为新功能生成新闻稿。

在高水平指令和示例的基础上,Agent Bricks:自定义 LLM 代表用户优化提示,自动推断评估标准,从提供的数据评估系统,并将模型部署为可用于生产的终结点。

Agent Bricks:自定义 LLM 利用自动评估功能(包括 MLflow 和 代理评估),以便快速评价您的特定提取任务中的成本与质量的权衡。 通过此评估,可以就准确度与资源投入之间的平衡做出明智的决策。

要求

  • 包含以下内容的无服务器支持的工作区:
  • 能够使用 ai_query SQL 函数
  • 在使用之前,您必须准备好输入数据。 可以选择提供以下任一项:
    • Unity 目录表。 表名不能包含任何特殊字符(例如 -)。
    • 至少有 3 个示例输入和输出。 如果选择此选项,则需要为代理指定 Unity 目录架构目标路径,并且必须具有 CREATE REGISTERED MODEL 和 CREATE TABLE 此架构的权限。
  • 如果要优化代理,至少需要 100 个输入(Unity 目录表中的 100 行或 100 个手动提供的示例)。

创建自定义 LLM 代理

转到 “代理”图标。 工作区左侧导航窗格中的代理,然后单击 “自定义 LLM”。

ABCL 任务。

步骤 1:配置代理

在“ 配置 ”选项卡上,单击“ 显示示例 > ”以展开自定义 LLM 代理的示例输入和模型响应。

在下面的窗格中,配置代理:

  1. “描述任务”下,输入专用任务的明确和详细说明,包括其用途和所需结果。

  2. 提供标记的数据集、未标记的数据集或用于创建代理的几个示例。

    支持以下数据类型: stringintdouble

    标记的数据集

    如果选择 “标记数据集”:

    CL:选择标记的数据集。

    1. “选择数据集”作为 UC 表下,单击“ 浏览 ”以选择要使用的 Unity 目录中的表。 表名不能包含任何特殊字符(例如 -)。

      示例如下:

      main.model_specialization.customer_call_transcripts

    2. “输入列 ”字段中,选择要用作输入文本的列。 下拉菜单会自动填充所选表中的列。

    3. “输出”列(可选)中,选择要作为预期转换的示例输出的列。 提供此数据有助于配置代理,以便更准确地适应特定于域的需求。

    未标记的数据集

    如果选择 “未标记的数据集”:

    1. “选择数据集”作为 UC 表下,单击“ 浏览 ”以选择要使用的 Unity 目录中的表。 表名不能包含任何特殊字符(例如 -)。

    2. “输入列 ”字段中,选择要用作输入文本的列。 下拉菜单会自动填充所选表中的列。

    几个示例

    如果选择 几个示例

    1. 为专用化任务提供至少 3 个输入和预期输出示例。 提供高质量的示例有助于配置专用代理,以便更好地了解你的要求。
    2. 若要添加更多示例,请单击“ + 添加”。
    3. Agent destination 下,选择一个 Unity Catalog 架构,让 Agent Bricks 帮助你创建一个包含评估数据的表格。 必须具有 CREATE REGISTERED MODEL 和 CREATE TABLE 对此架构的权限。
  3. 为代理命名。

  4. 单击“ 创建代理”。

步骤 2:生成和改进代理

在“ 生成 ”选项卡中,可以查看改进代理的建议、查看示例模型输出以及调整任务说明和评估条件。

“建议 ”窗格中,Databricks 提供了建议来帮助定义代理的评估指标,并评估示例响应是否良好或不正确。

  1. 查看用于优化代理性能的 Databricks 建议。

  2. 查看建议的评估条件。 这些推荐的评估标准会被自动推断,以帮助优化您的代理。

    查看建议的评估指标。

    对于每个建议:

    • 若要接受建议,请选择“ 是”。 这会在 “代理配置 ”窗格中添加评估条件。
    • 若要拒绝条件,请选择 “否”。
    • 还可以选择 “消除 建议”。
  3. “审阅结果”下,查看示例模型输入和输出并提供可选的人工反馈。 此评估有助于改进模型的响应。

    评估示例模型输入和输出以改进响应。

    对于每个示例,请选择它是否是一个很好的响应。 如果 “否”,请提供有关响应的可选反馈,然后单击“ 保存 ”转到下一个响应。

  4. 查看完建议后,请查看 “代理配置 ”窗格。

    1. 可以调整任务说明,以更具体地改进模型的性能。
    2. 查看从建议中添加的评估条件。 可以通过单击 X 来删除条件。
    3. 如果要添加更多评估条件,请单击“ + 添加” 以添加自己的条件。
  5. 单击 “更新代理 ”将这些更改保存到代理。 “查看结果”下的示例更新以显示新的示例模型输出。

步骤 3:试用和优化代理

在 Databricks 的工作流中试用代理。

在“使用”选项卡上

  1. 单击“ 在 SQL 中试用 ”以打开 SQL 编辑器,并用于 ai_query 将请求发送到新的自定义 LLM 代理。

  2. (可选)如果要为成本优化你的代理,请单击“优化”。

    • 优化需要至少 100 个输入。 如果提供了 Unity 目录数据集,该表必须至少包含 100 行。 如果未提供数据集,则需要提供至少 100 个示例。
    • 优化可能需要大约一个小时。
    • 在优化过程中,将阻止对当前处于活动状态的代理进行更改。

优化完成后,系统会将你定向到“查看”选项卡,以查看当前处于活动状态的代理与针对成本进行优化的代理之间的比较。 请参阅(可选)步骤 4:查看和部署优化的代理

  1. (可选)选择“ 创建管道 ”以部署按计划间隔运行的管道,以在新数据上使用代理。 请参阅 Lakeflow 声明性管道,以获取有关管道的详细信息。

使用或优化 CL 代理,或创建管道。

(可选)步骤 4:查看和部署优化代理

Databricks 建议至少 100 个输入(Unity 目录表中的 100 行或 100 个手动提供的示例)来优化代理。 添加更多输入时,代理可以学习的知识库会增加,从而提高代理的质量及其响应准确性。

在“使用”选项卡上选择“优化”时,Databricks 会比较多个不同的优化策略来生成和部署优化的代理。 这些策略包括使用 Databricks Geos 微调基础模型。

在“查看”选项卡上

  1. 评估结果中,可以查看优化代理的评估指标。 为了执行评估,Databricks 根据在构建选项卡中定义的评估条件使用指标。
  2. 单击请求以打开更多详细信息。 在这里,可以查看每个评估指标的详细评估,包括它通过或失败的原因。 这使用了 Databricks 的内置 AI 评审。 还可以检查输入和响应。
  3. 查看这些结果后,选择“ 将最佳模型部署到终结点 ”下的最佳模型,然后单击“ 部署”。

局限性

  • Databricks 建议至少 100 个输入(Unity 目录表中的 100 行或 100 个手动提供的示例)来优化代理。 添加更多输入时,代理可以学习的知识库会增加,从而提高代理的质量及其响应准确性。
  • 如果提供 Unity 目录表,则表名不能包含任何特殊字符(例如 -)。
  • 仅支持以下数据类型作为输入: stringintdouble
  • 当前的使用容量限制为每分钟 10 万个输入和输出令牌。
  • 不支持使用 Azure 专用链接的工作区,包括 Azure 专用链接后面的存储。