aardio 文档

aardio 范例: 调用结构化决策模型

使用指南 | 更多可用模型与排行请参考

//调用结构化决策模型
//使用指南: https://www.aardio.com/zh-cn/docs/library/web/rest/aiDecision/index.html

import web.rest.aiDecision;

var client = web.rest.aiDecision({ 
    key = "sk-or-v1-********"; // 省略则从环境变量 AI_DECISION_API_KEY 读取密钥。
    model = "inception/mercury-decide";
});
/*
model 指定为  `~typesafe/jev-latest`) 则仅支持英文
更多可用模型与排行请参考 https://openrouter.ai/rankings/decisions?view=day#top-models
*/

if(!#client.config.key){
    print("请先设置环境变量 AI_DECISION_API_KEY,或在客户端配置中填写自己的 key。");
    return;
}

//协议字段与类型名保持原样;问题、选项和待判断内容使用中文。
var questions = {
    department = ["choice", "这条工单应由哪个团队处理?", {
        ["财务"] = "付款、发票和退款问题";
        ["技术"] = "软件故障、服务中断和系统集成问题";
        ["销售"] = "价格咨询、套餐升级和购买意向";
        ["其他"] = "不属于以上类别或信息不足";
    }];
    urgent = ["noul", "这条工单是否需要立即处理?"];
    severity = ["score", "当前问题对业务造成的影响有多严重?", [
        "轻微影响,主要功能正常",
        "部分功能受影响,业务仍可继续",
        "核心业务完全中断,无法继续工作"
    ]];
};

var result,err,errCode = client.evaluate({
    state = { //state 可以指定字符串,也可以指定为表对象(自动转 JSON)
         //mercury-decide 上下文较大,可选指定知识库,注意多数决策模型上下文很小。
        // knowledge_base = $"~/docs/guide/ide/system-prompt.md";
        message = "生产系统从今天早上起完全无法登录,所有员工都无法开展工作,请立即修复!";
    };
    questions = questions;
});

if(!result){
    print("请求失败:",err,errCode);
    return;
}

print("实际模型:",result.model);
print("负责团队:",result.answers.department.choice);
print("需要立即处理的概率:",result.answers.urgent.noul);
print("业务影响评分(0~2):",result.answers.severity.score);
print("输入、输出用量:",result.usage.input_tokens,result.usage.output_tokens);

//评分按等级数组从 0 编号,可能为小数;不等于 aardio 数组的下标。
//如需 Jev,可显式选用 ~typesafe/jev-latest;仅保留兼容,其中文支持较差。
//换模型后要重新评估业务阈值,不要把模型输出直接当作不可撤销操作的授权。

Markdown 格式