@easbot/local-model-sdk 0.1.3 → 0.1.11

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/dist/index.d.cts CHANGED
@@ -1,4 +1,5 @@
1
- import { LanguageModelV2, EmbeddingModelV2, LanguageModelV2CallOptions, LanguageModelV2StreamPart } from '@ai-sdk/provider';
1
+ import { LanguageModel, EmbeddingModel, RerankingModel, Provider } from 'ai';
2
+ import { LanguageModelV3StreamPart, LanguageModelV3GenerateResult, LanguageModelV3, LanguageModelV3FinishReason, LanguageModelV3CallOptions, EmbeddingModelV3, EmbeddingModelV3CallOptions, EmbeddingModelV3Result, RerankingModelV3 } from '@ai-sdk/provider';
2
3
 
3
4
  declare enum ErrorCode {
4
5
  MODEL_NOT_FOUND = "MODEL_NOT_FOUND",
@@ -24,7 +25,7 @@ interface LocalModelProviderConfig {
24
25
  maxCachedModels?: number;
25
26
  memoryWarningThreshold?: number;
26
27
  useEnhancedModel?: boolean;
27
- logPath?: string;
28
+ logDir?: string;
28
29
  logLevel?: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
29
30
  }
30
31
  interface LanguageModelConfig {
@@ -64,25 +65,27 @@ interface GenerateOptions {
64
65
  stopSequences: string[];
65
66
  abortSignal?: AbortSignal;
66
67
  }
67
- interface GenerateResult {
68
- text: string;
69
- finishReason: 'stop' | 'length' | 'error';
68
+ interface LocalGenerateResult {
69
+ content: string;
70
+ finishReason: LanguageModelV3FinishReason;
70
71
  usage: {
71
72
  promptTokens: number;
72
73
  completionTokens: number;
73
74
  totalTokens: number;
74
75
  };
75
76
  }
76
- interface GenerateChunk {
77
+ interface LocalGenerateChunk {
77
78
  type: 'text-delta' | 'text-end' | 'finish';
78
- textDelta?: string;
79
- finishReason?: 'stop' | 'length' | 'error';
79
+ delta?: string;
80
+ finishReason?: LanguageModelV3FinishReason;
80
81
  usage?: {
81
82
  promptTokens: number;
82
83
  completionTokens: number;
83
84
  totalTokens: number;
84
85
  };
85
86
  }
87
+ type GenerateResult = LanguageModelV3GenerateResult;
88
+ type GenerateChunk = LanguageModelV3StreamPart;
86
89
  interface ModelInfo {
87
90
  modelId: string;
88
91
  modelType: 'language' | 'embedding';
@@ -92,6 +95,12 @@ interface ModelInfo {
92
95
  }
93
96
  declare const SUPPORTED_LANGUAGE_MODELS: Record<string, LanguageModelConfig>;
94
97
  declare const SUPPORTED_EMBEDDING_MODELS: Record<string, EmbeddingModelConfig>;
98
+ interface RerankingModelOptions {
99
+ llm?: LanguageModelV3;
100
+ totalScore?: number;
101
+ useEnhancedPrompt?: boolean;
102
+ promptLanguage?: 'zh' | 'en';
103
+ }
95
104
 
96
105
  declare class LocalModelProvider {
97
106
  private readonly config;
@@ -101,27 +110,29 @@ declare class LocalModelProvider {
101
110
  constructor(config?: LocalModelProviderConfig);
102
111
  languageModel(modelId: string, options?: {
103
112
  useEnhancedModel?: boolean;
104
- }): LanguageModelV2;
105
- textEmbeddingModel(modelId: string): EmbeddingModelV2<string>;
113
+ }): LanguageModel;
114
+ embeddingModel(modelId: string): EmbeddingModel;
106
115
  chat(modelId: string, options?: {
107
116
  useEnhancedModel?: boolean;
108
- }): LanguageModelV2;
117
+ }): LanguageModel;
118
+ rerankingModel(modelId: string, options?: RerankingModelOptions): RerankingModel;
109
119
  private getOrCreateEngine;
110
120
  private evictLeastRecentlyUsed;
111
121
  getLoadedModels(): ModelInfo[];
112
122
  dispose(): Promise<void>;
113
123
  }
114
- interface LocalProvider {
124
+ interface LocalProvider extends Provider {
115
125
  (modelId: string, options?: {
116
126
  useEnhancedModel?: boolean;
117
- }): LanguageModelV2;
127
+ }): LanguageModel;
118
128
  languageModel(modelId: string, options?: {
119
129
  useEnhancedModel?: boolean;
120
- }): LanguageModelV2;
130
+ }): LanguageModel;
121
131
  chat(modelId: string, options?: {
122
132
  useEnhancedModel?: boolean;
123
- }): LanguageModelV2;
124
- textEmbeddingModel(modelId: string): EmbeddingModelV2<string>;
133
+ }): LanguageModel;
134
+ embeddingModel(modelId: string): EmbeddingModel;
135
+ rerankingModel(modelId: string, options?: RerankingModelOptions): RerankingModel;
125
136
  }
