aardio 文档

web.rest.aiDecision 库模块帮助文档

接口说明

AI 结构化决策客户端

web.rest.aiDecision 按接口能力命名,与 web.rest.aiChat 对应,但不继承聊天协议。 实现 OpenRouter Decisions 协议,不限定模型厂商;目标模型与服务必须支持该协议。 Jev 仅作为可覆盖的默认模型,不代表本库支持任意聊天模型。

web.rest.aiDecision 调用 OpenRouter Decisions 接口:

questions 的各项可直接写为 {type="noul";instructions="是否紧急?"}, 也可简写为 ["noul","是否紧急?"] 或 [type,instructions,criteria]。 evaluate 调用前统一将数组简写转换为协议对象,不改变调用者的数据;原生对象保留所有字段。 声明问题不会发送请求,只有调用 evaluate 才会请求模型。

» 使用指南

web.rest 成员列表 #

web.rest.aiDecision #

AI 结构化决策客户端。
用于调用 System One 决策模型,兼容 OpenRouter Decisions 协议。
输入 state 与 typed questions,返回结构化 answers;model 可指定兼容的决策模型。

web.rest.aiDecision() #

返回对象:webRestAiDecisionObject

web.rest.aiDecision(cfg) #

创建 AI Decisions 客户端。
参数可选指定 key,model,url,headers 等字段的配置表
默认 model 为 ~typesafe/jev-latest,默认 url 为 https://openrouter.ai/api/alpha/decisions ,两者均可覆盖。

webRestAiDecisionObject 成员列表 #

webRestAiDecisionObject._http #

inet.http客户端,用于执行 http 请求

返回对象:inetHttpObject

webRestAiDecisionObject.answer(response,questionId) #

从响应中安全读取指定问题的答案。

webRestAiDecisionObject.ask(state,questions,model) #

evaluate 的别名。

webRestAiDecisionObject.buildPayload(request) #

完整请求表补充默认模型并转换问题数组简写;保留其他协议字段。

webRestAiDecisionObject.buildPayload(state,questions,model) #

构造请求体但不发送请求。
将 questions 中的数组简写转换为协议对象,不改变调用者数据;简写格式错误返回 null,err。

webRestAiDecisionObject.close() #

关闭对象释放资源

webRestAiDecisionObject.config #

自定义的 API 配置表。
默认指向创建对象时指定的表参数。

webRestAiDecisionObject.decisions(state,questions,model) #

evaluate 的别名。

webRestAiDecisionObject.defaultHeaders #

替换所有请求默认添加的HTTP头
请求结束时不会清空此属性
该值可以是一个字符串,也可以是键值对组成的table对象

webRestAiDecisionObject.evaluate(request) #

传入完整请求表调用 Decisions 接口。

webRestAiDecisionObject.evaluate(state,questions,model) #

调用 Decisions 接口。
questions 为问题 ID 到问题声明的表,各项支持原生对象或 [type,instructions[,criteria]] 数组简写,可混用。
model 可省略;成功返回原始响应,失败返回 null,err[,errCode]。

webRestAiDecisionObject.extraHeaders #

设置每次请求都附加的 HTTP 请求头,可在构造参数表中指定初始值。
此属性值可以是 web.joinHeaders 函数支持的字符串、表(数组、键值对)

webRestAiDecisionObject.extraParameters #

指定附加到所有请求参数中的默认参数。
该值应当是一个表,请求参数指定表对象时或为null才会附加 extraParameters。
使用 Responses 协议时,input、instructions、store、stream、background、conversation、previous_response_id 为内部事务字段,不允许由附加参数覆盖。

webRestAiDecisionObject.extraUrlParameters #

指定附加到所有请求 URL 的默认参数。
该值可以是一个表或字符串。
表参数使用 inet.url.stringifyParameters 转换为字符串。
表中的值如果是函数则每次请求都调用该函数取值

webRestAiDecisionObject.get(网址,参数表) #

使用该GET方法提交请求,获取资源
请求参数将会自动转换为URL附加参数,
请求参数可以指定表或字符串,如果是表请求前会转换为字符串
成功返回数据,失败返回空值,错误信息,错误代码

webRestAiDecisionObject.lastRequestUrl #

获取最后一次请求的 URL。
允许的 beforeRequestHeaders 事件中修改此属性以改变请求地址。

webRestAiDecisionObject.lastResponse() #

获取最后一次服务器返回的数据,流式调用时此函数返回值无意义。
如果控制台已打开或在开发环境中导入 console 库则在控制台输出数据
下载文件时该值为空

webRestAiDecisionObject.lastResponseError() #

返回服务器最后一次返回的错误响应,并转换为错误对象。
与调用 API 时转换响应数据一样,支持相同的服务器响应格式 。
如果错误来自本地(lastStatusCode 属性为 null)则此函数返回 null 。
如果最后一次发生请求成功,则此函数返回 null 。

如果在参数 @1 中指定返回字段,且错误对象包含该字段则使用直接下标获取并返回字段值。
获取字段失败返回 null 而非抛出异常

webRestAiDecisionObject.lastResponseObject() #

获取最后一次服务器返回的对象(已将响应文本解析为对象),
如果是 SSE 流式调用,返回最后一次接受的包含 token 计数的对象
请求失败,或者下载文件时此属性值为空。

webRestAiDecisionObject.lastResponseString() #

获取最后一次服务器返回的原始数据,流式调用时此函数返回值无意义。
请求失败,或者下载文件时此属性值为空

webRestAiDecisionObject.lastStatusCode #

获取最近一次请求返回的HTTP状态码
100 ~ 101 为信息提示
200 ~ 206 表示请求成功
300 ~ 305 表示重定向
400 ~ 415 表求客户端请求出错
500 ~ 505 表示服务端错误

webRestAiDecisionObject.lastStatusMessage() #

获取最近返回的HTTP状态码文本描述
第二个返回值为状态码

webRestAiDecisionObject.noulValue(response,questionId) #

读取 Noul 答案的 yes 概率。

webRestAiDecisionObject.ok() #

最后一次请求是否成功
服务器应答并且状态码为2XX该函数返回真

webRestAiDecisionObject.post(网址,参数表) #

使用该POST方法提交请求,新增或修改资源
请求参数可以指定表或字符串,如果是表请求前会转换为字符串
成功返回数据,失败返回空值,错误信息,错误代码

webRestAiDecisionObject.referer #

引用页地址。
如果此属性指定了一个值,则每次请求都会使用该引用页。
如果不指定,每次请求都会自动设置上次请求的网址为引用页。
这个属性不像 inet.http 对象的 referer 属性那样每次请求结束都会清空。

webRestAiDecisionObject.setHeaders #

设置所有请求默认添加的HTTP头

webRestAiDecisionObject.setHeaders(headers) #

参数 @headers 必须指定一个表中,
用该表中的键值对更新 defaultHeaders 属性中的键值
如果addHeaders的原属性值不是一个表,则先清空该属性

webRestAiDecisionObject.setTimeouts(连接超时,请求超时,接收超时) #

设置超时,以亳秒为单位(1秒为1000毫秒)。
默认设置为连接超时=15000,请求超时=30000,接收超时=600000 ,适合非流式调用。
对于流式调用建议显示修改为 连接超时=15000,请求超时=30000,接收超时=60000 。
流式接口接收间隔较短,并且通常有心跳保活措施,接收超时不宜过大。
但部分模型将加密思考内容仅发送摘要间隔较慢,因此接收超时也不宜过小。

webRestAiDecisionObject.systemOne(state,questions,model) #

evaluate 的别名。

Markdown 格式