radames commited on
Commit
fddd1cb
1 Parent(s): 2862e32

Upload 7 files

Browse files
Files changed (5) hide show
  1. build/m.d.ts +4 -4
  2. build/m.js +37 -37
  3. build/m_bg.wasm +2 -2
  4. index.html +12 -4
  5. moondreamWorker.js +5 -5
build/m.d.ts CHANGED
@@ -22,13 +22,13 @@ export class Model {
22
  * @param {number} repeat_penalty
23
  * @param {number} repeat_last_n
24
  * @param {boolean} verbose_prompt
25
- * @returns {string}
26
  */
27
- init_with_image_prompt(prompt: string, seed: bigint, temp: number, top_p: number, repeat_penalty: number, repeat_last_n: number, verbose_prompt: boolean): string;
28
  /**
29
- * @returns {string}
30
  */
31
- next_token(): string;
32
  }
33
 
34
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
 
22
  * @param {number} repeat_penalty
23
  * @param {number} repeat_last_n
24
  * @param {boolean} verbose_prompt
25
+ * @returns {any}
26
  */
27
+ init_with_image_prompt(prompt: string, seed: bigint, temp: number, top_p: number, repeat_penalty: number, repeat_last_n: number, verbose_prompt: boolean): any;
28
  /**
29
+ * @returns {any}
30
  */
31
+ next_token(): any;
32
  }
33
 
