@aalis/api-llm 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/index.d.ts +15 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -9
package/README.md
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -50,7 +50,7 @@ export interface ChatStreamChunk {
|
|
|
50
50
|
export interface ModelInfo {
|
|
51
51
|
id: string;
|
|
52
52
|
/**
|
|
53
|
-
* Capability
|
|
53
|
+
* Capability 字符串数组,取自 model handle 的 `instance.capabilities` 元数据。使用宽松的 string[]
|
|
54
54
|
* 而不是 LLMCapability[],便于跨插件共享(自定义 capability 也能照常上送给前端)。
|
|
55
55
|
*/
|
|
56
56
|
capabilities: string[];
|
|
@@ -82,16 +82,15 @@ export interface ChatModelRequest {
|
|
|
82
82
|
/**
|
|
83
83
|
* 单个 LLM model 的 service entry。
|
|
84
84
|
*
|
|
85
|
-
* 一个 LLM provider 插件实例(如 plugin-llm-openai
|
|
86
|
-
* 在 apply() 期间为**每个 model 单独**调用 `
|
|
85
|
+
* 一个 LLM provider 插件实例(如 plugin-llm-openai)按其发现的模型列表,
|
|
86
|
+
* 在 apply() 期间为**每个 model 单独**调用 `provide(llm, modelHandle, { entryId })`,
|
|
87
87
|
* model handle 上的 capabilities 字段诚实地反映该 model 的能力。
|
|
88
88
|
*
|
|
89
89
|
* 调用约定:
|
|
90
|
-
* const handle = resolveLLMModel(
|
|
90
|
+
* const handle = resolveLLMModel(llm, ref, ['vision'])?.instance;
|
|
91
91
|
* await handle?.chat({ messages }); // entry 已知道是哪个 model
|
|
92
92
|
*
|
|
93
|
-
*
|
|
94
|
-
* 或 persona.yaml 的 defaultServices 配置(见 plugin-author-guide §11)。
|
|
93
|
+
* 选择默认 model:`services.prefer('llm', '<provider>/<model>')` 或宿主配置的 `servicePreferences`。
|
|
95
94
|
*/
|
|
96
95
|
export interface LLMModel {
|
|
97
96
|
/** model id(provider 内唯一,如 'gpt-4o')。来源:provider plugin 注册时填入。 */
|
|
@@ -119,10 +118,12 @@ export interface LLMModel {
|
|
|
119
118
|
*
|
|
120
119
|
* - **远端动态发现型** provider(Ollama / OpenAI)应实现:重新拉取模型列表端点(如 `{baseUrl}/models`)等
|
|
121
120
|
* 并合并 `customModels`、按 model id 增删 `'llm'` entries。
|
|
122
|
-
* - **静态契约型** provider(如 DeepSeek
|
|
123
|
-
*
|
|
124
|
-
* - 同一 provider 下所有 model entries 共享同一份 refresh 闭包;webui 按 contextId
|
|
125
|
-
*
|
|
121
|
+
* - **静态契约型** provider(如 DeepSeek)可不实现。webui 的"刷新"按钮照常显示,对没有 refresh 的
|
|
122
|
+
* provider 由 webui-server 返回 404,提示该 provider 不支持运行时刷新。
|
|
123
|
+
* - 同一 provider 下所有 model entries 共享同一份 refresh 闭包;webui 按 provider 的 contextId(即各 entry 的
|
|
124
|
+
* `providerId`,不是 entry 自己的 contextId `<provider>/<model>`)找到该 provider 的任一 entry,调一次即可。
|
|
125
|
+
* - **失败语义**:发现失败(不可达、超时、非 2xx、响应不是 JSON 或不是模型列表)时抛错,消息带原因;已注册的
|
|
126
|
+
* entries 原样保留、不增删——不得把失败当成远端没有模型而注销自动发现的条目。经停用或停机中止时同样抛错。
|
|
126
127
|
*/
|
|
127
128
|
refresh?(): Promise<{
|
|
128
129
|
added: string[];
|
|
@@ -157,15 +158,15 @@ export declare const LLMCapabilities: {
|
|
|
157
158
|
declare module '@aalis/schema-config' {
|
|
158
159
|
interface SchemaFieldTypes {
|
|
159
160
|
/**
|
|
160
|
-
* LLM
|
|
161
|
+
* LLM 模型引用:值为 {@link ModelRef},前端渲染为
|
|
161
162
|
* 联动 select(provider 列表来自 `/api/models/llm` 的 contextId 聚合;
|
|
162
163
|
* model 列表由所选 provider 决定)。运行时由消费方用
|
|
163
|
-
* `resolveLLMModel(
|
|
164
|
+
* `resolveLLMModel(llm, value, caps)` 解析。parseConfig 不校验这个类型的取值,除 `''`(未选)外原样透传。
|
|
164
165
|
*/
|
|
165
|
-
'llm-ref':
|
|
166
|
+
'llm-ref': ModelRef;
|
|
166
167
|
}
|
|
167
168
|
}
|
|
168
|
-
/**
|
|
169
|
+
/** 一个 'llm' entry 的快照(ServiceRef.all() 所返 ServiceView 的 instance/contextId/label 子集)。 */
|
|
169
170
|
export interface LLMModelEntry {
|
|
170
171
|
instance: LLMModel;
|
|
171
172
|
contextId: string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB;;;;;;WAMG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,sDAAsD;QACtD,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB;;;;;;WAMG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,sDAAsD;QACtD,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAUD,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,QAAQ;IACvB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sCAAsC;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,aAAa,EAAE,CAAC;IAEhD,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACvD,UAAU,CAAC,CAAC,OAAO,EAAE,gBAAgB,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;IAEvE;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5E;AAID,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,cAAc,CAAC;IAC5B,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;IACf,6CAA6C;IAC7C,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,2DAA2D;IAC3D,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,qBAAqB,CAAC,CAAC;AAE/E,eAAO,MAAM,eAAe;;;;;;;;;CASc,CAAC;AAM3C,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,gBAAgB;QACxB;;;;;WAKG;QACH,SAAS,EAAE,QAAQ,CAAC;KACrB;CACF;AAID,yFAAyF;AACzF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAYD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,EAC5B,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;CAAE,GACzC,aAAa,EAAE,CAEjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,EAC5B,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,EACrB,YAAY,CAAC,EAAE,aAAa,EAAE,GAC7B,aAAa,GAAG,SAAS,CAM3B;AAGD,eAAO,MAAM,GAAG,yEAAiC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -51,7 +51,6 @@ export function resolveLLMModel(source, ref, requiredCaps) {
|
|
|
51
51
|
return all.find(e => e.instance.id === ref.model);
|
|
52
52
|
return all[0];
|
|
53
53
|
}
|
|
54
|
-
// ----- 服务类型注册(declaration merging)-----
|
|
55
54
|
// ----- 服务描述符(按激活绑定;调用型:绑定接口是 ServiceRef)-----
|
|
56
55
|
export const llm = defineService('llm');
|
|
57
56
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,EAAE;AACF,yBAAyB;AACzB,kCAAkC;AAIlC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,EAAE;AACF,yBAAyB;AACzB,kCAAkC;AAIlC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAoK5C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,cAAc;IAC3B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,kBAAkB,EAAE,qBAAqB;IACzC,KAAK,EAAE,OAAO;CAC0B,CAAC;AAsC3C;;;GAGG;AACH,SAAS,cAAc,CAAC,MAA4B,EAAE,IAA+B;IACnF,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAC3C,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,MAA4B,EAC5B,IAA0C;IAE1C,OAAO,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAC7B,MAA4B,EAC5B,GAAqB,EACrB,YAA8B;IAE9B,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,IAAI,GAAG,EAAE,QAAQ,IAAI,GAAG,EAAE,KAAK;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACtG,IAAI,GAAG,EAAE,QAAQ;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACpF,IAAI,GAAG,EAAE,KAAK;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC;AAED,+CAA+C;AAC/C,MAAM,CAAC,MAAM,GAAG,GAAG,aAAa,CAAW,KAAK,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/api-llm",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -19,20 +19,17 @@
|
|
|
19
19
|
"dist"
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@aalis/schema-message": ">=0.
|
|
23
|
-
"@aalis/api-tools": ">=0.
|
|
24
|
-
"@aalis/schema-config": ">=0.
|
|
22
|
+
"@aalis/schema-message": ">=0.9.0 <1.0.0",
|
|
23
|
+
"@aalis/api-tools": ">=0.10.0 <1.0.0",
|
|
24
|
+
"@aalis/schema-config": ">=0.14.0 <1.0.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^22.0.0",
|
|
28
28
|
"typescript": "^5.7.0",
|
|
29
|
-
"@aalis/core": "0.
|
|
30
|
-
},
|
|
31
|
-
"aalis": {
|
|
32
|
-
"types": true
|
|
29
|
+
"@aalis/core": "0.19.1"
|
|
33
30
|
},
|
|
34
31
|
"peerDependencies": {
|
|
35
|
-
"@aalis/core": ">=0.
|
|
32
|
+
"@aalis/core": ">=0.18.0 <1.0.0"
|
|
36
33
|
},
|
|
37
34
|
"keywords": [
|
|
38
35
|
"aalis",
|