循序渐进 · AIP 教学 · Chatbot Studio(十二)

通过 Foundry API 使用聊天机器人

要在 Foundry 平台之上自建应用?这一篇讲用 Palantir API 调起会话、发消息、拿回复

全部目录 AIP 首页 ← 上一篇 通过 Foundry API 使用聊天机器人 下一篇 →
本文来源 · Source 内容整理自 Palantir Foundry 官方文档:
https://www.palantir.com/docs/foundry/chatbot-studio/foundry-apis/
原始标题:AIP Chatbot Studio • Use AIP Chatbots through Foundry APIs • Palantir · 所属:AIP Chatbot Studio(做对话机器人)

先记住这几条

① 有官方 API 可用
不必自己封装。
② 会话是最小单位
创建会话 → 发消息 → 取响应。
③ 适合自建前端
在平台之外集成你的机器人。
0

写在前面

若要在 Foundry 平台之上构建应用程序,你可以使用 Palantir APIs 将聊天机器人嵌入到你的应用程序中。

1

这些 API 能做什么

要点:能力范围。

通过 API 轻松与你的聊天机器人构建多轮交互,其选项可用于:

  • 通过创建与聊天机器人的新会话来针对给定任务或上下文开始新的对话。
  • 使用流式阻塞式 API 编排复杂的往返任务提示词,其内置的状态管理会为你追踪会话的这些更新。
  • 通过 API 中的 application state 选项向聊天机器人提供自定义应用输入。它们使用此前在 Chatbot Studio 中使用的 parameter,现在作为 Application state/variables 提供。在请求中使用 parameterInputs 字段来提供输入。使用 parameterUpdates 字段处理阻塞式响应(或者在流式传输后加载会话交换)以读取自定义输出。

对于不需要大量会话管理的简单、一次性任务,请考虑使用 chatbots as functions。你可以使用 Palantir OSDK 从第三方应用程序以函数的方式访问聊天机器人。

2

把聊天机器人部署到 Developer Console 应用

要点:完整集成步骤。

配置并发布 AIP Chatbot 后,你可以创建并配置一个 Developer Console 应用程序,以便在自定义应用程序中与该 AIP Chatbot 交互。

若要让你在 Developer Console 应用程序能够使用平台 API 与你的 AIP Chatbot 交互,请按照创建新的 Developer Console 应用程序中的步骤,创建一个可访问 Platform SDK 资源的新 SDK 应用程序:

若要从 Ontology SDK 应用程序中使用 AIP Chatbot,你必须将该 AIP Chatbot 配置为仅使用来自单个 Ontology 的对象类型、action 类型或 function 类型。

  1. Resources 页面上,选择你的 AIP Chatbot 所使用的 Ontology,然后选择你的 AIP Chatbot 配置中所使用的所有对象类型、action 类型和 function 类型。请确保选择用于 application state 的类型,以及为你的 AIP Chatbot 配置的所有工具和 retrieval context 所使用的类型。
  2. 接下来,选择 Platform SDK 标签页。在 Projects access 下,添加包含你的 AIP Chatbot 的项目。若要查找 AIP Chatbot 所属的项目,请在 Chatbot Studio 中打开该 AIP Chatbot,并查看页眉中 AIP Chatbot 名称旁边的文件系统路径详情。
  3. 如果你的 AIP Chatbot 配置为使用任何其他文件系统资源,例如用于 document context 的媒体集,请确保这些资源与你的 AIP Chatbot 在同一个项目中,或者将这些资源所属的所有其他项目添加到 Projects access 部分。
使用 Platform SDK 标签页为你的 AIP Chatbot 添加项目。
使用 Platform SDK 标签页为你的 AIP Chatbot 添加项目。
  1. 最后,在 Client allowed operations 表格中为 AIP Chatbots API 启用相关操作。若要查看不同 AIP Chatbot 平台 API 所需的操作,请参阅平台 API 文档。

若要允许你的 Developer Console 应用程序在 AIP Chatbot 的对话会话中创建并发送消息,你必须启用 AIP Chatbots write permission

在 Client allowed operations 表格中启用 AIP Chatbot API 操作。
在 Client allowed operations 表格中启用 AIP Chatbot API 操作。
  1. 请参阅 Developer Console 文档中的步骤,以审查并完成应用程序的创建。

Update an AIP Chatbot used in Developer Console applications

一旦你配置好了一个 Developer Console 应用程序,允许其通过 Platform SDK 资源与 AIP Chatbot 交互,那么当你的 AIP Chatbot 所使用的任何 Ontology 或平台资源被修改时,你都需要更新该应用程序。

例如,如果你向 AIP Chatbot 添加了任何新的对象类型、action 类型或 function 类型,你必须在 Developer Console 中将这些类型添加到你的应用程序的 Ontology SDK 资源中。同样地,如果你向 AIP Chatbot 添加了任何平台资源,例如用于 document context retrieval 的额外媒体集,你必须将这些资源添加到你的应用程序的 Platform SDK 资源中。当 AIP Chatbot 所使用的资源类型发生变化时,Developer Console 应用程序资源不会自动更新。

Create conversations with AIP Chatbots in custom applications

若要开始引导创建一个新应用程序,请参阅 TypeScriptPython 的文档示例,或将 SDK 添加到现有应用程序

创建好应用程序后,使用 Create Session 平台 API 与你的 AIP Chatbot 创建一个新对话。

AIP Chatbots 的 Sessions API 要求你指定 AIP Chatbot 的 agentRid,以用于对话会话交互。 <br><br> 你可以通过打开你的 AIP Chatbot 所在的项目,选择该 AIP Chatbot,然后在文件概览中的 Metadata 下使用 RID 的 Copy to clipboard 选项来找到它。 <br><br>

从 AIP Chatbot 文件详情中复制 AIP Chatbot RID,以配合平台 API 使用。
从 AIP Chatbot 文件详情中复制 AIP Chatbot RID,以配合平台 API 使用。

创建新会话后,使用返回响应中的 sessionRid 值向 AIP Chatbot 发送新消息,并使用 Blocking continue sessionStreaming continue session 平台 API 获取回复。使用阻塞式 API 等待在 AIP Chatbot 的回复完全生成后一次性收到完整回复,或使用流式 API 在 AIP Chatbot 的答案文本生成过程中接收其流。

你可以使用 Get Session API 加载某个会话的对话元数据,并使用 Get Content API 加载某个会话的交换历史(你的应用程序发送的消息和来自 AIP Chatbot 的回复)。

你可以使用 Get Session Trace API 检索 AIP Chatbot 所执行的步骤序列,这对于调试或理解该聊天机器人的推理过程很有用。该端点需要一个 sessionTraceId,你可以通过以下两种方式获得:

请参阅平台 API 文档,了解如何在你目标应用程序语言中使用这些 API 的代码示例。

延伸阅读 · 相关页面

按主题横向跳转,不必顺着目录一篇篇读。

本组其他页面 · AIP Chatbot Studio(做对话机器人)

同一主题下的相邻内容。