可记忆上下文的对话API上线

2024-08-26 12:02   广东  

以下文章来源于 LinkAI ,作者:「LinkAI开发者平台」


API 简介

Link.AI 已为开发者提供了调用智能体能力的 对话API,可在第三方系统和服务中使用 Link.AI 应用智能体和工作流智能体的能力。

在使用普通对话 API 时,开发者需要在每次请求时传入会话的对象和上下文,以实现智能体的“记忆”功能,从而实现多轮对话。

相比普通对话 API,在v2.6.8版本中发布的记忆对话 API 能够原生支持开发者在应用/工作流中设置的记忆功能。开发者无需自行维护上下文记忆并通过 messages 参数传递,只需传入用户问题和身份标识即可,由系统按用户维度对上下文记忆进行维护,从而实现长期记忆下的多轮对话。

API 能力介绍

记忆对话 API 的核心能力即为帮助开发者自动保留会话对象的上下文历史;其次,记忆对话 API 同样兼容了 Link.AI 的各项原生能力:

  • 支持通过绑定应用工作流,从而使用其包含的知识库插件等能力

  • 支持根据应用或工作流中的记忆轮次和时间的配置对用户维度的记忆进行维护

  • 支持一键切换所有支持的大模型

  • 支持流式/非流式输出

  • 支持多模态输入/输出,可输入文字、图片;输出文字、图片、视频、文件

API 接口定义

请求示例

{    "app_code": "G7z6vKwp",    "query": "你好",    "session_id": "123e4567-e89b-12d3-a456-426614174000"}

注:

1. app_code:需换成你自己创建应用、工作流code,或公开在Link.AI应用广场中应用的code。

2. session_id:一般为对用户身份的唯一标识,例如可将业务系统中用户ID、手机号等信息加密后传入。若该字段不传,系统将自动生成一个唯一ID并在响应中返回,下次对话时可携带该字段。

响应结果

非流式响应

{    "session_id": "123e4567-e89b-12d3-a456-426614174000",    "choices": [        {            "index": 0,            "message": {                "role": "assistant",                "content": "你好,请问有什么可以帮助您的吗?"            }        }    ],    "usage": {        "prompt_tokens": 9,        "completion_tokens": 17,        "total_tokens": 26    }}

注:

1. 接口调用默认为非流式响应,会在所有内容生成完毕后一次性返回。

2. choices.message.content 中为AI的响应内容,usage 部分 prompt_tokens、completion_tokens、total_tokens 分别表示请求的token数、响应的token数、全部消耗的token数。

流式响应

data: {"choices": [{"index": 0, "delta": {"content": "你好!"}, "finish_reason": null}], "session_id": "123e4567-e89b-12d3-a456-426614174000"}
data: {"choices": [{"index": 0, "delta": {"content": "我能"}, "finish_reason": null}], "session_id": "123e4567-e89b-12d3-a456-426614174000"}
data: {"choices": [{"index": 0, "delta": {"content": "为你"}, "finish_reason": null}], "session_id": "123e4567-e89b-12d3-a456-426614174000"}
data: {"choices": [{"index": 0, "delta": {"content": "做些什么?"}, "finish_reason": null}], "session_id": "123e4567-e89b-12d3-a456-426614174000"}
data: {"choices": [{"index": 0, "delta": {}, "finish_reason": "stop", "usage": {"prompt_tokens": 9, "completion_tokens": 6, "total_tokens": 15}}], "session_id": "123e4567-e89b-12d3-a456-426614174000"}
data: [DONE]

注:

1. 流式调用需要将传入参数 stream 设置为 true,将会在模型不断生成内容的过程中实时返回,适用于网页、APP、小程序等调用端进行流式输出。

2. 当输出为 "[DONE]" 时表示输出结束,其中每一行数据都会携带 session_id 字段。

当通过 app_code 参数指定了应用时,可在应用管理页面中对 记忆轮次和保留时间 进行配置,同时会话记忆将按照 应用+会话ID 维度进行隔离存储,即同一个 session_id会在不同应用中有独立的上下文记忆:

在应用配置中设置应用的记忆

当通过 app_code 参数指定了工作流时,系统将维护整个工作流的输入/输出记忆,可在大模型或应用节点中开启记忆并指定记忆的轮次:

在工作流编排中设置AI节点的记忆


其他说明

接口文档

点击查看 记忆对话 API 文档,可详细了解接口定义(接口地址、请求头、请求体、错误说明和示例代码等)和进行在线调试。

计费说明

Link.AI 根据资源容量、功能权益、服务支持的不同,划分为 基础版、标准版、专业版 和 企业版 四个不同的版本,为不同需求的客户提供可选择的订阅服务,可点击查看 计费规则
另外,本文介绍的记忆对话 API 为 Link.AI 标准版及以上支持的功能。

咨询反馈

如有问题或建议,欢迎扫码添加客服微信,期待您的反馈:


💡 关注我们,第一时间获取平台更新及相关资讯。



点个“在看”吧!▼

LinkAI平台
LinkAI是领先的一站式AI Agent搭建平台,零代码快速构建企业级AI智能体,并一键发布至渠道。link-ai.tech