unhardcoded
发出初始请求

快速入门

将 SDK 指向托管服务,附加一条策略,并读取返回的追踪记录。

从现有 SDK 到带追踪记录的路由决策,只需四步。无需硬编码模型名称——决策以策略的形式随请求一同传递。

  1. 将 SDK 指向托管服务。
    unhardcoded 兼容 OpenAI 接口。将 baseURL 改为你的托管服务地址,SDK 的其余部分保持不变。
    client.ts
    import OpenAI from "openai";
    
    const client = new OpenAI({
      baseURL: "https://<your-host>/v1",  // your reference host, or the managed host
      apiKey: process.env.UNHARDCODED_KEY,
    });
  2. 构建策略并随调用一同发送。
    在后端生成 policy_ir,并将其附加到 create()model 字段仅作为追踪记录的分组标签使用,路由由附加的策略决定,因此填写任意字符串均可。
    route.ts
    // built in your backend, at request time, a plain JSON term
    const policy_ir = [
      "policy",
      ["and", ["meets_req"], ["not", ["is", "disabled"]], ["has_cap", "supports_tools"],
             ["cmp", "bench_intelligence", "ge", 0.5]],  // filter
      ["neg", ["normalize", ["field", "price_out"]]],          // cheapest survivor
      ["argmax"], ["id"],
      ["always", { "action": "next_candidate" }],
    ];
    
    const res = await client.chat.completions.create({
      model: "policy:support",  // free-form trace label, not a route
      policy_ir,
      messages,
    });
  3. 托管服务对调用进行路由。
    它对策略进行验证并生成指纹(fingerprint),在实时目录中评估策略,然后通过你自己的提供商密钥运行通过筛选的成本最低模型。
  4. 读取追踪记录。
    响应中除完成内容外,还附带 trace:包括选定的模型、经排序和拒绝的候选模型,以及策略指纹(fingerprint)。
    response · trace (illustrative)
    {
      "chosen": { "model_family": "deepseek-v4-pro", "price_out": 1.5 },
      "trace": {
        "policy_fingerprint": "301140696-1054914287",
        "rejected": [{ "model_family": "deepseek-v4-flash", "reason": "cmp bench_intelligence ge 0.5" }],
        "total_latency_ms": 425
      }
    }
本地运行。 MIT 许可的参考托管服务及可运行示例均随公开仓库一同发布。以下文档所描述的格式与语义即为该托管服务的实现规范,因此所有内容均可在你自己的目录下复现。
← 返回文档