Xenova's picture
Xenova HF staff
Upload 34 files
5a62850 verified
raw
history blame contribute delete
No virus
5.69 kB
!function(){var e,t,r,_,n,i,a,c,o={495:function(){},7147:function(){},1418:function(){},8741:function(){},319:function(){},8386:function(){},3342:function(){},5639:function(e,t,r){"use strict";var _=r(7582);async function getCachedFile(e){let t;try{t=await caches.open("image-database");let r=await t.match(e);if(r)return await r.arrayBuffer()}catch(e){console.warn("Unable to open cache",e)}let r=await fetch(e),_=await r.arrayBuffer();if(t)try{await t.put(e,new Response(_,{headers:r.headers}))}catch(e){console.warn("Unable to cache file",e)}return _}async function getCachedJSON(e){let t=await getCachedFile(e);return JSON.parse(new TextDecoder("utf-8").decode(t))}_.OBj.allowLocalModels=!1;let ApplicationSingleton=class ApplicationSingleton{static async getInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===this.tokenizer&&(this.tokenizer=_.t25.from_pretrained(this.model_id,{progress_callback:e})),null===this.text_model&&(this.text_model=_.v3$.from_pretrained(this.model_id,{progress_callback:e})),null===this.metadata&&(this.metadata=getCachedJSON("".concat(this.BASE_URL,"metadata_").concat(10,"k.json"))),null===this.embeddings&&(this.embeddings=new Promise((e,t)=>{getCachedFile("".concat(this.BASE_URL,"image-embeddings_").concat(10,"k-768-32bit.bin")).then(t=>{e(new Float32Array(t))}).catch(t)})),Promise.all([this.tokenizer,this.text_model,this.metadata,this.embeddings])}};ApplicationSingleton.model_id="Xenova/siglip-base-patch16-224",ApplicationSingleton.BASE_URL="https://huggingface.co/datasets/Xenova/siglip-semantic-image-search-assets/resolve/main/",ApplicationSingleton.tokenizer=null,ApplicationSingleton.text_model=null,ApplicationSingleton.metadata=null,ApplicationSingleton.embeddings=null,self.addEventListener("message",async e=>{let[t,r,_,n]=await ApplicationSingleton.getInstance(self.postMessage);self.postMessage({status:"ready"});let i=t(e.data.text,{padding:"max_length",truncation:!0}),{pooler_output:a}=await r(i),c=function(e,t){let r=t.length/768,_=Array(r);for(let n=0;n<r;++n){let r=768*n,i=t.slice(r,r+768),a=0,c=0,o=0;for(let t=0;t<768;++t){let r=e[t],_=i[t];a+=r*_,c+=r*r,o+=_*_}_[n]=a/(Math.sqrt(c)*Math.sqrt(o))}return _}(a.data,n),o=_.slice(0);for(let e=0;e<_.length;++e)o[e].score=c[e];o.sort((e,t)=>t.score-e.score),o=o.slice(0,100),self.postMessage({status:"complete",output:o})})}},u={};function __webpack_require__(e){var t=u[e];if(void 0!==t)return t.exports;var r=u[e]={exports:{}},_=!0;try{o[e](r,r.exports,__webpack_require__),_=!1}finally{_&&delete u[e]}return r.exports}__webpack_require__.m=o,__webpack_require__.x=function(){var e=__webpack_require__.O(void 0,[165,132,15,414],function(){return __webpack_require__(5639)});return __webpack_require__.O(e)},e=[],__webpack_require__.O=function(t,r,_,n){if(r){n=n||0;for(var i=e.length;i>0&&e[i-1][2]>n;i--)e[i]=e[i-1];e[i]=[r,_,n];return}for(var a=1/0,i=0;i<e.length;i++){for(var r=e[i][0],_=e[i][1],n=e[i][2],c=!0,o=0;o<r.length;o++)a>=n&&Object.keys(__webpack_require__.O).every(function(e){return __webpack_require__.O[e](r[o])})?r.splice(o--,1):(c=!1,n<a&&(a=n));if(c){e.splice(i--,1);var u=_();void 0!==u&&(t=u)}}return t},r=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},__webpack_require__.t=function(e,_){if(1&_&&(e=this(e)),8&_||"object"==typeof e&&e&&(4&_&&e.__esModule||16&_&&"function"==typeof e.then))return e;var n=Object.create(null);__webpack_require__.r(n);var i={};t=t||[null,r({}),r([]),r(r)];for(var a=2&_&&e;"object"==typeof a&&!~t.indexOf(a);a=r(a))Object.getOwnPropertyNames(a).forEach(function(t){i[t]=function(){return e[t]}});return i.default=function(){return e},__webpack_require__.d(n,i),n},__webpack_require__.d=function(e,t){for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.f={},__webpack_require__.e=function(e){return Promise.all(Object.keys(__webpack_require__.f).reduce(function(t,r){return __webpack_require__.f[r](e,t),t},[]))},__webpack_require__.u=function(e){return"static/chunks/"+(({15:"b2db8554",132:"6139e184",165:"590caa2a"})[e]||e)+"."+({15:"52edab78c4db740a",132:"313e74206b20885b",165:"673a5561af855a3b",414:"1fb1acb2983498d1"})[e]+".js"},__webpack_require__.miniCssF=function(e){},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.tt=function(){return void 0===_&&(_={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(_=trustedTypes.createPolicy("nextjs#bundler",_))),_},__webpack_require__.tu=function(e){return __webpack_require__.tt().createScriptURL(e)},__webpack_require__.p="/_next/",n={908:1},__webpack_require__.f.i=function(e,t){n[e]||importScripts(__webpack_require__.tu(__webpack_require__.p+__webpack_require__.u(e)))},a=(i=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push.bind(i),i.push=function(e){var t=e[0],r=e[1],_=e[2];for(var i in r)__webpack_require__.o(r,i)&&(__webpack_require__.m[i]=r[i]);for(_&&_(__webpack_require__);t.length;)n[t.pop()]=1;a(e)},c=__webpack_require__.x,__webpack_require__.x=function(){return Promise.all([165,132,15,414].map(__webpack_require__.e,__webpack_require__)).then(c)},_N_E=__webpack_require__.x()}();