@aid-framework/runtime

中文文档
0.1.98发布于 2026/11/03Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 1万

TypeScript 的 AID 运行时间:被绑定-模型网关,即时注册,工具发送,管道,结构输出,eval门和检索.

中文使用文档
文档目录12 节
  1. 安装
  2. 快开始
  3. 管道
  4. 包裹里有什么
  5. 定型和能力检查
  6. 决定不是聊天
  7. Evals 统计大门,而不是平等
  8. 检索
  9. 明确的限制
  10. API 密码
  11. 相关软件包
  12. 许可证

@aid-framework/runtime

类型脚本运行时间 AID 框架: 图书馆 a 运行时生成应用程序调用 。 固定一个模型,运行一个快速,呼叫一个工具,追踪它, 留在预算, 并证明质量没有倒退.

生成代码为薄胶. 这就是行为存在的地方,这就是为什么它是人类的正常依赖 生成了应用程序, 不是编译器的一部分 .

安装

npm install @aid-framework/runtime

要求节点.js 24或更新. 船舶作为无害环境管理,包括类型脚本申报. zod 用于结构化输出和 没有别的了.

快开始

一个网关解决了标定模型的别名,执行预算,记录成本,并打开每个呼叫的间隔:

import {
  Budget, ModelGateway, OpenAICompatibleProvider, PinnedModel,
} from '@aid-framework/runtime';

const gateway = new ModelGateway({
  providers: {
    'openai-compatible': new OpenAICompatibleProvider({ apiKey: process.env.OPENAI_API_KEY }),
  },
  aliases: {
    small: new PinnedModel({
      alias: 'small',
      spec: {
        name: 'gpt-4o-2024-08-06',
        provider: 'openai-compatible',
        contextWindow: 128_000,
        maxOutputTokens: 4_096,
        cost: { inputPer1kUsd: 0.0025, outputPer1kUsd: 0.01 },
      },
    }),
  },
  budget: new Budget({ maxUsd: 5, scope: 'nightly' }),
});

const result = await gateway.generate('small', { prompt: 'hello' });

result.text;
result.usage;
result.costUsd;
result.attempts;  // every alias tried, in order
result.fellBack;

一个别名可以解决一个精确的,被钉住的模型 ID. 这不是化妆品:一个基线记录与 gpt-4o 如果别名漂浮到下一次运行的后期快照,则无意义. 因此,一个未知的别名引起 UnknownModelAliasError 而不是倒向提供者违约.

管道

控制流量为平版ASync TypeScript. 没有图形引擎和管弦乐框架:一个生成的应用程序 是普通代码,容易读取, 步入和测试.

import { Pipeline, PipelineContext } from '@aid-framework/runtime';

const pipeline = new Pipeline([
  { name: 'load', run: (ctx) => ctx.withValues({ question: ctx.require('request').question }) },
  { name: 'answer', run: async (ctx) => ({ answer: await ask(ctx.require('question')) }) },
]);

const result = await pipeline.run(new PipelineContext({ request }));

PipelineContext 不可改变 get 编号 : require 编号 : withValues - 所以一步不能变异 什么早先的一步 观察到,一个失败的运行状态 仍然可以检查。 每一步都在自己的跨度中运行;一个会丢出终止的跨度 与原错误连锁运行; StopPipeline 是支持的提前退出。 管道拒绝空的 或建筑上的重复命名步骤列表.

综合步骤 - branch, (中文(简体) ), parallel, (中文(简体) ), mapStep, (中文(简体) ), reduceStep ——作为阶地建造者提供,范围有: 筑巢(MAX_STEP_DEPTH) (中文(简体) ).

包裹里有什么