126
137
  declare function createLocal(config?: LocalModelProviderConfig): LocalProvider;
127
138
 
@@ -135,16 +146,16 @@ declare class TransformersEngine {
135
146
  private configureEnvironment;
136
147
  initialize(): Promise<void>;
137
148
  private extractAssistantResponse;
138
- generate(prompt: string, options: GenerateOptions): Promise<GenerateResult>;
139
- generateStream(prompt: string, options: GenerateOptions, callback: (chunk: GenerateChunk) => void): Promise<void>;
149
+ generate(prompt: string, options: GenerateOptions): Promise<LocalGenerateResult>;
150
+ generateStream(prompt: string, options: GenerateOptions, callback: (chunk: LocalGenerateChunk) => void): Promise<void>;
140
151
  embed(texts: string[], abortSignal?: AbortSignal): Promise<number[][]>;
141
152
  countTokens(texts: string[]): Promise<number>;
142
153
  dispose(): Promise<void>;
143
154
  isReady(): boolean;
144
155
  }
145
156
 
146
- declare class LocalLanguageModel implements LanguageModelV2 {
147
- readonly specificationVersion: "v2";
157
+ declare class LocalLanguageModel implements LanguageModelV3 {
158
+ readonly specificationVersion: "v3";
148
159
  readonly provider: string;
149
160
  readonly modelId: string;
150
161
  readonly defaultObjectGenerationMode: "json";
@@ -152,13 +163,24 @@ declare class LocalLanguageModel implements LanguageModelV2 {
152
163
  private readonly engine;
153
164
  private readonly modelConfig;
154
165
  constructor(provider: string, modelId: string, engine: TransformersEngine);
166
+ generate(options: LanguageModelV3CallOptions): Promise<any>;
167
+ stream(options: LanguageModelV3CallOptions): Promise<{
168
+ stream: ReadableStream<LanguageModelV3StreamPart>;
169
+ fullStream: AsyncIterable<LanguageModelV3StreamPart>;
170
+ request: {
171
+ body: string;
172
+ };
173
+ response: {
174
+ headers?: Record<string, string>;
175
+ };
176
+ }>;
155
177
  private convertToQwenFormat;
156
- doGenerate(options: LanguageModelV2CallOptions): Promise<any>;
157
- doStream(options: LanguageModelV2CallOptions): Promise<any>;
178
+ doGenerate(options: LanguageModelV3CallOptions): Promise<any>;
179
+ doStream(options: LanguageModelV3CallOptions): Promise<any>;
158
180
  }
159
181
 
160
- declare class LocalEnhancedLanguageModel implements LanguageModelV2 {
161
- readonly specificationVersion: "v2";
182
+ declare class LocalEnhancedLanguageModel implements LanguageModelV3 {
183
+ readonly specificationVersion: "v3";
162
184
  readonly provider: string;
163
185
  readonly modelId: string;
164
186
  readonly defaultObjectGenerationMode: "json";
@@ -168,10 +190,21 @@ declare class LocalEnhancedLanguageModel implements LanguageModelV2 {
168
190
  private readonly engine;
169
191
  private readonly modelConfig;
170
192
  constructor(provider: string, modelId: string, engine: TransformersEngine);
171
- doGenerate(options: LanguageModelV2CallOptions): Promise<any>;
172
- doStream(options: LanguageModelV2CallOptions): Promise<{
173
- stream: ReadableStream<LanguageModelV2StreamPart>;
174
- fullStream: AsyncIterable<LanguageModelV2StreamPart>;
193
+ generate(options: LanguageModelV3CallOptions): Promise<any>;
194
+ stream(options: LanguageModelV3CallOptions): Promise<{
195
+ stream: ReadableStream<LanguageModelV3StreamPart>;
196
+ fullStream: AsyncIterable<LanguageModelV3StreamPart>;
197
+ request: {
198
+ body: string;
199
+ };
200
+ response: {
201
+ headers?: Record<string, string>;
202
+ };
203
+ }>;
204
+ doGenerate(options: LanguageModelV3CallOptions): Promise<any>;
205
+ doStream(options: LanguageModelV3CallOptions): Promise<{
206
+ stream: ReadableStream<LanguageModelV3StreamPart>;
207
+ fullStream: AsyncIterable<LanguageModelV3StreamPart>;
175
208
  request: {
176
209
  body: string;
177
210
  };
@@ -181,18 +214,8 @@ declare class LocalEnhancedLanguageModel implements LanguageModelV2 {
181
214
  }>;
182
215
  }
183
216
 
184
- interface EmbedRequest {
185
- values: string[];
186
- abortSignal?: AbortSignal;
187
- }
188
- interface EmbedResponse {
189
- embeddings: number[][];
190
- usage: {
191
- tokens: number;
192
- };
193
- }
194
- declare class LocalEmbeddingModel implements EmbeddingModelV2<string> {
195
- readonly specificationVersion: "v2";
217
+ declare class LocalEmbeddingModel implements EmbeddingModelV3 {
218
+ readonly specificationVersion: "v3";
196
219
  readonly provider: string;
197
220
  readonly modelId: string;
198
221
  readonly maxEmbeddingsPerCall: number;
@@ -200,7 +223,106 @@ declare class LocalEmbeddingModel implements EmbeddingModelV2<string> {
200
223
  private readonly engine;
201
224
  private readonly modelConfig;
202
225
  constructor(provider: string, modelId: string, engine: TransformersEngine);
203
- doEmbed(params: EmbedRequest): Promise<EmbedResponse>;
226
+ doEmbed(options: EmbeddingModelV3CallOptions): Promise<EmbeddingModelV3Result>;
227
+ }
228
+
229
+ declare class LocalRerankingModel implements RerankingModelV3 {
230
+ readonly specificationVersion: "v3";
231
+ readonly provider = "local";
232
+ readonly modelId: string;
233
+ private languageModel;
234
+ private options;
235
+ private log;
236
+ constructor(modelId: string, config: LocalModelProviderConfig, engine: TransformersEngine, options?: RerankingModelOptions);
237
+ doRerank(options: {
238
+ query: string;
239
+ documents: {
240
+ type: 'text';
241
+ values: string[];
242
+ } | {
243
+ type: 'object';
244
+ values: Array<{
245
+ content: string;
246
+ id?: string;
247
+ }>;
248
+ };
249
+ topN?: number;
250
+ abortSignal?: AbortSignal;
251
+ providerOptions?: any;
252
+ headers?: Record<string, string>;
253
+ }): Promise<{
254
+ ranking: Array<{
255
+ index: number;
256
+ relevanceScore: number;
257
+ }>;
258
+ providerMetadata?: any;
259
+ warnings?: Array<{
260
+ type: 'other';
261
+ message: string;
262
+ }>;
263
+ response?: {
264
+ id?: string;
265
+ timestamp?: Date;
266
+ modelId?: string;
267
+ headers?: Record<string, string>;
268
+ body?: unknown;
269
+ };
270
+ }>;
271
+ private buildRerankPrompt;
272
+ private parseRerankResult;
273
+ }
274
+
275
+ interface LLMRerankingModelOptions extends RerankingModelOptions {
276
+ modelOptions?: {
277
+ temperature?: number;
278
+ maxTokens?: number;
279
+ };
280
+ }
281
+ declare class LLMRerankingModel implements RerankingModelV3 {
282
+ readonly specificationVersion: "v3";
283
+ readonly provider: string;
284
+ readonly modelId: string;
285
+ private readonly languageModel;
286
+ private readonly options;
287
+ private readonly log;
288
+ constructor(modelId: string, languageModel: LanguageModelV3, options?: LLMRerankingModelOptions);
289
+ doRerank(options: {
290
+ query: string;
291
+ documents: {
292
+ type: 'text';
293
+ values: string[];
294
+ } | {
295
+ type: 'object';
296
+ values: Array<{
297
+ content: string;
298
+ id?: string;
299
+ }>;
300
+ };
301
+ topN?: number;
302
+ abortSignal?: AbortSignal;
303
+ providerOptions?: any;
304
+ headers?: Record<string, string>;
305
+ }): Promise<{
306
+ ranking: Array<{
307
+ index: number;
308
+ relevanceScore: number;
309
+ }>;
310
+ providerMetadata?: any;
311
+ warnings?: Array<{
312
+ type: 'other';
313
+ message: string;
314
+ }>;
315
+ response?: {
316
+ id?: string;
317
+ timestamp?: Date;
318
+ modelId?: string;
319
+ headers?: Record<string, string>;
320
+ body?: unknown;
321
+ };
322
+ }>;
323
+ private extractTextContent;
324
+ private buildRerankPrompt;
325
+ private parseRerankResult;
204
326
  }
205
327
 
206
328
  declare class LocalModelError extends Error {
@@ -221,4 +343,4 @@ declare const VERSION = "0.1.0";
221
343
  declare const SDK_NAME = "@easbot/local-model-sdk";
222
344
  declare const SDK_DESCRIPTION = "Complete local model SDK for EASBot - Transformers.js + ONNX implementation";
223
345
 
224
- export { type EmbeddingModelConfig, ErrorCode, ErrorHandler, type GenerateChunk, type GenerateOptions, type GenerateResult, type LanguageModelConfig, type LanguageModelSettings, LocalEmbeddingModel, LocalEnhancedLanguageModel, LocalLanguageModel, LocalModelError, LocalModelProvider, type LocalModelProviderConfig, type LocalProvider, type ModelCacheConfig, type ModelInfo, SDK_DESCRIPTION, SDK_NAME, SUPPORTED_EMBEDDING_MODELS, SUPPORTED_LANGUAGE_MODELS, type TransformersEngineConfig, VERSION, createLocal };
346
+ export { type EmbeddingModelConfig, ErrorCode, ErrorHandler, type GenerateChunk, type GenerateOptions, type GenerateResult, LLMRerankingModel, type LLMRerankingModelOptions, type LanguageModelConfig, type LanguageModelSettings, LocalEmbeddingModel, LocalEnhancedLanguageModel, LocalLanguageModel, LocalModelError, LocalModelProvider, type LocalModelProviderConfig, type LocalProvider, LocalRerankingModel, type ModelCacheConfig, type ModelInfo, type RerankingModelOptions, SDK_DESCRIPTION, SDK_NAME, SUPPORTED_EMBEDDING_MODELS, SUPPORTED_LANGUAGE_MODELS, type TransformersEngineConfig, VERSION, createLocal };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { LanguageModelV2, EmbeddingModelV2, LanguageModelV2CallOptions, LanguageModelV2StreamPart } from '@ai-sdk/provider';
1
+ import { LanguageModel, EmbeddingModel, RerankingModel, Provider } from 'ai';
2
+ import { LanguageModelV3StreamPart, LanguageModelV3GenerateResult, LanguageModelV3, LanguageModelV3FinishReason, LanguageModelV3CallOptions, EmbeddingModelV3, EmbeddingModelV3CallOptions, EmbeddingModelV3Result, RerankingModelV3 } from '@ai-sdk/provider';
2
3
 
3
4
  declare enum ErrorCode {
4
5
  MODEL_NOT_FOUND = "MODEL_NOT_FOUND",
@@ -24,7 +25,7 @@ interface LocalModelProviderConfig {
24
25
  maxCachedModels?: number;
25
26
  memoryWarningThreshold?: number;
26
27
  useEnhancedModel?: boolean;
27
- logPath?: string;
28
+ logDir?: string;
28
29
  logLevel?: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
29
30
  }
30
31
  interface LanguageModelConfig {
@@ -64,25 +65,27 @@ interface GenerateOptions {
64
65
  stopSequences: string[];
65
66
  abortSignal?: AbortSignal;
66
67
  }
67
- interface GenerateResult {
68
- text: string;
69
- finishReason: 'stop' | 'length' | 'error';
68
+ interface LocalGenerateResult {
69
+ content: string;
70
+ finishReason: LanguageModelV3FinishReason;
70
71
  usage: {
71
72
  promptTokens: number;
72
73
  completionTokens: number;
73
74
  totalTokens: number;
74
75
  };
75
76
  }
76
- interface GenerateChunk {
77
+ interface LocalGenerateChunk {
77
78
  type: 'text-delta' | 'text-end' | 'finish';
78
- textDelta?: string;
79
- finishReason?: 'stop' | 'length' | 'error';
79
+ delta?: string;
80
+ finishReason?: LanguageModelV3FinishReason;
80
81
  usage?: {
81
82
  promptTokens: number;
82
83
  completionTokens: number;
83
84
  totalTokens: number;
84
85
  };
85
86
  }
87
+ type GenerateResult = LanguageModelV3GenerateResult;
88
+ type GenerateChunk = LanguageModelV3StreamPart;
86
89
  interface ModelInfo {
87
90
  modelId: string;
88
91
  modelType: 'language' | 'embedding';
@@ -92,6 +95,12 @@ interface ModelInfo {
92
95
  }
93
96
  declare const SUPPORTED_LANGUAGE_MODELS: Record<string, LanguageModelConfig>;
94
97
  declare const SUPPORTED_EMBEDDING_MODELS: Record<string, EmbeddingModelConfig>;
98
+ interface RerankingModelOptions {
99
+ llm?: LanguageModelV3;
100
+ totalScore?: number;
101
+ useEnhancedPrompt?: boolean;
102
+ promptLanguage?: 'zh' | 'en';
103
+ }
95
104
 
96
105
  declare class LocalModelProvider {
97
106
  private readonly config;
@@ -101,27 +110,29 @@ declare class LocalModelProvider {
101
110
  constructor(config?: LocalModelProviderConfig);
102
111
  languageModel(modelId: string, options?: {
103
112
  useEnhancedModel?: boolean;
104
- }): LanguageModelV2;
105
- textEmbeddingModel(modelId: string): EmbeddingModelV2<string>;
113
+ }): LanguageModel;
114
+ embeddingModel(modelId: string): EmbeddingModel;
106
115
  chat(modelId: string, options?: {
107
116
  useEnhancedModel?: boolean;
108
- }): LanguageModelV2;
117
+ }): LanguageModel;
118
+ rerankingModel(modelId: string, options?: RerankingModelOptions): RerankingModel;
109
119
  private getOrCreateEngine;
110
120
  private evictLeastRecentlyUsed;
111
121
  getLoadedModels(): ModelInfo[];
112
122
  dispose(): Promise<void>;
113
123
  }
114
- interface LocalProvider {
124
+ interface LocalProvider extends Provider {
115
125
  (modelId: string, options?: {
116
126
  useEnhancedModel?: boolean;
117
- }): LanguageModelV2;
127
+ }): LanguageModel;
118
128
  languageModel(modelId: string, options?: {
119
129
  useEnhancedModel?: boolean;
120
- }): LanguageModelV2;
130
+ }): LanguageModel;
121
131
  chat(modelId: string, options?: {
122
132
  useEnhancedModel?: boolean;
123
- }): LanguageModelV2;
124
- textEmbeddingModel(modelId: string): EmbeddingModelV2<string>;
133
+ }): LanguageModel;
134
+ embeddingModel(modelId: string): EmbeddingModel;
135
+ rerankingModel(modelId: string, options?: RerankingModelOptions): RerankingModel;
125
136
  }
126
137
  declare function createLocal(config?: LocalModelProviderConfig): LocalProvider;
127
138
 
@@ -135,16 +146,16 @@ declare class TransformersEngine {
135
146
  private configureEnvironment;
136
147
  initialize(): Promise<void>;
137
148
  private extractAssistantResponse;
138
- generate(prompt: string, options: GenerateOptions): Promise<GenerateResult>;
139
- generateStream(prompt: string, options: GenerateOptions, callback: (chunk: GenerateChunk) => void): Promise<void>;
149
+ generate(prompt: string, options: GenerateOptions): Promise<LocalGenerateResult>;
150
+ generateStream(prompt: string, options: GenerateOptions, callback: (chunk: LocalGenerateChunk) => void): Promise<void>;
140
151
  embed(texts: string[], abortSignal?: AbortSignal): Promise<number[][]>;
141
152
  countTokens(texts: string[]): Promise<number>;
142
153
  dispose(): Promise<void>;
143
154
  isReady(): boolean;
144
155
  }
145
156
 
146
- declare class LocalLanguageModel implements LanguageModelV2 {
147
- readonly specificationVersion: "v2";
157
+ declare class LocalLanguageModel implements LanguageModelV3 {
158
+ readonly specificationVersion: "v3";
148
159
  readonly provider: string;
149
160
  readonly modelId: string;
150
161
  readonly defaultObjectGenerationMode: "json";
@@ -152,13 +163,24 @@ declare class LocalLanguageModel implements LanguageModelV2 {
152
163
  private readonly engine;
153
164
  private readonly modelConfig;
154
165
  constructor(provider: string, modelId: string, engine: TransformersEngine);
166
+ generate(options: LanguageModelV3CallOptions): Promise<any>;
167
+ stream(options: LanguageModelV3CallOptions): Promise<{
168
+ stream: ReadableStream<LanguageModelV3StreamPart>;
169
+ fullStream: AsyncIterable<LanguageModelV3StreamPart>;
170
+ request: {
171
+ body: string;
172
+ };
173
+ response: {
174
+ headers?: Record<string, string>;
175
+ };
176
+ }>;
155
177
  private convertToQwenFormat;
156
- doGenerate(options: LanguageModelV2CallOptions): Promise<any>;
157
- doStream(options: LanguageModelV2CallOptions): Promise<any>;
178
+ doGenerate(options: LanguageModelV3CallOptions): Promise<any>;
179
+ doStream(options: LanguageModelV3CallOptions): Promise<any>;
158
180
  }
159
181
 
160
- declare class LocalEnhancedLanguageModel implements LanguageModelV2 {
161
- readonly specificationVersion: "v2";
182
+ declare class LocalEnhancedLanguageModel implements LanguageModelV3 {
183
+ readonly specificationVersion: "v3";
162
184
  readonly provider: string;
163
185
  readonly modelId: string;
164
186
  readonly defaultObjectGenerationMode: "json";
@@ -168,10 +190,21 @@ declare class LocalEnhancedLanguageModel implements LanguageModelV2 {
168
190
  private readonly engine;
169
191
  private readonly modelConfig;
170
192
  constructor(provider: string, modelId: string, engine: TransformersEngine);
171
- doGenerate(options: LanguageModelV2CallOptions): Promise<any>;
172
- doStream(options: LanguageModelV2CallOptions): Promise<{
173
- stream: ReadableStream<LanguageModelV2StreamPart>;
174
- fullStream: AsyncIterable<LanguageModelV2StreamPart>;
193
+ generate(options: LanguageModelV3CallOptions): Promise<any>;
194
+ stream(options: LanguageModelV3CallOptions): Promise<{
195
+ stream: ReadableStream<LanguageModelV3StreamPart>;
196
+ fullStream: AsyncIterable<LanguageModelV3StreamPart>;
197
+ request: {
198
+ body: string;
199
+ };
200
+ response: {
201
+ headers?: Record<string, string>;
202
+ };
203
+ }>;
204
+ doGenerate(options: LanguageModelV3CallOptions): Promise<any>;
205
+ doStream(options: LanguageModelV3CallOptions): Promise<{
206
+ stream: ReadableStream<LanguageModelV3StreamPart>;
207
+ fullStream: AsyncIterable<LanguageModelV3StreamPart>;
175
208
  request: {
176
209
  body: string;
177
210
  };
@@ -181,18 +214,8 @@ declare class LocalEnhancedLanguageModel implements LanguageModelV2 {
181
214
  }>;
182
215
  }
183
216
 
184
- interface EmbedRequest {
185
- values: string[];
186
- abortSignal?: AbortSignal;
187
- }
188
- interface EmbedResponse {
189
- embeddings: number[][];
190
- usage: {
191
- tokens: number;
192
- };
193
- }
194
- declare class LocalEmbeddingModel implements EmbeddingModelV2<string> {
195
- readonly specificationVersion: "v2";
217
+ declare class LocalEmbeddingModel implements EmbeddingModelV3 {
218
+ readonly specificationVersion: "v3";
196
219
  readonly provider: string;
197
220
  readonly modelId: string;
198
221
  readonly maxEmbeddingsPerCall: number;
@@ -200,7 +223,106 @@ declare class LocalEmbeddingModel implements EmbeddingModelV2<string> {
200
223
  private readonly engine;
201
224
  private readonly modelConfig;
202
225
  constructor(provider: string, modelId: string, engine: TransformersEngine);
203
- doEmbed(params: EmbedRequest): Promise<EmbedResponse>;
226
+ doEmbed(options: EmbeddingModelV3CallOptions): Promise<EmbeddingModelV3Result>;
227
+ }
228
+
229
+ declare class LocalRerankingModel implements RerankingModelV3 {
230
+ readonly specificationVersion: "v3";
231
+ readonly provider = "local";
232
+ readonly modelId: string;
233
+ private languageModel;
234
+ private options;
235
+ private log;
236
+ constructor(modelId: string, config: LocalModelProviderConfig, engine: TransformersEngine, options?: RerankingModelOptions);
237
+ doRerank(options: {
238
+ query: string;
239
+ documents: {
240
+ type: 'text';
241
+ values: string[];
242
+ } | {
243
+ type: 'object';
244
+ values: Array<{
245
+ content: string;
246
+ id?: string;
247
+ }>;
248
+ };
249
+ topN?: number;
250
+ abortSignal?: AbortSignal;
251
+ providerOptions?: any;
252
+ headers?: Record<string, string>;
253
+ }): Promise<{
254
+ ranking: Array<{
255
+ index: number;
256
+ relevanceScore: number;
257
+ }>;
258
+ providerMetadata?: any;
259
+ warnings?: Array<{
260
+ type: 'other';
261
+ message: string;
262
+ }>;
263
+ response?: {
264
+ id?: string;
265
+ timestamp?: Date;
266
+ modelId?: string;
267
+ headers?: Record<string, string>;
268
+ body?: unknown;
269
+ };
270
+ }>;
271
+ private buildRerankPrompt;
272
+ private parseRerankResult;
273
+ }
274
+
275
+ interface LLMRerankingModelOptions extends RerankingModelOptions {
276
+ modelOptions?: {
277
+ temperature?: number;
278
+ maxTokens?: number;
279
+ };
280
+ }
281
+ declare class LLMRerankingModel implements RerankingModelV3 {
282
+ readonly specificationVersion: "v3";
283
+ readonly provider: string;
284
+ readonly modelId: string;
285
+ private readonly languageModel;
286
+ private readonly options;
287
+ private readonly log;
288
+ constructor(modelId: string, languageModel: LanguageModelV3, options?: LLMRerankingModelOptions);
289
+ doRerank(options: {
290
+ query: string;
291
+ documents: {
292
+ type: 'text';
293
+ values: string[];
294
+ } | {
295
+ type: 'object';
296
+ values: Array<{
297
+ content: string;
298
+ id?: string;
299
+ }>;
300
+ };
301
+ topN?: number;
302
+ abortSignal?: AbortSignal;
303
+ providerOptions?: any;
304
+ headers?: Record<string, string>;
305
+ }): Promise<{
306
+ ranking: Array<{
307
+ index: number;
308
+ relevanceScore: number;
309
+ }>;
310
+ providerMetadata?: any;
311
+ warnings?: Array<{
312
+ type: 'other';
313
+ message: string;
314
+ }>;
315
+ response?: {
316
+ id?: string;
317
+ timestamp?: Date;
318
+ modelId?: string;
319
+ headers?: Record<string, string>;
320
+ body?: unknown;
321
+ };
322
+ }>;
323
+ private extractTextContent;
324
+ private buildRerankPrompt;
325
+ private parseRerankResult;
204
326
  }
205
327
 
206
328
  declare class LocalModelError extends Error {
@@ -221,4 +343,4 @@ declare const VERSION = "0.1.0";
221
343
  declare const SDK_NAME = "@easbot/local-model-sdk";
222
344
  declare const SDK_DESCRIPTION = "Complete local model SDK for EASBot - Transformers.js + ONNX implementation";
223
345
 
224
- export { type EmbeddingModelConfig, ErrorCode, ErrorHandler, type GenerateChunk, type GenerateOptions, type GenerateResult, type LanguageModelConfig, type LanguageModelSettings, LocalEmbeddingModel, LocalEnhancedLanguageModel, LocalLanguageModel, LocalModelError, LocalModelProvider, type LocalModelProviderConfig, type LocalProvider, type ModelCacheConfig, type ModelInfo, SDK_DESCRIPTION, SDK_NAME, SUPPORTED_EMBEDDING_MODELS, SUPPORTED_LANGUAGE_MODELS, type TransformersEngineConfig, VERSION, createLocal };
346
+ export { type EmbeddingModelConfig, ErrorCode, ErrorHandler, type GenerateChunk, type GenerateOptions, type GenerateResult, LLMRerankingModel, type LLMRerankingModelOptions, type LanguageModelConfig, type LanguageModelSettings, LocalEmbeddingModel, LocalEnhancedLanguageModel, LocalLanguageModel, LocalModelError, LocalModelProvider, type LocalModelProviderConfig, type LocalProvider, LocalRerankingModel, type ModelCacheConfig, type ModelInfo, type RerankingModelOptions, SDK_DESCRIPTION, SDK_NAME, SUPPORTED_EMBEDDING_MODELS, SUPPORTED_LANGUAGE_MODELS, type TransformersEngineConfig, VERSION, createLocal };