@forbocai/browser 0.5.6 → 0.5.7
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.js +17 -8
- package/dist/index.mjs +13 -4
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -40,7 +40,6 @@ __export(index_exports, {
|
|
|
40
40
|
module.exports = __toCommonJS(index_exports);
|
|
41
41
|
|
|
42
42
|
// src/cortex.ts
|
|
43
|
-
var import_web_llm = require("@mlc-ai/web-llm");
|
|
44
43
|
var import_meta = {};
|
|
45
44
|
var DEFAULT_MODEL = "smollm2-135m";
|
|
46
45
|
var MODEL_ALIASES = {
|
|
@@ -61,6 +60,10 @@ var createBrowserCortex = (config = {}) => {
|
|
|
61
60
|
};
|
|
62
61
|
const init = async (onProgress) => {
|
|
63
62
|
if (status.ready) return status;
|
|
63
|
+
if (typeof window === "undefined") {
|
|
64
|
+
throw new Error("BrowserCortex can only be initialized in a browser environment");
|
|
65
|
+
}
|
|
66
|
+
const { CreateWebWorkerMLCEngine } = await import("@mlc-ai/web-llm");
|
|
64
67
|
const initProgressCallback = (report) => {
|
|
65
68
|
const match = report.text?.match(/(\d+)%/);
|
|
66
69
|
if (onProgress && match) {
|
|
@@ -68,7 +71,7 @@ var createBrowserCortex = (config = {}) => {
|
|
|
68
71
|
}
|
|
69
72
|
};
|
|
70
73
|
const modelId = resolveModelId(friendlyModel);
|
|
71
|
-
engine = await
|
|
74
|
+
engine = await CreateWebWorkerMLCEngine(
|
|
72
75
|
new Worker(new URL("./worker.js", import_meta.url), { type: "module" }),
|
|
73
76
|
modelId,
|
|
74
77
|
{ initProgressCallback }
|
|
@@ -111,13 +114,13 @@ var createBrowserCortex = (config = {}) => {
|
|
|
111
114
|
};
|
|
112
115
|
var createCortex = (config = {}) => createBrowserCortex(config);
|
|
113
116
|
|
|
114
|
-
// src/memory.ts
|
|
115
|
-
var import_orama = require("@orama/orama");
|
|
116
|
-
|
|
117
117
|
// src/vector.ts
|
|
118
118
|
var embedder = null;
|
|
119
119
|
var initVectorEngine = async () => {
|
|
120
120
|
if (embedder) return;
|
|
121
|
+
if (typeof window === "undefined") {
|
|
122
|
+
throw new Error("BrowserVectorEngine can only be initialized in a browser environment");
|
|
123
|
+
}
|
|
121
124
|
try {
|
|
122
125
|
const { pipeline } = await import("@huggingface/transformers");
|
|
123
126
|
embedder = await pipeline("feature-extraction", "Xenova/all-MiniLM-L6-v2");
|
|
@@ -141,7 +144,11 @@ var createBrowserMemory = (config = {}) => {
|
|
|
141
144
|
let db = null;
|
|
142
145
|
const init = async () => {
|
|
143
146
|
if (db) return db;
|
|
144
|
-
|
|
147
|
+
if (typeof window === "undefined") {
|
|
148
|
+
throw new Error("BrowserMemory can only be initialized in a browser environment");
|
|
149
|
+
}
|
|
150
|
+
const { create } = await import("@orama/orama");
|
|
151
|
+
db = await create({
|
|
145
152
|
schema: {
|
|
146
153
|
id: "string",
|
|
147
154
|
text: "string",
|
|
@@ -164,7 +171,8 @@ var createBrowserMemory = (config = {}) => {
|
|
|
164
171
|
importance
|
|
165
172
|
};
|
|
166
173
|
const embedding = await generateEmbedding(text);
|
|
167
|
-
await (
|
|
174
|
+
const { insert } = await import("@orama/orama");
|
|
175
|
+
await insert(instance, {
|
|
168
176
|
...item,
|
|
169
177
|
embedding
|
|
170
178
|
});
|
|
@@ -173,7 +181,8 @@ var createBrowserMemory = (config = {}) => {
|
|
|
173
181
|
const recall = async (query, limit = 5) => {
|
|
174
182
|
const instance = await init();
|
|
175
183
|
const embedding = await generateEmbedding(query);
|
|
176
|
-
const
|
|
184
|
+
const { search } = await import("@orama/orama");
|
|
185
|
+
const results = await search(instance, {
|
|
177
186
|
mode: "vector",
|
|
178
187
|
vector: {
|
|
179
188
|
value: embedding,
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// src/cortex.ts
|
|
2
|
-
import { CreateWebWorkerMLCEngine } from "@mlc-ai/web-llm";
|
|
3
2
|
var DEFAULT_MODEL = "smollm2-135m";
|
|
4
3
|
var MODEL_ALIASES = {
|
|
5
4
|
"smollm2-135m": "SmolLM2-135M-Instruct-q0f16-MLC",
|
|
@@ -19,6 +18,10 @@ var createBrowserCortex = (config = {}) => {
|
|
|
19
18
|
};
|
|
20
19
|
const init = async (onProgress) => {
|
|
21
20
|
if (status.ready) return status;
|
|
21
|
+
if (typeof window === "undefined") {
|
|
22
|
+
throw new Error("BrowserCortex can only be initialized in a browser environment");
|
|
23
|
+
}
|
|
24
|
+
const { CreateWebWorkerMLCEngine } = await import("@mlc-ai/web-llm");
|
|
22
25
|
const initProgressCallback = (report) => {
|
|
23
26
|
const match = report.text?.match(/(\d+)%/);
|
|
24
27
|
if (onProgress && match) {
|
|
@@ -69,13 +72,13 @@ var createBrowserCortex = (config = {}) => {
|
|
|
69
72
|
};
|
|
70
73
|
var createCortex = (config = {}) => createBrowserCortex(config);
|
|
71
74
|
|
|
72
|
-
// src/memory.ts
|
|
73
|
-
import { create, insert, search } from "@orama/orama";
|
|
74
|
-
|
|
75
75
|
// src/vector.ts
|
|
76
76
|
var embedder = null;
|
|
77
77
|
var initVectorEngine = async () => {
|
|
78
78
|
if (embedder) return;
|
|
79
|
+
if (typeof window === "undefined") {
|
|
80
|
+
throw new Error("BrowserVectorEngine can only be initialized in a browser environment");
|
|
81
|
+
}
|
|
79
82
|
try {
|
|
80
83
|
const { pipeline } = await import("@huggingface/transformers");
|
|
81
84
|
embedder = await pipeline("feature-extraction", "Xenova/all-MiniLM-L6-v2");
|
|
@@ -99,6 +102,10 @@ var createBrowserMemory = (config = {}) => {
|
|
|
99
102
|
let db = null;
|
|
100
103
|
const init = async () => {
|
|
101
104
|
if (db) return db;
|
|
105
|
+
if (typeof window === "undefined") {
|
|
106
|
+
throw new Error("BrowserMemory can only be initialized in a browser environment");
|
|
107
|
+
}
|
|
108
|
+
const { create } = await import("@orama/orama");
|
|
102
109
|
db = await create({
|
|
103
110
|
schema: {
|
|
104
111
|
id: "string",
|
|
@@ -122,6 +129,7 @@ var createBrowserMemory = (config = {}) => {
|
|
|
122
129
|
importance
|
|
123
130
|
};
|
|
124
131
|
const embedding = await generateEmbedding(text);
|
|
132
|
+
const { insert } = await import("@orama/orama");
|
|
125
133
|
await insert(instance, {
|
|
126
134
|
...item,
|
|
127
135
|
embedding
|
|
@@ -131,6 +139,7 @@ var createBrowserMemory = (config = {}) => {
|
|
|
131
139
|
const recall = async (query, limit = 5) => {
|
|
132
140
|
const instance = await init();
|
|
133
141
|
const embedding = await generateEmbedding(query);
|
|
142
|
+
const { search } = await import("@orama/orama");
|
|
134
143
|
const results = await search(instance, {
|
|
135
144
|
mode: "vector",
|
|
136
145
|
vector: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forbocai/browser",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.7",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"description": "Web Browser implementation for ForbocAI SDK",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"test": "vitest"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@forbocai/core": "^0.5.
|
|
15
|
+
"@forbocai/core": "^0.5.7",
|
|
16
16
|
"@mlc-ai/web-llm": "^0.2.46",
|
|
17
17
|
"@orama/orama": "^2.0.26",
|
|
18
18
|
"@huggingface/transformers": "^3.0.0"
|