34
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
build/m.js CHANGED
@@ -196,11 +196,9 @@ export class Model {
196
  * @param {number} repeat_penalty
197
  * @param {number} repeat_last_n
198
  * @param {boolean} verbose_prompt
199
- * @returns {string}
200
  */
201
  init_with_image_prompt(prompt, seed, temp, top_p, repeat_penalty, repeat_last_n, verbose_prompt) {
202
- let deferred3_0;
203
- let deferred3_1;
204
  try {
205
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
206
  const ptr0 = passStringToWasm0(prompt, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@@ -209,46 +207,30 @@ export class Model {
209
  var r0 = getInt32Memory0()[retptr / 4 + 0];
210
  var r1 = getInt32Memory0()[retptr / 4 + 1];
211
  var r2 = getInt32Memory0()[retptr / 4 + 2];
212
- var r3 = getInt32Memory0()[retptr / 4 + 3];
213
- var ptr2 = r0;
214
- var len2 = r1;
215
- if (r3) {
216
- ptr2 = 0; len2 = 0;
217
- throw takeObject(r2);
218
  }
219
- deferred3_0 = ptr2;
220
- deferred3_1 = len2;
221
- return getStringFromWasm0(ptr2, len2);
222
  } finally {
223
  wasm.__wbindgen_add_to_stack_pointer(16);
224
- wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
225
  }
226
  }
227
  /**
228
- * @returns {string}
229
  */
230
  next_token() {
231
- let deferred2_0;
232
- let deferred2_1;
233
  try {
234
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
235
  wasm.model_next_token(retptr, this.__wbg_ptr);
236
  var r0 = getInt32Memory0()[retptr / 4 + 0];
237
  var r1 = getInt32Memory0()[retptr / 4 + 1];
238
  var r2 = getInt32Memory0()[retptr / 4 + 2];
239
- var r3 = getInt32Memory0()[retptr / 4 + 3];
240
- var ptr1 = r0;
241
- var len1 = r1;
242
- if (r3) {
243
- ptr1 = 0; len1 = 0;
244
- throw takeObject(r2);
245
  }
246
- deferred2_0 = ptr1;
247
- deferred2_1 = len1;
248
- return getStringFromWasm0(ptr1, len1);
249
  } finally {
250
  wasm.__wbindgen_add_to_stack_pointer(16);
251
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
252
  }
253
  }
254
  }
@@ -294,6 +276,33 @@ function __wbg_get_imports() {
294
  imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
295
  takeObject(arg0);
296
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
297
  imports.wbg.__wbg_new_abda76e883ba8a5f = function() {
298
  const ret = new Error();
299
  return addHeapObject(ret);
@@ -323,11 +332,6 @@ function __wbg_get_imports() {
323
  const ret = getObject(arg0).crypto;
324
  return addHeapObject(ret);
325
  };
326
- imports.wbg.__wbindgen_is_object = function(arg0) {
327
- const val = getObject(arg0);
328
- const ret = typeof(val) === 'object' && val !== null;
329
- return ret;
330
- };
331
  imports.wbg.__wbg_process_298734cf255a885d = function(arg0) {
332
  const ret = getObject(arg0).process;
333
  return addHeapObject(ret);
@@ -356,10 +360,6 @@ function __wbg_get_imports() {
356
  const ret = typeof(getObject(arg0)) === 'function';
357
  return ret;
358
  };
359
- imports.wbg.__wbindgen_string_new = function(arg0, arg1) {
360
- const ret = getStringFromWasm0(arg0, arg1);
361
- return addHeapObject(ret);
362
- };
363
  imports.wbg.__wbg_getRandomValues_37fa2ca9e4e07fab = function() { return handleError(function (arg0, arg1) {
364
  getObject(arg0).getRandomValues(getObject(arg1));
365
  }, arguments) };
@@ -374,8 +374,8 @@ function __wbg_get_imports() {
374
  const ret = getObject(arg0).call(getObject(arg1));
375
  return addHeapObject(ret);
376
  }, arguments) };
377
- imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
378
- const ret = getObject(arg0);
379
  return addHeapObject(ret);
380
  };
381
  imports.wbg.__wbg_self_1ff1d729e9aae938 = function() { return handleError(function () {
 
196
  * @param {number} repeat_penalty
197
  * @param {number} repeat_last_n
198
  * @param {boolean} verbose_prompt
199
+ * @returns {any}
200
  */
201
  init_with_image_prompt(prompt, seed, temp, top_p, repeat_penalty, repeat_last_n, verbose_prompt) {
 
 
202
  try {
203
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
204
  const ptr0 = passStringToWasm0(prompt, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
 
207
  var r0 = getInt32Memory0()[retptr / 4 + 0];
208
  var r1 = getInt32Memory0()[retptr / 4 + 1];
209
  var r2 = getInt32Memory0()[retptr / 4 + 2];
210
+ if (r2) {
211
+ throw takeObject(r1);
 
 
 
 
212
  }
213
+ return takeObject(r0);
 
 
214
  } finally {
215
  wasm.__wbindgen_add_to_stack_pointer(16);
 
216
  }
217
  }
218
  /**
219
+ * @returns {any}
220
  */
221
  next_token() {
 
 
222
  try {
223
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
224
  wasm.model_next_token(retptr, this.__wbg_ptr);
225
  var r0 = getInt32Memory0()[retptr / 4 + 0];
226
  var r1 = getInt32Memory0()[retptr / 4 + 1];
227
  var r2 = getInt32Memory0()[retptr / 4 + 2];
228
+ if (r2) {
229
+ throw takeObject(r1);
 
 
 
 
230
  }
231
+ return takeObject(r0);
 
 
232
  } finally {
233
  wasm.__wbindgen_add_to_stack_pointer(16);
 
234
  }
235
  }
236
  }
 
276
  imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
277
  takeObject(arg0);
278
  };
279
+ imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
280
+ const ret = getObject(arg0);
281
+ return addHeapObject(ret);
282
+ };
283
+ imports.wbg.__wbindgen_is_object = function(arg0) {
284
+ const val = getObject(arg0);
285
+ const ret = typeof(val) === 'object' && val !== null;
286
+ return ret;
287
+ };
288
+ imports.wbg.__wbg_String_b9412f8799faab3e = function(arg0, arg1) {
289
+ const ret = String(getObject(arg1));
290
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
291
+ const len1 = WASM_VECTOR_LEN;
292
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
293
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
294
+ };
295
+ imports.wbg.__wbindgen_number_new = function(arg0) {
296
+ const ret = arg0;
297
+ return addHeapObject(ret);
298
+ };
299
+ imports.wbg.__wbindgen_string_new = function(arg0, arg1) {
300
+ const ret = getStringFromWasm0(arg0, arg1);
301
+ return addHeapObject(ret);
302
+ };
303
+ imports.wbg.__wbg_set_f975102236d3c502 = function(arg0, arg1, arg2) {
304
+ getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
305
+ };
306
  imports.wbg.__wbg_new_abda76e883ba8a5f = function() {
307
  const ret = new Error();
308
  return addHeapObject(ret);
 
332
  const ret = getObject(arg0).crypto;
333
  return addHeapObject(ret);
334
  };
 
 
 
 
 
335
  imports.wbg.__wbg_process_298734cf255a885d = function(arg0) {
336
  const ret = getObject(arg0).process;
337
  return addHeapObject(ret);
 
360
  const ret = typeof(getObject(arg0)) === 'function';
361
  return ret;
362
  };
 
 
 
 
363
  imports.wbg.__wbg_getRandomValues_37fa2ca9e4e07fab = function() { return handleError(function (arg0, arg1) {
364
  getObject(arg0).getRandomValues(getObject(arg1));
365
  }, arguments) };
 
374
  const ret = getObject(arg0).call(getObject(arg1));
375
  return addHeapObject(ret);
376
  }, arguments) };
