Skip to content
English

ModelRequest ​

KIT · interface · 类型合同

A normalized /chat/completions request, produced by snapshotRequest.

Optional undefined fields have already been dropped and stream is already defaulted, so rules always observe the same shape regardless of whether the caller used generate or the injected fetch.

导入 ​

ts
import type { ModelRequest } from '@jangts/agent-core/mock';
js
/** @typedef {import('@jangts/agent-core/mock').ModelRequest} ModelRequest */

其他公开入口:@jangts/agent-core/mock。

定义 ​

ts
interface ModelRequest

字段结构 ​

字段类型必需说明
modelstring必需只读。Model identifier; required, non-empty, and compared verbatim by Rule.model.
messagesreadonly Readonly<{ [key: string]: unknown; role: string; content?: unknown; tool_calls?: unknown; tool_call_id?: string; }>[]必需只读。Non-empty conversation; the last user message supplies the default prompt.
streamboolean必需只读。Whether the codec should emit SSE; defaulted to false during normalization.
toolsreadonly unknown[] | undefined可省略只读。Tool schemas declared by the client; only the array shape is validated.
stream_optionsReadonly<{ include_usage?: boolean; }> | undefined可省略只读。include_usage: true appends a terminal usage-only chunk to the stream.

索引结构 ​

字段类型必需说明
[key: string]unknown必需只读。索引项。

使用示例 ​

编码已校验的模型结果 ​

扩展 · Node.js

适配器负责请求校验、首包前延迟和生命周期;编码器不执行规则或修改 MockGPT 调用记录。

ts
import { encodeModelResponse } from '@jangts/agent-core/mock';
const controller = new AbortController();
const response = encodeModelResponse(
  { model: 'demo', messages: [{ role: 'user', content: '状态' }], stream: false },
  { content: '服务在线。' }, 'mock-1', 1700000000, controller.signal,
  (error, cancelled) => console.log({ error, cancelled }),
);
console.log(await response.json());
js
import { encodeModelResponse } from '@jangts/agent-core/mock';
const controller = new AbortController();
const response = encodeModelResponse({ model: 'demo', messages: [{ role: 'user', content: '状态' }], stream: false }, { content: '服务在线。' }, 'mock-1', 1700000000, controller.signal, (error, cancelled) => console.log({ error, cancelled }));
console.log(await response.json());

从输入生成可检查的摘要 ​

入门 · Node.js

ts
import { MockGPT, generators } from '@jangts/agent-core/mock';
const mock = new MockGPT({ rules: [{ generator: generators.summary({ maxChars: 120, count: 2 }) }] });
console.log(await mock.generate({ model: 'demo', messages: [{ role: 'user', content: '服务刚完成维护。健康检查通过。用户可以查询状态。' }] }));
console.log(mock.records);
js
import { MockGPT, generators } from '@jangts/agent-core/mock';
const mock = new MockGPT({ rules: [{ generator: generators.summary({ maxChars: 120, count: 2 }) }] });
console.log(await mock.generate({ model: 'demo', messages: [{ role: 'user', content: '服务刚完成维护。健康检查通过。用户可以查询状态。' }] }));
console.log(mock.records);

相关定义 ​

接口参考、使用示例与开发指南。