CompletionRequestFacts
SUPPORT · interface · 类型合同
Facts the provider reads from the request it actually sends.
functions reports the Core call options and keeps the default policy equivalent to the behavior that existed before policies were configurable. toolChoice is the effective field of the serialized body, so a host override, or a field dropped for being undefined, is visible exactly as the upstream receives it.
导入
ts
import type { CompletionRequestFacts } from '@jangts/agent-core/support';js
/** @typedef {import('@jangts/agent-core/support').CompletionRequestFacts} CompletionRequestFacts */其他公开入口:@jangts/agent-core/support、@jangts/agent-core/support/model。
定义
ts
interface CompletionRequestFacts字段结构
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
functions | boolean | 必需 | 只读。Whether the call declared native functions through Core options. |
toolChoice | unknown | 可省略 | 只读。Effective tool_choice of the request body; an absent field reads as undefined. |
allowEmptyText | boolean | 必需 | 只读。Whether an empty response is allowed because JSON mode permits it. |
使用示例
- 兼容 Provider 与自定义 Provider:Support 负责常见 Chat Completions HTTP/SSE 生命周期;App 可替换为自己的 ChatProvider。
真实服务端配置接入常见协议
入门 · Node.js
运行此例需要提供可用模型服务的连接配置。
ts
import { ModelRunner, Support } from '@jangts/agent-core';
const provider = new Support.CompatibleModelProvider({ config: {
baseUrl: process.env.MODEL_BASE_URL!, apiKey: process.env.MODEL_API_KEY!, model: process.env.MODEL_NAME!,
} });
const runner = new ModelRunner({ provider });
console.log((await runner.invoke('你好')).value);js
import { ModelRunner, Support } from '@jangts/agent-core';
const provider = new Support.CompatibleModelProvider({ config: {
baseUrl: process.env.MODEL_BASE_URL, apiKey: process.env.MODEL_API_KEY, model: process.env.MODEL_NAME,
} });
const runner = new ModelRunner({ provider });
console.log((await runner.invoke('你好')).value);直连工具线程的声明字段与 wire 映射
配置 · Node.js
只演示消息转换,无网络请求或工具执行。原始 tool_calls、tool_call_id 和宿主附加数据不透传。
ts
import { Support } from '@jangts/agent-core';
const messages: Support.ProviderMessage[] = [
{ role: 'user', content: '查询资料' },
{ role: 'assistant', content: '', toolCalls: [
{ id: 'call-1', name: 'lookup', arguments: '{"query":"资料"}' },
] },
{ role: 'tool', content: '{"found":true}', toolCallId: 'call-1' },
];
console.log(Support.chatCompletionMessages(messages));js
import { Support } from '@jangts/agent-core';
const messages = [
{ role: 'user', content: '查询资料' },
{ role: 'assistant', content: '', toolCalls: [
{ id: 'call-1', name: 'lookup', arguments: '{"query":"资料"}' },
] },
{ role: 'tool', content: '{"found":true}', toolCallId: 'call-1' },
];
console.log(Support.chatCompletionMessages(messages));