@easbot/local-model-sdk 0.1.3

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.
@@ -0,0 +1,224 @@
1
+ import { LanguageModelV2, EmbeddingModelV2, LanguageModelV2CallOptions, LanguageModelV2StreamPart } from '@ai-sdk/provider';
2
+
3
+ declare enum ErrorCode {
4
+ MODEL_NOT_FOUND = "MODEL_NOT_FOUND",
5
+ MODEL_LOAD_ERROR = "MODEL_LOAD_ERROR",
6
+ MODEL_NOT_INITIALIZED = "MODEL_NOT_INITIALIZED",
7
+ GENERATION_ERROR = "GENERATION_ERROR",
8
+ EMBEDDING_ERROR = "EMBEDDING_ERROR",
9
+ INVALID_INPUT = "INVALID_INPUT",
10
+ UNSUPPORTED_FEATURE = "UNSUPPORTED_FEATURE",
11
+ CACHE_ERROR = "CACHE_ERROR",
12
+ PROCESSING_ERROR = "PROCESSING_ERROR",
13
+ ABORTED = "ABORTED",
14
+ OUT_OF_MEMORY = "OUT_OF_MEMORY",
15
+ UNKNOWN_ERROR = "UNKNOWN_ERROR"
16
+ }
17
+ interface ModelCacheConfig {
18
+ cacheDir?: string;
19
+ }
20
+ interface LocalModelProviderConfig {
21
+ cacheDir?: string;
22
+ verbose?: boolean;
23
+ autoUnloadTimeout?: number;
24
+ maxCachedModels?: number;
25
+ memoryWarningThreshold?: number;
26
+ useEnhancedModel?: boolean;
27
+ logPath?: string;
28
+ logLevel?: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
29
+ }
30
+ interface LanguageModelConfig {
31
+ modelId: string;
32
+ huggingFaceId: string;
33
+ contextLength: number;
34
+ dtype?: string;
35
+ defaultSettings: LanguageModelSettings;
36
+ }
37
+ interface LanguageModelSettings {
38
+ temperature?: number;
39
+ topP?: number;
40
+ topK?: number;
41
+ maxTokens?: number;
42
+ repetitionPenalty?: number;
43
+ stopSequences?: string[];
44
+ }
45
+ interface EmbeddingModelConfig {
46
+ modelId: string;
47
+ huggingFaceId: string;
48
+ dimensions: number;
49
+ maxEmbeddingsPerCall: number;
50
+ dtype?: string;
51
+ }
52
+ interface TransformersEngineConfig {
53
+ modelId: string;
54
+ modelType: 'language' | 'embedding';
55
+ cacheDir: string;
56
+ verbose: boolean;
57
+ }
58
+ interface GenerateOptions {
59
+ temperature: number;
60
+ topP: number;
61
+ topK: number;
62
+ maxTokens: number;
63
+ repetitionPenalty: number;
64
+ stopSequences: string[];
65
+ abortSignal?: AbortSignal;
66
+ }
67
+ interface GenerateResult {
68
+ text: string;
69
+ finishReason: 'stop' | 'length' | 'error';
70
+ usage: {
71
+ promptTokens: number;
72
+ completionTokens: number;
73
+ totalTokens: number;
74
+ };
75
+ }
76
+ interface GenerateChunk {
77
+ type: 'text-delta' | 'text-end' | 'finish';
78
+ textDelta?: string;
79
+ finishReason?: 'stop' | 'length' | 'error';
80
+ usage?: {
81
+ promptTokens: number;
82
+ completionTokens: number;
83
+ totalTokens: number;
84
+ };
85
+ }
86
+ interface ModelInfo {
87
+ modelId: string;
88
+ modelType: 'language' | 'embedding';
89
+ isLoaded: boolean;
90
+ lastUsed: number;
91
+ useCount: number;
92
+ }
93
+ declare const SUPPORTED_LANGUAGE_MODELS: Record<string, LanguageModelConfig>;
94
+ declare const SUPPORTED_EMBEDDING_MODELS: Record<string, EmbeddingModelConfig>;
95
+
96
+ declare class LocalModelProvider {
97
+ private readonly config;
98
+ private readonly modelCache;
99
+ private readonly engines;
100
+ private readonly modelInfo;
101
+ constructor(config?: LocalModelProviderConfig);
102
+ languageModel(modelId: string, options?: {
103
+ useEnhancedModel?: boolean;
104
+ }): LanguageModelV2;
105
+ textEmbeddingModel(modelId: string): EmbeddingModelV2<string>;
106
+ chat(modelId: string, options?: {
107
+ useEnhancedModel?: boolean;
108
+ }): LanguageModelV2;
109
+ private getOrCreateEngine;
110
+ private evictLeastRecentlyUsed;
111
+ getLoadedModels(): ModelInfo[];
112
+ dispose(): Promise<void>;
113
+ }
114
+ interface LocalProvider {
115
+ (modelId: string, options?: {
116
+ useEnhancedModel?: boolean;
117
+ }): LanguageModelV2;
118
+ languageModel(modelId: string, options?: {
119
+ useEnhancedModel?: boolean;
120
+ }): LanguageModelV2;
121
+ chat(modelId: string, options?: {
122
+ useEnhancedModel?: boolean;
123
+ }): LanguageModelV2;
124
+ textEmbeddingModel(modelId: string): EmbeddingModelV2<string>;
125
+ }
126
+ declare function createLocal(config?: LocalModelProviderConfig): LocalProvider;
127
+
128
+ declare class TransformersEngine {
129
+ private pipeline;
130
+ private tokenizer;
131
+ private isInitialized;
132
+ private readonly config;
133
+ private readonly modelCache;
134
+ constructor(config: TransformersEngineConfig);
135
+ private configureEnvironment;
136
+ initialize(): Promise<void>;
137
+ private extractAssistantResponse;
138
+ generate(prompt: string, options: GenerateOptions): Promise<GenerateResult>;
139
+ generateStream(prompt: string, options: GenerateOptions, callback: (chunk: GenerateChunk) => void): Promise<void>;
140
+ embed(texts: string[], abortSignal?: AbortSignal): Promise<number[][]>;
141
+ countTokens(texts: string[]): Promise<number>;
142
+ dispose(): Promise<void>;
143
+ isReady(): boolean;
144
+ }
145
+
146
+ declare class LocalLanguageModel implements LanguageModelV2 {
147
+ readonly specificationVersion: "v2";
148
+ readonly provider: string;
149
+ readonly modelId: string;
150
+ readonly defaultObjectGenerationMode: "json";
151
+ readonly supportedUrls: Record<string, RegExp[]>;
152
+ private readonly engine;
153
+ private readonly modelConfig;
154
+ constructor(provider: string, modelId: string, engine: TransformersEngine);
155
+ private convertToQwenFormat;
156
+ doGenerate(options: LanguageModelV2CallOptions): Promise<any>;
157
+ doStream(options: LanguageModelV2CallOptions): Promise<any>;
158
+ }
159
+
160
+ declare class LocalEnhancedLanguageModel implements LanguageModelV2 {
161
+ readonly specificationVersion: "v2";
162
+ readonly provider: string;
163
+ readonly modelId: string;
164
+ readonly defaultObjectGenerationMode: "json";
165
+ readonly supportedUrls: Record<string, RegExp[]>;
166
+ readonly supportsToolCalling: "experimental";
167
+ readonly supportsThinking: "experimental";
168
+ private readonly engine;
169
+ private readonly modelConfig;
170
+ 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>;
175
+ request: {
176
+ body: string;
177
+ };
178
+ response: {
179
+ headers?: Record<string, string>;
180
+ };
181
+ }>;
182
+ }
183
+
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";
196
+ readonly provider: string;
197
+ readonly modelId: string;
198
+ readonly maxEmbeddingsPerCall: number;
199
+ readonly supportsParallelCalls = false;
200
+ private readonly engine;
201
+ private readonly modelConfig;
202
+ constructor(provider: string, modelId: string, engine: TransformersEngine);
203
+ doEmbed(params: EmbedRequest): Promise<EmbedResponse>;
204
+ }
205
+
206
+ declare class LocalModelError extends Error {
207
+ code: ErrorCode;
208
+ cause?: Error | undefined;
209
+ constructor(message: string, code: ErrorCode, cause?: Error | undefined);
210
+ }
211
+ declare class ErrorHandler {
212
+ static modelLoadError(cause: Error): LocalModelError;
213
+ static generationError(cause: Error): LocalModelError;
214
+ static embeddingError(cause: Error): LocalModelError;
215
+ static validationError(message: string): LocalModelError;
216
+ static abortError(): LocalModelError;
217
+ static unsupportedFeature(feature: string): LocalModelError;
218
+ }
219
+
220
+ declare const VERSION = "0.1.0";
221
+ declare const SDK_NAME = "@easbot/local-model-sdk";
222
+ declare const SDK_DESCRIPTION = "Complete local model SDK for EASBot - Transformers.js + ONNX implementation";
223
+
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 };
@@ -0,0 +1,224 @@
1
+ import { LanguageModelV2, EmbeddingModelV2, LanguageModelV2CallOptions, LanguageModelV2StreamPart } from '@ai-sdk/provider';
2
+
3
+ declare enum ErrorCode {
4
+ MODEL_NOT_FOUND = "MODEL_NOT_FOUND",
5
+ MODEL_LOAD_ERROR = "MODEL_LOAD_ERROR",
6
+ MODEL_NOT_INITIALIZED = "MODEL_NOT_INITIALIZED",
7
+ GENERATION_ERROR = "GENERATION_ERROR",
8
+ EMBEDDING_ERROR = "EMBEDDING_ERROR",
9
+ INVALID_INPUT = "INVALID_INPUT",
10
+ UNSUPPORTED_FEATURE = "UNSUPPORTED_FEATURE",
11
+ CACHE_ERROR = "CACHE_ERROR",
12
+ PROCESSING_ERROR = "PROCESSING_ERROR",
13
+ ABORTED = "ABORTED",
14
+ OUT_OF_MEMORY = "OUT_OF_MEMORY",
15
+ UNKNOWN_ERROR = "UNKNOWN_ERROR"
16
+ }
17
+ interface ModelCacheConfig {
18
+ cacheDir?: string;
19
+ }
20
+ interface LocalModelProviderConfig {
21
+ cacheDir?: string;
22
+ verbose?: boolean;
23
+ autoUnloadTimeout?: number;
24
+ maxCachedModels?: number;
25
+ memoryWarningThreshold?: number;
26
+ useEnhancedModel?: boolean;
27
+ logPath?: string;
28
+ logLevel?: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
29
+ }
30
+ interface LanguageModelConfig {
31
+ modelId: string;
32
+ huggingFaceId: string;
33
+ contextLength: number;
34
+ dtype?: string;
35
+ defaultSettings: LanguageModelSettings;
36
+ }
37
+ interface LanguageModelSettings {
38
+ temperature?: number;
39
+ topP?: number;
40
+ topK?: number;
41
+ maxTokens?: number;
42
+ repetitionPenalty?: number;
43
+ stopSequences?: string[];
44
+ }
45
+ interface EmbeddingModelConfig {
46
+ modelId: string;
47
+ huggingFaceId: string;
48
+ dimensions: number;
49
+ maxEmbeddingsPerCall: number;
50
+ dtype?: string;
51
+ }
52
+ interface TransformersEngineConfig {
53
+ modelId: string;
54
+ modelType: 'language' | 'embedding';
55
+ cacheDir: string;
56
+ verbose: boolean;
57
+ }
58
+ interface GenerateOptions {
59
+ temperature: number;
60
+ topP: number;
61
+ topK: number;
62
+ maxTokens: number;
63
+ repetitionPenalty: number;
64
+ stopSequences: string[];
65
+ abortSignal?: AbortSignal;
66
+ }
67
+ interface GenerateResult {
68
+ text: string;
69
+ finishReason: 'stop' | 'length' | 'error';
70
+ usage: {
71
+ promptTokens: number;
72
+ completionTokens: number;
73
+ totalTokens: number;
74
+ };
75
+ }
76
+ interface GenerateChunk {
77
+ type: 'text-delta' | 'text-end' | 'finish';
78
+ textDelta?: string;
79
+ finishReason?: 'stop' | 'length' | 'error';
80
+ usage?: {
81
+ promptTokens: number;
82
+ completionTokens: number;
83
+ totalTokens: number;
84
+ };
85
+ }
86
+ interface ModelInfo {
87
+ modelId: string;
88
+ modelType: 'language' | 'embedding';
89
+ isLoaded: boolean;
90
+ lastUsed: number;
91
+ useCount: number;
92
+ }
93
+ declare const SUPPORTED_LANGUAGE_MODELS: Record<string, LanguageModelConfig>;
94
+ declare const SUPPORTED_EMBEDDING_MODELS: Record<string, EmbeddingModelConfig>;
95
+
96
+ declare class LocalModelProvider {
97
+ private readonly config;
98
+ private readonly modelCache;
99
+ private readonly engines;
100
+ private readonly modelInfo;
101
+ constructor(config?: LocalModelProviderConfig);
102
+ languageModel(modelId: string, options?: {
103
+ useEnhancedModel?: boolean;
104
+ }): LanguageModelV2;
105
+ textEmbeddingModel(modelId: string): EmbeddingModelV2<string>;
106
+ chat(modelId: string, options?: {
107
+ useEnhancedModel?: boolean;
108
+ }): LanguageModelV2;
109
+ private getOrCreateEngine;
110
+ private evictLeastRecentlyUsed;
111
+ getLoadedModels(): ModelInfo[];
112
+ dispose(): Promise<void>;
113
+ }
114
+ interface LocalProvider {
115
+ (modelId: string, options?: {
116
+ useEnhancedModel?: boolean;
117
+ }): LanguageModelV2;
118
+ languageModel(modelId: string, options?: {
119
+ useEnhancedModel?: boolean;
120
+ }): LanguageModelV2;
121
+ chat(modelId: string, options?: {
122
+ useEnhancedModel?: boolean;
123
+ }): LanguageModelV2;
124
+ textEmbeddingModel(modelId: string): EmbeddingModelV2<string>;
125
+ }
126
+ declare function createLocal(config?: LocalModelProviderConfig): LocalProvider;
127
+
128
+ declare class TransformersEngine {
129
+ private pipeline;
130
+ private tokenizer;
131
+ private isInitialized;
132
+ private readonly config;
133
+ private readonly modelCache;
134
+ constructor(config: TransformersEngineConfig);
135
+ private configureEnvironment;
136
+ initialize(): Promise<void>;
137
+ private extractAssistantResponse;
138
+ generate(prompt: string, options: GenerateOptions): Promise<GenerateResult>;
139
+ generateStream(prompt: string, options: GenerateOptions, callback: (chunk: GenerateChunk) => void): Promise<void>;
140
+ embed(texts: string[], abortSignal?: AbortSignal): Promise<number[][]>;
141
+ countTokens(texts: string[]): Promise<number>;
142
+ dispose(): Promise<void>;
143
+ isReady(): boolean;
144
+ }
145
+
146
+ declare class LocalLanguageModel implements LanguageModelV2 {
147
+ readonly specificationVersion: "v2";
148
+ readonly provider: string;
149
+ readonly modelId: string;
150
+ readonly defaultObjectGenerationMode: "json";
151
+ readonly supportedUrls: Record<string, RegExp[]>;
152
+ private readonly engine;
153
+ private readonly modelConfig;
154
+ constructor(provider: string, modelId: string, engine: TransformersEngine);
155
+ private convertToQwenFormat;
156
+ doGenerate(options: LanguageModelV2CallOptions): Promise<any>;
157
+ doStream(options: LanguageModelV2CallOptions): Promise<any>;
158
+ }
159
+
160
+ declare class LocalEnhancedLanguageModel implements LanguageModelV2 {
161
+ readonly specificationVersion: "v2";
162
+ readonly provider: string;
163
+ readonly modelId: string;
164
+ readonly defaultObjectGenerationMode: "json";
165
+ readonly supportedUrls: Record<string, RegExp[]>;
166
+ readonly supportsToolCalling: "experimental";
167
+ readonly supportsThinking: "experimental";
168
+ private readonly engine;
169
+ private readonly modelConfig;
170
+ 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>;
175
+ request: {
176
+ body: string;
177
+ };
178
+ response: {
179
+ headers?: Record<string, string>;
180
+ };
181
+ }>;
182
+ }
183
+
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";
196
+ readonly provider: string;
197
+ readonly modelId: string;
198
+ readonly maxEmbeddingsPerCall: number;
199
+ readonly supportsParallelCalls = false;
200
+ private readonly engine;
201
+ private readonly modelConfig;
202
+ constructor(provider: string, modelId: string, engine: TransformersEngine);
203
+ doEmbed(params: EmbedRequest): Promise<EmbedResponse>;
204
+ }
205
+
206
+ declare class LocalModelError extends Error {
207
+ code: ErrorCode;
208
+ cause?: Error | undefined;
209
+ constructor(message: string, code: ErrorCode, cause?: Error | undefined);
210
+ }
211
+ declare class ErrorHandler {
212
+ static modelLoadError(cause: Error): LocalModelError;
213
+ static generationError(cause: Error): LocalModelError;
214
+ static embeddingError(cause: Error): LocalModelError;
215
+ static validationError(message: string): LocalModelError;
216
+ static abortError(): LocalModelError;
217
+ static unsupportedFeature(feature: string): LocalModelError;
218
+ }
219
+
220
+ declare const VERSION = "0.1.0";
221
+ declare const SDK_NAME = "@easbot/local-model-sdk";
222
+ declare const SDK_DESCRIPTION = "Complete local model SDK for EASBot - Transformers.js + ONNX implementation";
223
+
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 };