区域出口页:1
类型Message, (中文(简体) ), ModelSpec, (中文(简体) ), PinnedModel, (中文(简体) ), TokenUsage, (中文(简体) ), CompletionRequest, (中文(简体) ), CompletionResponse, (中文(简体) ), Capability词汇表,其他的都被输入了
错误AidRuntimeError 和25个子类一个基地,所以一个应用 捕捉框架拒绝在一个地方
网关ModelGateway, (中文(简体) ), estimateUsage固定化名、能力谈判、命令后退、预算飞行前
供应商OpenAICompatibleProvider, (中文(简体) ), FakeProvider, (中文(简体) ), supports一个HTTP适配器,一个确定性的假,加上 Provider 协议
决定DecisionClient, (中文(简体) ), DecisionQuestion, (中文(简体) ), decisionKeyTypeSafe AI (Jev) 键入的决定 : choice, (中文(简体) ), score,以及 noul 答题
费用Budget, (中文(简体) ), CostLedger, (中文(简体) ), estimateCostUsd预调执行、逐笔分类账分录、支出摘要
追踪getTracer, (中文(简体) ), llmSpan, (中文(简体) ), recordUsage, (中文(简体) ), recordCost, (中文(简体) ), recordExceptionOTel GenAI 语义公约; AID 值为空格 aid.*
提示PromptRegistry, (中文(简体) ), PromptTemplate, (中文(简体) ), Example版本登记册、打字、几发装配
工具Tool, (中文(简体) ), ToolExecutor, (中文(简体) ), validateArgumentsSchema - 验证了 JSON-Schema 子集的发送
结构化产出buildAgent, (中文(简体) ), parseStructured, (中文(简体) ), runStructured, (中文(简体) ), repairPrompt在 Zod 计划上进行解析/修复循环
管道Pipeline, (中文(简体) ), PipelineContext, (中文(简体) ), StopPipeline, (中文(简体) ), branch, (中文(简体) ), parallel, (中文(简体) ), mapStep, (中文(简体) ), reduceStep在不可改变的上下文中递减
货币ConcurrencyLimiter, (中文(简体) ), holdsSlot包括综合步骤在内的飞行中定界工作
政策evaluatePolicy, (中文(简体) ), Principal, (中文(简体) ), POLICY_BUILTINS工具自动表达式, 已关闭
代理循环agents/*原生回路:转接对代表,预算,分解,内存,HITL检查站
爱德华Dataset, (中文(简体) ), EvalCase, (中文(简体) ), runEvaluation, (中文(简体) ), BaselineGate, (中文(简体) ), EvalBaselineN 运行的采样和统计门
计量ExactMatch, (中文(简体) ), NormalizedContains, (中文(简体) ), JsonSchemaValid, (中文(简体) ), LlmJudge加号 defaultMetrics 财务报告和审定财务报表 metricNames
检索Retriever, (中文(简体) ), RetrievalGate, (中文(简体) ), chunkDocument, (中文(简体) ), openConnector, (中文(简体) ), createStore, (中文(简体) ), fuse连接器、块器、嵌入器、存储器、混合搜索、重排、引用

定型和能力检查

gateway.require(alias, capabilities) 检查 两者 侧-模型宣布的能力和 适配器的串行能力——并返回被钉住的模型. 一个支持工具调用后面的模型 不序列化工具定义的适配器不能调用工具,而且 CapabilityMismatchError 名称是什么 而不是后来在提供者中失败.

generate(alias, request, { fallbacks }) 尝试别名,然后每个倒置 顺序退缩 命令,不附带条件,以及 result.attempts 报告实际尝试过的东西.

决定不是聊天

DecisionClient 拨打 Safe AI 的 Jev (POST /v1/systemone),它需要状态加打出的问题和 返回已键入的答案,而不是表达式。 故意不进去 providers/: 每个提供方都有地图 消息到文本,而Jev没有文本表面,所以管道不能选择它作为写出答案的模型.

import { DecisionClient, DecisionQuestion } from '@aid-framework/runtime';

const client = new DecisionClient();
const response = await client.decide({
  model: 'jev-1.14.0',
  state: { message },
  questions: {
    triage: new DecisionQuestion({
      type: 'choice',
      instructions: 'Which team should handle this',
      criteria: ['billing', 'technical'],
    }),
  },
});
response.answers.triage?.choice;

关键是 TYPESAFE_API_KEY (Vercel的拼写, TYPESAFE_AI_API_KEY(a) 接受; TYPESAFE_BASE_URL 覆盖主机 。 两个规则比看起来更重要:a noul 回答带 noul 财务报告和审定财务报表 没有信心 全部字段,因此一个信任分支必须拒绝,而不是默认为零 decide({ ..., reproducible: true }) 拒绝移动的别名 jev-latest 财务报告和审定财务报表 jev-preview,这是什么 eval评分需要。 只有429/529被重审,荣誉 retry-after。 。 。 .

Evals 统计大门,而不是平等

一个模型是 预期 因此,一个衡量标准 对比两个运行 平等要么总是红色,要么 测量什么也没有。 非决定主义是大门建造来容忍的财产:

import { BaselineGate, runEvaluation, ExactMatch, defaultMetrics } from '@aid-framework/runtime';

const run = await runEvaluation(dataset, runner, defaultMetrics(), { runs: 5 });
const verdict = new BaselineGate(thresholds).evaluate(run, baseline);

verdict.passed;
verdict.metrics; // per-metric z-score, allowance and outcome

runEvaluation 运行者样本 N倍数 并报告每一次运行的计量手段,所以一次不幸运行不会 决定判决. EvalBaseline.fromRun(run) 存储样本数、平均值和分布; 门 比较单侧正常测试。 一公尺的通行证 minMean,通过留在内部 maxRegression 或只在取样噪声范围内进行回落.

LlmJudge 被执行而从未要求使用 CI : 取决于内部一个非决定性呼叫的门 你试图信任的门 是设计所避免的问题.

算术与 Python 运行时间完全吻合—— 相同的 z 临界表, 相同的基线比较, 相同的 同样的抽样语义——因为每个语言的门的统计不同,会让TypeScript 回归通过 Python 基线 .

检索

retrieval/* 由IR驱动 : bindingFromSpec(retriever, { embedding, store }) 折叠IR的 retrievers, (中文(简体) ), embeddings 财务报告和审定财务报表 stores 输入为 1 RetrieverBinding,哪个a Retriever 然后摄入和搜索.

Chunk ids是内容散列的,所以重新摄取同一种输入产生同一种ids和没有op diff. FakeDeterministicEmbedder 与摇摆128和 chunkIdFor 与SHA-256, 这是允许检索的 门在CI运行 没有网络和密钥.

RetrievalMetric (单位:千美元)RecallAtK, (中文(简体) ), MeanReciprocalRank, (中文(简体) ), CitationGrounding)是独立于 Metric, (中文(简体) ), 因为检索得分 a 检索集 而不是单弦。 检索是通过 RetrievalGate.sample(...) 变成标准 EvalRun 以不变者判断 BaselineGate。 。 。 .

明确的限制

  • 已宣布未实施流程. Capability 包括它,这样一个spec可以要求它和一个构建时间 门可以检查; 呼叫 ModelGateway.stream 筹集 FeatureDeferredError。运输是 只有请求/答复.
  • 一个HTTP供应商和一个假货. 供应商覆盖面的宽度是后来关切的一个问题;狭义、正确的接缝是: 价值超过一个宽浅的.
  • PgVectorStore 需要活着 vector 扩展并不会由 CI 行使; 内存商店带有 存储测试,两者共享相同 VectorStore 礼宾和 similarity 语义.

API 密码

完整的表面是包名的导出;上方的表格是地图. 蓄意的不对称 python 运行时间是 providers/fake.ts,其准确性来自SHA-256散列 seed:index:prompt 而不是CPython的Mersenne Twister, 因为弦播种有一个CPython 执行细节,无便携式等同物。 画图仍然是决定性的,每个调用都不同 索引,即闸门所依赖的属性.

许可证

阿帕奇 - 2.0。由 AID 框架生成的代码是 不受该许可证的限制.

版本与发布记录

@aid-framework/runtime 共发布 52 个版本,首次发布于 2026/10/31;过去 12 个月发布了 52 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.1.98latest2026/11/032 天前
0.1.972026/11/032 天前
0.1.962026/11/033 天前
0.1.952026/11/033 天前
0.1.942026/11/033 天前
0.1.932026/11/033 天前

关于 @aid-framework/runtime 的常见问题

@aid-framework/runtime 是什么?

TypeScript 的 AID 运行时间:被绑定-模型网关,即时注册,工具发送,管道,结构输出,eval门和检索.

如何安装 @aid-framework/runtime?

在项目目录运行 npm install @aid-framework/runtime,或使用 pnpm add / yarn add / bun add。

@aid-framework/runtime 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aid-framework/runtime 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@aid-framework/runtime 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@aid-framework/runtime 可以商用吗?

@aid-framework/runtime 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@aid-framework/runtime 的下载量有多少?

根据 npm 官方下载统计,@aid-framework/runtime 在 2026/10/06 – 2026/11/04 这 30 天内被下载 10,061 次,日均约 335 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aid-framework/runtime 还在维护吗?

最新版本 0.1.98 发布于 2026/11/03(2 天前);至今共发布 52 个版本,其中过去 12 个月发布了 52 个;首次发布于 2026/10/31。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。