aardio 文档

web.rest.aiChat.messages 库模块帮助文档

web.rest.aiChat.messages 成员列表 #

web.rest.aiChat.messages.mergeContext(prompt, context, source) #

合并上下文到参数 @prompt 指定的用户提示词。
所有参数与返回值都是字符串。
可选用参数 @source 指定资料来源或网址。

返回格式为一个或多个 XML 标签 context + user_request 标签组合。
每个 user_request 前面必须至少有一个 context,context 后面的 user_request 是可选的。
所有非空白字符必须被包围在 context 与 user_request 之内。
web.rest.aiChat.messages 对象的 context 方法自动调用此函数。
参数 context 包含的 XML 标签 context 或 user_request 总是会被转义处理。

web.rest.aiChat.messages.mergePrompt(prompt, request) #

如果两个都符合或不符合 mergeContext 函数返回的格式,
则直接连接参数 @prompt 与 @request (以换行分隔)。
如果仅其中一个符合 mergeContext 格式,另一个将会被转义并置入 user_request 标签
web.rest.aiChat.messages 对象的 prompt 方法自动调用此函数。

web.rest.aiChat 成员列表 #

web.rest.aiChat.messages() #

创建 AI 聊天助手消息队列。
可选用参数 @1 指定初始化消息数组。
可以在界面线程单独创建与管理消息队列,
然后再通过线程参数发给后台线程的 web.rest.aiChat 对象。

返回对象:webRestChatMessagesObject

webRestChatMessagesObject 成员列表 #

webRestChatMessagesObject.aardioSystem #

自动创建 aardio 编程助手系统提示词。
除函数自带的基本的 aardio 助手提示词以外,EXE 目录下必须存在待添加的文档。

webRestChatMessagesObject.aardioSystem(prompt,cacheControl) #

增加 aardio 编程助手提示词(如果已添加则忽略)。
如果指定参数 prompt 则追加到系统提示词(不检测之前是否已添加过)。

@cacheControl 为可选参数,仅 anthropic 协议与个别其他接口可支持此参数。
@cacheControl 指定为 true 自动转为 { "type": "ephemeral" }
请参考 anthropic 文档谨慎指定此参数。

webRestChatMessagesObject.aardioSystemPrompt #

是否自动附加了 aardio 编程助手系统提示词。
不可手动修改此属性。

webRestChatMessagesObject.assistant(增量文本) #

显示并记录 AI 接口返回的增量文本。
参数必须是文本或者表示输出完成的 null 值。

webRestChatMessagesObject.clear() #

清除会话记录。

webRestChatMessagesObject.context(context,source) #

在最后一个用户消息前添加上下文资料(文档、知识库、联网查询结果)。
连续添加的 context 会自动合并。
之前或之后调用 prompt 添加的用户提示词与 context 会自动合并。
必须用参数 @context 指定要添加的资料(字符串)。
可选用参数 @source 指定资料来源或网址。

webRestChatMessagesObject.findSystem(模式串) #

使用模式匹配语法查找消息队列中是否存在指定的系统提示词

webRestChatMessagesObject.lastAssistantMessage() #

获取 AI 最后一次返回的消息,如果没有则返回 null。
无参数返回包含 content 字段的表对象。
参数 @1 为 true 返回 content 字段(通常是 Markdown 格式字符串)

webRestChatMessagesObject.lastUserMessage() #

如果最后一条是用户消息则返回该消息,返回返回 null 。

webRestChatMessagesObject.limit #

可选指定一个限制消息队列大小的数值。
limit 限制的队列大小不包含第一个系统提示词与最后一个系统提示词。

webRestChatMessagesObject.prompt #

添加提示词,连续调用 prompt 或 context 会自动合并。
成功返回添加的消息对象。

所有用法里,参数 @3(@cacheControl) 都是可选参数,
仅 anthropic 协议与个别其他接口可支持 @cacheControl 参数。
@cacheControl 指定为 true 自动转为 { "type": "ephemeral" }
请参考 anthropic 文档谨慎指定此参数。

webRestChatMessagesObject.prompt(content,,cacheControl) #

添加用户提示词。
content 可以是字符串,也可以是对象数组。
请参考调用模型与接口的文档了解支持的对象格式。

webRestChatMessagesObject.prompt(txtContent,bitmap,cacheControl) #

添加 @txtContent 参数指定的用户提示词(文本)。
可选使用参数 @bitmap 指定 gdip.bitmap 或 gdip.image 对象

webRestChatMessagesObject.prompt(txtContent,imageBufferOrPath,cacheControl) #

添加 @txtContent 参数指定的用户提示词(文本)。
可选用 @imageBufferOrPath 指定图像数据(必须是 buffer 对象),
支持 JPG,PNG,GIF,WEBP 格式图像。

注意请参考接口文档以了解调用模型是否支持图像识别。

如果 @imageBufferOrPath 使用字符串指定文件路径则调用 string.loadBuffer 读取为 buffer。

webRestChatMessagesObject.prompt(txtContent,imageUrl,cacheControl) #

添加用户 @txtContent 参数指定的用户提示词(文本)。
可选用 @imageUrl 指定图像网址(通常不支持远程网址),
本地图像可调用 inet.urlData 转换为 Data URL(Base64) 格式。
注意请参考接口文档了解调用模型是否支持图像识别。

webRestChatMessagesObject.push() #

添加消息对象。
参数 @1 可指定包含 role,content 字段的表或字符串。
如果指定字符串参数,则他和丰田与调用 assistant 方法相同。
一般不应直接调用此函数,此函数不会自动合并 context / user 消息。

webRestChatMessagesObject.started() #

是否已经发起对话。
发起对话指的是消息队列中包含非 system 角色的消息。

webRestChatMessagesObject.system(prompt,cacheControl) #

添加系统提示词。
系统提示词总是会放在其他角色的消息之前。
系统提示词不应存放过于频繁变动的内容。
临时的动态的知识库应当改用 context 方法添加。
消息上限不计算系统提示词。

@cacheControl 为可选参数,仅 anthropic 协议与个别其他接口可支持此参数。
@cacheControl 指定为 true 自动转为 { "type": "ephemeral" }
请参考 anthropic 文档谨慎指定此参数。

webRestChatMessagesObject.url() #

获取参数 @1 指定网址的内容并转换为 Markdown 格式或者文本格式提示词。
参数 @1 也可以指定包含 url 字段的对象,或这样的对象数组。
参数为 包含 url 字段的对象时如果同时包含 text 字段,则直接自 text 字段获取网页文本。
如果参数 @1 指定数组参数,则将所有数组成员作为参数获取目标内容。
如果参数为空数组、空字符串、null 则返回 null。

可选用参数 @2 指定每个 URL 返回内容的最大字节数(默认为 64000),超过设定的页面将被忽略。

成功返回添加的提示词,失败返回 null,错误信息 。

如果提前导入 web.turndown 库则支持自动转换 HTML 为 Markdown 格式文本。

Markdown 格式