ModelPrepareRequest
CORE · interface · 类型合同
Transport selection for prepare; omitted fields take the runner defaults.
导入
ts
import type { ModelPrepareRequest } from '@jangts/agent-core/model';js
/** @typedef {import('@jangts/agent-core/model').ModelPrepareRequest} ModelPrepareRequest */其他公开入口:@jangts/agent-core、@jangts/agent-core/model、@jangts/agent-core/types、@jangts/agent-core/structs。
定义
ts
interface ModelPrepareRequest<Transport>泛型参数
| 类型参数 | 约束 | 默认类型 |
|---|---|---|
Transport | — | string |
字段结构
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
stageId | string | undefined | 可省略 | 只读。见类型定义及调用场景。 |
transport | Transport | undefined | 可省略 | 只读。见类型定义及调用场景。 |
maxOutputTokens | number | undefined | 可省略 | 只读。见类型定义及调用场景。 |
使用示例
- 实际请求测量与同次准备快照:需要提前处理上下文时才 prepare;多次测量与最终发送复用同一次传输准备。
普通调用仍然只有 invoke
入门 · Node.js
ts
import { ModelRunner } from '@jangts/agent-core/model';
const provider = {
async *stream(messages: readonly { content: string }[]) {
yield '收到:' + messages.at(-1)!.content;
},
};
const runner = new ModelRunner({ provider });
console.log((await runner.invoke('你好')).value);js
import { ModelRunner } from '@jangts/agent-core/model';
const provider = {
async *stream(messages) {
yield '收到:' + messages.at(-1).content;
},
};
const runner = new ModelRunner({ provider });
console.log((await runner.invoke('你好')).value);只在需要测量时准备一次
配置 · Node.js
ts
import { ModelRunner } from '@jangts/agent-core/model';
const provider = {
async *stream(messages: readonly { content: string }[]) {
yield '收到:' + messages.at(-1)!.content;
},
};
const runner = new ModelRunner({ provider, maxInputChars: 1000 });
const prepared = runner.prepare({ stageId: 'reply', maxOutputTokens: 400 });
const input = '你好,解释这次服务状态';
console.log(prepared.measure(input));
const result = await runner.invoke({ input, prepared });
console.log(result.value);js
import { ModelRunner } from '@jangts/agent-core/model';
const provider = {
async *stream(messages) {
yield '收到:' + messages.at(-1).content;
},
};
const runner = new ModelRunner({ provider, maxInputChars: 1000 });
const prepared = runner.prepare({ stageId: 'reply', maxOutputTokens: 400 });
const input = '你好,解释这次服务状态';
console.log(prepared.measure(input));
const result = await runner.invoke({ input, prepared });
console.log(result.value);