OpenAI: 运行助手功能 操作
- Updated: 2025/04/30
OpenAI: 运行助手功能 操作
OpenAI: 运行助手功能操作为您的 OpenAI 助手解锁新的能力水平。 它利用了 OpenAI 助手 API,使助手能够在对话过程中主动调用外部功能。 该功能就像一座桥梁,主动将您的助手与庞大的附加功能工具箱连接起来。
先决条件
- 您必须拥有机器人创造程序角色才能在自动化中使用 OpenAI 运行助手功能 操作。
- 确保您拥有发送请求所需的凭据,并在调用任何 OpenAI 操作之前包含 OpenAI: 身份验证操作。
- 您必须具有 OpenAI: 在调用 OpenAI 运行助手功能之前,先运行助手 操作。
此示例深入探讨如何使用 OpenAI 运行助手功能,以扩展您的助手功能。 您将探索如何在运行环境中调用现有助手,提取关键信息(线程 ID
、调用 ID
和运行 ID
),并利用这些 ID 定义量身定制的函数响应。 例如,这里加载了股票市场助手,函数结果使用工具输出列表
(函数响应)。
过程
-
在 Automation Anywhere Control Room 中,导航到操作窗格,选择生成式 AI > OpenAI,拖动身份验证操作,并将其放置在画布上。 要进行身份验证,您需要一个 API 密钥。 有关生成 API 密钥和身份验证的更多信息,请参阅 OpenAI: 身份验证操作。
-
将 Open AI: 运行助手操作放置在身份验证操作下,并使用加载助手来加载一个助手(股票市场助手)。 输入消息(获取 AAINC 的股票价格)。 响应保存到字符串变量 str_Response 中。 有关使用 Open AI: 运行助手操作的更多信息,请参阅 OpenAI: 运行助手 操作。注: 仅用于说明目的,此示例中使用了虚构股票代码 AAINC。 分配给 AAINC 的 3200 美元价格是一个示例值,并不代表任何真实股票的价格。
从 OpenAI 载入的股票市场助手包含以下指令和功能:
您是一名股票市场助手。 当被问及与股票有关的问题时,使用该功能并获取股票价格。
{"name":“获取股票价格”、"description":“获取当前股票价格”、"parameters":{ "type":“对象”、"properties":{ "symbol":{ "type":“字符串”、"description":“股票代码”} }、"required":[ “代码” ] } }
-
从操作窗格中,拖动JSON > 开始会话操作并将其拖放到 Open AI: 运行助手操作下方的画布中。
-
在数据源字段中,选择文本并输入
$str_Response$
。 -
在 JSON 对象会话字段中,选择本地会话,然后输入
默认
。您现在拥有整个 JSON。 接下来的任务是从正文中提取所需的字段。 以下代码段显示了一个 JSON 示例:{ "data":{ "thread_id":"thread_hiCr3najXMSxuuiIntJDXDXd", "tool_calls":[ { "id":"call_Beu0XFPGR91RZGoXBA8ODSke", "type":"function", "function":{ "name":"get_stock_price", "arguments":"{\n\"symbol\": \"AAINC\"\n}" } } ], "id":"run_LnR669bHLcMAaIGOcvIE0nVa" }, "status":"requires_action" }
注: OpenAI 助手消息中的tool_calls
和tool_outputs
可以处理用户在单条消息中发出多个请求的情况。 例如,获取 AAINC 和 BBINC 的股票价格。 这一条信息实际上包含两个不同的请求:查找 AAINC 的股票价格和查找 BBINC 的股票价格。 -
在数据源字段中,选择文本并输入
-
从 JSON 中提取所需字段,以执行 OpenAI: 运行助手功能。
- 从操作窗格中,拖动Json > 获取节点值 操作 并将其拖放到Json > 获取节点值操作下方的画布中。 有关 JSON: 获取节点值操作的更多信息,请参阅 在 JSON 中获取节点值 操作。
-
指定要提取的节点。 例如,要提取
thread_id
,您可以使用data.thread_id
。 - 创建变量 thread_id 并将输出分配给此变量。
-
同样地,提取
run_id
和call_id
(data.id
和data.tool_calls[0].id
),并将其保存在变量 run_id 和 call_id 中。
-
导航到操作窗格,选择生成式 AI > OpenAI,拖动 OpenAI: 运行助手功能操作,并将其放在最后一个获取节点值操作下。
- 在线程 ID 字段中使用提取的 $thread_id$。
- 在运行 ID 字段中使用提取的 $run_id$。
-
使用下面的标准模式定义功能响应。 模式是一个 JSON 对象,其中包含 OpenAI 助手使用的工具(函数)的输出信息。
{ "tool_outputs":[ { "tool_call_id":“输入呼叫 ID”、"output":“{输入您的输出}” } ] }
处理完请求并运行相应函数后,您需要将结果传回 OpenAI 助手 API。 为此,您需要创建一个如上所示的特殊列表,称为
工具输出列表
。 此列表包含以下属性:- tool_call_id(字符串): 该属性包含生成输出的工具(函数)特定调用的唯一标识符。 此 ID 有助于跟踪和引用该工具的特定执行实例。
-
输出(任意): 该属性包含工具生成的实际输出数据。 输出的数据类型可能因具体工具及其用途而异。 可能是:
- 字符串(例如由创意写作功能生成的文本)
- 数字(例如计算结果)
- 列表(例如收集的检索数据点)
- 字典(例如具有多个值的复杂数据结构)
- 任何其他有效的 JSON 数据类型
例如,在此示例中输入以下 JSON:
{ "tool_outputs":[ { "tool_call_id":"$call_idquot;, "output":"{3200}" } ] }
- 输入默认作为会话名称,将其限制为当前会话。
-
将响应保存到变量。 在此示例中,响应被保存到字符串变量 str_FunctionResponse。 输出是一个 JSON,其中显示了您要求输出的值,以下是上述运行的示例输出:
:
{ "data":[ { "metadata":{ }, "role":“助手”、"content":[ { "type":“文本”、"text":{ "value":“AAINC的当前股价为3200美元。”、"annotations":[ ] } } ] } ]、"status":“已完成” }}
OpenAI: 运行助手功能操作彻底改变了 OpenAI 助手的运行方式,使其从简单的信息提供者转变为能够采取行动并满足请求的强大工具。 通过利用外部功能,助手现在可以处理复杂的任务,提供个性化推荐(如上例所示),并最终提供更全面、更有帮助的用户体验。