377
+ imports.wbg.__wbg_new_b51585de1b234aff = function() {
378
+ const ret = new Object();
379
  return addHeapObject(ret);
380
  };
381
  imports.wbg.__wbg_self_1ff1d729e9aae938 = function() { return handleError(function () {
build/m_bg.wasm CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:cc90fd24ffcce78fb09eb775c93e3a6b6147ecf5410f4612be62ddd0d9d78f7a
3
- size 5352500
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:acf86f8bfa250372f6e1707f527191c963fb9887c059b4865b483e26a5f84742
3
+ size 5357870
index.html CHANGED
@@ -50,9 +50,17 @@
50
  >Moondream 2</a
51
  >
52
  by
53
- <a href=" https://huggingface.co/vikhyatk" class="link">Vik</a>
 
 
 
 
 
54
  and model implementation on Candle by
55
- <a href="https://huggingface.co/santiagomed" class="link"
 
 
 
56
  >Santiago Medina
57
  </a>
58
  </p>
@@ -106,13 +114,13 @@
106
  min="1"
107
  max="2048"
108
  step="1"
109
- value="200"
110
  oninput="this.nextElementSibling.value = Number(this.value)"
111
  />
112
  <output
113
  class="text-xs w-[50px] text-center font-light px-1 py-1 border border-gray-700 rounded-md"
114
  >
115
- 200</output
116
  >
117
  <label class="text-sm font-medium" for="temperature"
118
  >Temperature</label
 
50
  >Moondream 2</a
51
  >
52
  by
53
+ <a
54
+ href=" https://huggingface.co/vikhyatk"
55
+ class="link"
56
+ target="_blank"
57
+ >Vik</a
58
+ >
59
  and model implementation on Candle by
60
+ <a
61
+ href="https://huggingface.co/santiagomed"
62
+ class="link"
63
+ target="_blank"
64
  >Santiago Medina
65
  </a>
66
  </p>
 
114
  min="1"
115
  max="2048"
116
  step="1"
117
+ value="500"
118
  oninput="this.nextElementSibling.value = Number(this.value)"
119
  />
120
  <output
121
  class="text-xs w-[50px] text-center font-light px-1 py-1 border border-gray-700 rounded-md"
122
  >
123
+ 500</output
124
  >
125
  <label class="text-sm font-medium" for="temperature"
126
  >Temperature</label
moondreamWorker.js CHANGED
@@ -136,7 +136,7 @@ async function generate(data) {
136
  status: "complete-embedding",
137
  message: "Embeddings Complete",
138
  });
139
- const firstToken = model.init_with_image_prompt(
140
  prompt,
141
  BigInt(seed),
142
  temp,
@@ -147,7 +147,7 @@ async function generate(data) {
147
  );
148
  const seq_len = 2048;
149
 
150
- let sentence = firstToken;
151
  let maxTokens = maxSeqLen ? maxSeqLen : seq_len - prompt.length - 1;
152
  let startTime = performance.now();
153
  let tokensCount = 0;
@@ -162,9 +162,9 @@ async function generate(data) {
162
  });
163
  return;
164
  }
165
- const token = await model.next_token();
166
- console.log("Token: ", token);
167
- if (token === "<|endoftext|>" || token === "END") {
168
  self.postMessage({
169
  status: "complete",
170
  message: "complete",
 
136
  status: "complete-embedding",
137
  message: "Embeddings Complete",
138
  });
139
+ const { token, token_id } = model.init_with_image_prompt(
140
  prompt,
141
  BigInt(seed),
142
  temp,
 
147
  );
148
  const seq_len = 2048;
149
 
150
+ let sentence = token;
151
  let maxTokens = maxSeqLen ? maxSeqLen : seq_len - prompt.length - 1;
152
  let startTime = performance.now();
153
  let tokensCount = 0;
 
162
  });
163
  return;
164
  }
165
+ const { token, token_id } = await model.next_token();
166
+ if (token_id === 50256) {
167
+ // <|endoftext|>
168
  self.postMessage({
169
  status: "complete",
170
  message: "complete",