@blank-utils/llm 0.2.2 → 0.2.6
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 +487 -89
- package/dist/index.js +1245 -65
- package/dist/react/index.js +1267 -66
- package/package.json +6 -3
- package/dist/backends/transformers.d.ts +0 -62
- package/dist/backends/transformers.d.ts.map +0 -1
- package/dist/backends/webllm.d.ts +0 -70
- package/dist/backends/webllm.d.ts.map +0 -1
- package/dist/core.d.ts +0 -71
- package/dist/core.d.ts.map +0 -1
- package/dist/detect.d.ts +0 -21
- package/dist/detect.d.ts.map +0 -1
- package/dist/helpers.d.ts +0 -35
- package/dist/helpers.d.ts.map +0 -1
- package/dist/index.d.ts +0 -27
- package/dist/index.d.ts.map +0 -1
- package/dist/react/index.d.ts +0 -309
- package/dist/react/index.d.ts.map +0 -1
- package/dist/types.d.ts +0 -178
- package/dist/types.d.ts.map +0 -1
package/dist/types.d.ts
DELETED
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Local LLM - Browser-based LLM inference library
|
|
3
|
-
* Shared TypeScript types and interfaces
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Supported backend engines
|
|
7
|
-
*/
|
|
8
|
-
export type Backend = 'webllm' | 'transformers' | 'auto';
|
|
9
|
-
/**
|
|
10
|
-
* Device to run inference on
|
|
11
|
-
*/
|
|
12
|
-
export type Device = 'webgpu' | 'wasm' | 'auto';
|
|
13
|
-
/**
|
|
14
|
-
* Quantization options for model loading
|
|
15
|
-
*/
|
|
16
|
-
export type Quantization = 'q4' | 'q8' | 'fp16' | 'fp32';
|
|
17
|
-
/**
|
|
18
|
-
* Configuration for creating an LLM instance
|
|
19
|
-
*/
|
|
20
|
-
export interface LLMConfig {
|
|
21
|
-
/**
|
|
22
|
-
* Model identifier. For WebLLM, use MLC model IDs.
|
|
23
|
-
* For Transformers.js, use HuggingFace model IDs.
|
|
24
|
-
* @default 'Phi-3-mini-4k-instruct-q4f16_1-MLC' for WebLLM
|
|
25
|
-
*/
|
|
26
|
-
model?: string;
|
|
27
|
-
/**
|
|
28
|
-
* Which backend to use
|
|
29
|
-
* @default 'auto' - Will prefer WebLLM if WebGPU available
|
|
30
|
-
*/
|
|
31
|
-
backend?: Backend;
|
|
32
|
-
/**
|
|
33
|
-
* Device to run on
|
|
34
|
-
* @default 'auto' - Prefers WebGPU, falls back to WASM
|
|
35
|
-
*/
|
|
36
|
-
device?: Device;
|
|
37
|
-
/**
|
|
38
|
-
* Quantization level (transformers.js only)
|
|
39
|
-
* @default 'q4'
|
|
40
|
-
*/
|
|
41
|
-
quantization?: Quantization;
|
|
42
|
-
/**
|
|
43
|
-
* System prompt to use for all conversations
|
|
44
|
-
*/
|
|
45
|
-
systemPrompt?: string;
|
|
46
|
-
/**
|
|
47
|
-
* Callback for model loading progress
|
|
48
|
-
*/
|
|
49
|
-
onLoadProgress?: LoadProgressCallback;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Role in a chat conversation
|
|
53
|
-
*/
|
|
54
|
-
export type MessageRole = 'system' | 'user' | 'assistant';
|
|
55
|
-
/**
|
|
56
|
-
* A single message in a chat conversation
|
|
57
|
-
*/
|
|
58
|
-
export interface ChatMessage {
|
|
59
|
-
role: MessageRole;
|
|
60
|
-
content: string;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Callback for streaming token output
|
|
64
|
-
*/
|
|
65
|
-
export type StreamCallback = (token: string, fullText: string) => void;
|
|
66
|
-
/**
|
|
67
|
-
* Loading progress information
|
|
68
|
-
*/
|
|
69
|
-
export interface LoadProgress {
|
|
70
|
-
/** Progress percentage (0-100) */
|
|
71
|
-
progress: number;
|
|
72
|
-
/** Current status text */
|
|
73
|
-
status: string;
|
|
74
|
-
/** Bytes loaded (if available) */
|
|
75
|
-
loaded?: number;
|
|
76
|
-
/** Total bytes (if available) */
|
|
77
|
-
total?: number;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Callback for model loading progress
|
|
81
|
-
*/
|
|
82
|
-
export type LoadProgressCallback = (progress: LoadProgress) => void;
|
|
83
|
-
/**
|
|
84
|
-
* Options for text generation
|
|
85
|
-
*/
|
|
86
|
-
export interface GenerateOptions {
|
|
87
|
-
/**
|
|
88
|
-
* Temperature for sampling (0-2)
|
|
89
|
-
* @default 0.7
|
|
90
|
-
*/
|
|
91
|
-
temperature?: number;
|
|
92
|
-
/**
|
|
93
|
-
* Maximum tokens to generate
|
|
94
|
-
* @default 512
|
|
95
|
-
*/
|
|
96
|
-
maxTokens?: number;
|
|
97
|
-
/**
|
|
98
|
-
* Top-p sampling
|
|
99
|
-
* @default 0.95
|
|
100
|
-
*/
|
|
101
|
-
topP?: number;
|
|
102
|
-
/**
|
|
103
|
-
* Stop sequences
|
|
104
|
-
*/
|
|
105
|
-
stopSequences?: string[];
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Unified interface for LLM backends
|
|
109
|
-
*/
|
|
110
|
-
export interface LLMProvider {
|
|
111
|
-
/**
|
|
112
|
-
* Backend identifier
|
|
113
|
-
*/
|
|
114
|
-
readonly backend: Backend;
|
|
115
|
-
/**
|
|
116
|
-
* Whether the model is loaded and ready
|
|
117
|
-
*/
|
|
118
|
-
readonly isReady: boolean;
|
|
119
|
-
/**
|
|
120
|
-
* Current model ID
|
|
121
|
-
*/
|
|
122
|
-
readonly modelId: string | null;
|
|
123
|
-
/**
|
|
124
|
-
* Load a model
|
|
125
|
-
*/
|
|
126
|
-
load(modelId: string, onProgress?: LoadProgressCallback): Promise<void>;
|
|
127
|
-
/**
|
|
128
|
-
* Generate a response (non-streaming)
|
|
129
|
-
*/
|
|
130
|
-
chat(messages: ChatMessage[], options?: GenerateOptions): Promise<string>;
|
|
131
|
-
/**
|
|
132
|
-
* Generate a response with streaming
|
|
133
|
-
*/
|
|
134
|
-
stream(messages: ChatMessage[], onToken: StreamCallback, options?: GenerateOptions): Promise<string>;
|
|
135
|
-
/**
|
|
136
|
-
* Unload the model and free resources
|
|
137
|
-
*/
|
|
138
|
-
unload(): Promise<void>;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Options for attaching to an input element
|
|
142
|
-
*/
|
|
143
|
-
export interface AttachOptions {
|
|
144
|
-
/**
|
|
145
|
-
* Trigger generation on Enter key
|
|
146
|
-
* @default true
|
|
147
|
-
*/
|
|
148
|
-
triggerOnEnter?: boolean;
|
|
149
|
-
/**
|
|
150
|
-
* Clear input after sending
|
|
151
|
-
* @default true
|
|
152
|
-
*/
|
|
153
|
-
clearOnSend?: boolean;
|
|
154
|
-
/**
|
|
155
|
-
* Show loading indicator
|
|
156
|
-
* @default true
|
|
157
|
-
*/
|
|
158
|
-
showLoading?: boolean;
|
|
159
|
-
/**
|
|
160
|
-
* Custom loading text
|
|
161
|
-
* @default 'Thinking...'
|
|
162
|
-
*/
|
|
163
|
-
loadingText?: string;
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Browser capability information
|
|
167
|
-
*/
|
|
168
|
-
export interface BrowserCapabilities {
|
|
169
|
-
/** WebGPU is available */
|
|
170
|
-
webgpu: boolean;
|
|
171
|
-
/** WebAssembly is available */
|
|
172
|
-
wasm: boolean;
|
|
173
|
-
/** Recommended backend based on capabilities */
|
|
174
|
-
recommendedBackend: Backend;
|
|
175
|
-
/** Recommended device based on capabilities */
|
|
176
|
-
recommendedDevice: Device;
|
|
177
|
-
}
|
|
178
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,MAAM,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAMD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;AAMpE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1E;;OAEG;IACH,MAAM,CACJ,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,+BAA+B;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,gDAAgD;IAChD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC;CAC3B"}
|