Migrate to new model + proxy from server (#5)
Browse files* use fork of hf.js to support fully custom endpoints for testing purpose
* proxy textGenerationStream call to the backend to hide token from client
* migrate to patch-package instead of pnpm
* fix issue after merge conflict
* use env var instead of hardcoded value for endpoint
* fix messages not being split between assistant/user
* fix stream response sometimes not split by token
* remove PUBLIC_ from private env variables + rename ENDPOINT to MODEL_ENDPOINT
* only set hf token as private, model can stay public
* move HF_TOKEN to a dynamic env
* fix env var import typo
* remove @microsoft/fetch-event-source
* update parameters to be identical to Python demo
* small refactor to avoid typing issue
* cleanup while loop
Co-authored-by: Julien Chaumond <julien@huggingface.co>
* make comment clearer on what is happening on stream chunks split
* fix chunk spliting not being handled properly
* cleanup model tokens sometimes containing "<|endoftext|>" text
* refactor how we proxy from the server to simplify logic
* use latest version of hf.js
* use .env + .env.local instead of .env.example
* rewrite logic to trim "<|endoftext|>" artifact properly
* update to latest hf.js
* expose env var to Docker during build time for deployment
* remove patch-package
---------
Co-authored-by: Julien Chaumond <julien@huggingface.co>
- .env +7 -0
 - .env.example +0 -7
 - Dockerfile +2 -1
 - package-lock.json +165 -125
 - package.json +1 -1
 - src/routes/+page.svelte +54 -48
 - src/routes/api/conversation/+server.ts +14 -0
 
| 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
| 
         | 
|
| 1 | 
         
            +
            PUBLIC_MODEL_ENDPOINT=https://api-inference.huggingface.co/models/OpenAssistant/oasst-sft-1-pythia-12b
         
     | 
| 2 | 
         
            +
            PUBLIC_MODEL_NAME=OpenAssistant/oasst-sft-1-pythia-12b
         
     | 
| 3 | 
         
            +
            PUBLIC_MODEL_TAGLINE=This is the first iteration English supervised-fine-tuning (SFT) model of the <a class="underline" href="https://github.com/LAION-AI/Open-Assistant">Open-Assistant</a> project. It is based on a Pythia 12B that was fine-tuned on ~22k human demonstrations of assistant conversations collected through the <a class="underline" href="https://open-assistant.io/">https://open-assistant.io/</a> human feedback web app before March 7, 2023.
         
     | 
| 4 | 
         
            +
            PUBLIC_DISABLE_INTRO_TILES=true
         
     | 
| 5 | 
         
            +
            PUBLIC_USER_MESSAGE_TOKEN=<|prompter|>
         
     | 
| 6 | 
         
            +
            PUBLIC_ASSISTANT_MESSAGE_TOKEN=<|assistant|>
         
     | 
| 7 | 
         
            +
            PUBLIC_SEP_TOKEN=<|endoftext|>
         
     | 
| 
         @@ -1,7 +0,0 @@ 
     | 
|
| 1 | 
         
            -
            PUBLIC_HF_TOKEN=
         
     | 
| 2 | 
         
            -
            PUBLIC_ENDPOINT=https://api-inference.huggingface.co/models/OpenAssistant/oasst-sft-1-pythia-12b
         
     | 
| 3 | 
         
            -
            PUBLIC_MODEL_NAME=OpenAssistant/llama_30b_oasst_latcyr_1000
         
     | 
| 4 | 
         
            -
            PUBLIC_DISABLE_INTRO_TILES=true
         
     | 
| 5 | 
         
            -
            PUBLIC_USER_MESSAGE_TOKEN=<|prompter|>
         
     | 
| 6 | 
         
            -
            PUBLIC_ASSISTANT_MESSAGE_TOKEN=<|assistant|>
         
     | 
| 7 | 
         
            -
            PUBLIC_SEP_TOKEN=<|endoftext|>
         
     | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
| 
         @@ -11,7 +11,8 @@ RUN npm i 
     | 
|
| 11 | 
         | 
| 12 | 
         
             
            RUN chown -R 1000:1000 /app
         
     | 
| 13 | 
         | 
| 14 | 
         
            -
            RUN  
     | 
| 
         | 
|
| 15 | 
         | 
| 16 | 
         
             
            ENV PORT 7860
         
     | 
| 17 | 
         | 
| 
         | 
|
| 11 | 
         | 
| 12 | 
         
             
            RUN chown -R 1000:1000 /app
         
     | 
| 13 | 
         | 
| 14 | 
         
            +
            RUN --mount=type=secret,id=PUBLIC_MODEL_ENDPOINT,mode=0444,required=true \
         
     | 
| 15 | 
         
            +
               PUBLIC_MODEL_ENDPOINT=$(cat /run/secrets/PUBLIC_MODEL_ENDPOINT) npm run build
         
     | 
| 16 | 
         | 
| 17 | 
         
             
            ENV PORT 7860
         
     | 
| 18 | 
         | 
| 
         @@ -8,7 +8,7 @@ 
     | 
|
| 8 | 
         
             
            			"name": "chat-ui",
         
     | 
| 9 | 
         
             
            			"version": "0.0.1",
         
     | 
| 10 | 
         
             
            			"dependencies": {
         
     | 
| 11 | 
         
            -
            				"@ 
     | 
| 12 | 
         
             
            				"autoprefixer": "^10.4.14",
         
     | 
| 13 | 
         
             
            				"postcss": "^8.4.21",
         
     | 
| 14 | 
         
             
            				"tailwind-scrollbar": "^3.0.0",
         
     | 
| 
         @@ -33,9 +33,9 @@ 
     | 
|
| 33 | 
         
             
            			}
         
     | 
| 34 | 
         
             
            		},
         
     | 
| 35 | 
         
             
            		"node_modules/@esbuild/android-arm": {
         
     | 
| 36 | 
         
            -
            			"version": "0.16 
     | 
| 37 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16. 
     | 
| 38 | 
         
            -
            			"integrity": "sha512- 
     | 
| 39 | 
         
             
            			"cpu": [
         
     | 
| 40 | 
         
             
            				"arm"
         
     | 
| 41 | 
         
             
            			],
         
     | 
| 
         @@ -49,9 +49,9 @@ 
     | 
|
| 49 | 
         
             
            			}
         
     | 
| 50 | 
         
             
            		},
         
     | 
| 51 | 
         
             
            		"node_modules/@esbuild/android-arm64": {
         
     | 
| 52 | 
         
            -
            			"version": "0.16 
     | 
| 53 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16. 
     | 
| 54 | 
         
            -
            			"integrity": "sha512- 
     | 
| 55 | 
         
             
            			"cpu": [
         
     | 
| 56 | 
         
             
            				"arm64"
         
     | 
| 57 | 
         
             
            			],
         
     | 
| 
         @@ -65,9 +65,9 @@ 
     | 
|
| 65 | 
         
             
            			}
         
     | 
| 66 | 
         
             
            		},
         
     | 
| 67 | 
         
             
            		"node_modules/@esbuild/android-x64": {
         
     | 
| 68 | 
         
            -
            			"version": "0.16 
     | 
| 69 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16. 
     | 
| 70 | 
         
            -
            			"integrity": "sha512- 
     | 
| 71 | 
         
             
            			"cpu": [
         
     | 
| 72 | 
         
             
            				"x64"
         
     | 
| 73 | 
         
             
            			],
         
     | 
| 
         @@ -81,9 +81,9 @@ 
     | 
|
| 81 | 
         
             
            			}
         
     | 
| 82 | 
         
             
            		},
         
     | 
| 83 | 
         
             
            		"node_modules/@esbuild/darwin-arm64": {
         
     | 
| 84 | 
         
            -
            			"version": "0.16 
     | 
| 85 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16. 
     | 
| 86 | 
         
            -
            			"integrity": "sha512-/ 
     | 
| 87 | 
         
             
            			"cpu": [
         
     | 
| 88 | 
         
             
            				"arm64"
         
     | 
| 89 | 
         
             
            			],
         
     | 
| 
         @@ -97,9 +97,9 @@ 
     | 
|
| 97 | 
         
             
            			}
         
     | 
| 98 | 
         
             
            		},
         
     | 
| 99 | 
         
             
            		"node_modules/@esbuild/darwin-x64": {
         
     | 
| 100 | 
         
            -
            			"version": "0.16 
     | 
| 101 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16. 
     | 
| 102 | 
         
            -
            			"integrity": "sha512- 
     | 
| 103 | 
         
             
            			"cpu": [
         
     | 
| 104 | 
         
             
            				"x64"
         
     | 
| 105 | 
         
             
            			],
         
     | 
| 
         @@ -113,9 +113,9 @@ 
     | 
|
| 113 | 
         
             
            			}
         
     | 
| 114 | 
         
             
            		},
         
     | 
| 115 | 
         
             
            		"node_modules/@esbuild/freebsd-arm64": {
         
     | 
| 116 | 
         
            -
            			"version": "0.16 
     | 
| 117 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16. 
     | 
| 118 | 
         
            -
            			"integrity": "sha512- 
     | 
| 119 | 
         
             
            			"cpu": [
         
     | 
| 120 | 
         
             
            				"arm64"
         
     | 
| 121 | 
         
             
            			],
         
     | 
| 
         @@ -129,9 +129,9 @@ 
     | 
|
| 129 | 
         
             
            			}
         
     | 
| 130 | 
         
             
            		},
         
     | 
| 131 | 
         
             
            		"node_modules/@esbuild/freebsd-x64": {
         
     | 
| 132 | 
         
            -
            			"version": "0.16 
     | 
| 133 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16. 
     | 
| 134 | 
         
            -
            			"integrity": "sha512- 
     | 
| 135 | 
         
             
            			"cpu": [
         
     | 
| 136 | 
         
             
            				"x64"
         
     | 
| 137 | 
         
             
            			],
         
     | 
| 
         @@ -145,9 +145,9 @@ 
     | 
|
| 145 | 
         
             
            			}
         
     | 
| 146 | 
         
             
            		},
         
     | 
| 147 | 
         
             
            		"node_modules/@esbuild/linux-arm": {
         
     | 
| 148 | 
         
            -
            			"version": "0.16 
     | 
| 149 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16. 
     | 
| 150 | 
         
            -
            			"integrity": "sha512- 
     | 
| 151 | 
         
             
            			"cpu": [
         
     | 
| 152 | 
         
             
            				"arm"
         
     | 
| 153 | 
         
             
            			],
         
     | 
| 
         @@ -161,9 +161,9 @@ 
     | 
|
| 161 | 
         
             
            			}
         
     | 
| 162 | 
         
             
            		},
         
     | 
| 163 | 
         
             
            		"node_modules/@esbuild/linux-arm64": {
         
     | 
| 164 | 
         
            -
            			"version": "0.16 
     | 
| 165 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16. 
     | 
| 166 | 
         
            -
            			"integrity": "sha512- 
     | 
| 167 | 
         
             
            			"cpu": [
         
     | 
| 168 | 
         
             
            				"arm64"
         
     | 
| 169 | 
         
             
            			],
         
     | 
| 
         @@ -177,9 +177,9 @@ 
     | 
|
| 177 | 
         
             
            			}
         
     | 
| 178 | 
         
             
            		},
         
     | 
| 179 | 
         
             
            		"node_modules/@esbuild/linux-ia32": {
         
     | 
| 180 | 
         
            -
            			"version": "0.16 
     | 
| 181 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16. 
     | 
| 182 | 
         
            -
            			"integrity": "sha512- 
     | 
| 183 | 
         
             
            			"cpu": [
         
     | 
| 184 | 
         
             
            				"ia32"
         
     | 
| 185 | 
         
             
            			],
         
     | 
| 
         @@ -193,9 +193,9 @@ 
     | 
|
| 193 | 
         
             
            			}
         
     | 
| 194 | 
         
             
            		},
         
     | 
| 195 | 
         
             
            		"node_modules/@esbuild/linux-loong64": {
         
     | 
| 196 | 
         
            -
            			"version": "0.16 
     | 
| 197 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16. 
     | 
| 198 | 
         
            -
            			"integrity": "sha512- 
     | 
| 199 | 
         
             
            			"cpu": [
         
     | 
| 200 | 
         
             
            				"loong64"
         
     | 
| 201 | 
         
             
            			],
         
     | 
| 
         @@ -209,9 +209,9 @@ 
     | 
|
| 209 | 
         
             
            			}
         
     | 
| 210 | 
         
             
            		},
         
     | 
| 211 | 
         
             
            		"node_modules/@esbuild/linux-mips64el": {
         
     | 
| 212 | 
         
            -
            			"version": "0.16 
     | 
| 213 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16. 
     | 
| 214 | 
         
            -
            			"integrity": "sha512- 
     | 
| 215 | 
         
             
            			"cpu": [
         
     | 
| 216 | 
         
             
            				"mips64el"
         
     | 
| 217 | 
         
             
            			],
         
     | 
| 
         @@ -225,9 +225,9 @@ 
     | 
|
| 225 | 
         
             
            			}
         
     | 
| 226 | 
         
             
            		},
         
     | 
| 227 | 
         
             
            		"node_modules/@esbuild/linux-ppc64": {
         
     | 
| 228 | 
         
            -
            			"version": "0.16 
     | 
| 229 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16. 
     | 
| 230 | 
         
            -
            			"integrity": "sha512- 
     | 
| 231 | 
         
             
            			"cpu": [
         
     | 
| 232 | 
         
             
            				"ppc64"
         
     | 
| 233 | 
         
             
            			],
         
     | 
| 
         @@ -241,9 +241,9 @@ 
     | 
|
| 241 | 
         
             
            			}
         
     | 
| 242 | 
         
             
            		},
         
     | 
| 243 | 
         
             
            		"node_modules/@esbuild/linux-riscv64": {
         
     | 
| 244 | 
         
            -
            			"version": "0.16 
     | 
| 245 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16. 
     | 
| 246 | 
         
            -
            			"integrity": "sha512- 
     | 
| 247 | 
         
             
            			"cpu": [
         
     | 
| 248 | 
         
             
            				"riscv64"
         
     | 
| 249 | 
         
             
            			],
         
     | 
| 
         @@ -257,9 +257,9 @@ 
     | 
|
| 257 | 
         
             
            			}
         
     | 
| 258 | 
         
             
            		},
         
     | 
| 259 | 
         
             
            		"node_modules/@esbuild/linux-s390x": {
         
     | 
| 260 | 
         
            -
            			"version": "0.16 
     | 
| 261 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16. 
     | 
| 262 | 
         
            -
            			"integrity": "sha512- 
     | 
| 263 | 
         
             
            			"cpu": [
         
     | 
| 264 | 
         
             
            				"s390x"
         
     | 
| 265 | 
         
             
            			],
         
     | 
| 
         @@ -273,9 +273,9 @@ 
     | 
|
| 273 | 
         
             
            			}
         
     | 
| 274 | 
         
             
            		},
         
     | 
| 275 | 
         
             
            		"node_modules/@esbuild/linux-x64": {
         
     | 
| 276 | 
         
            -
            			"version": "0.16 
     | 
| 277 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16. 
     | 
| 278 | 
         
            -
            			"integrity": "sha512- 
     | 
| 279 | 
         
             
            			"cpu": [
         
     | 
| 280 | 
         
             
            				"x64"
         
     | 
| 281 | 
         
             
            			],
         
     | 
| 
         @@ -289,9 +289,9 @@ 
     | 
|
| 289 | 
         
             
            			}
         
     | 
| 290 | 
         
             
            		},
         
     | 
| 291 | 
         
             
            		"node_modules/@esbuild/netbsd-x64": {
         
     | 
| 292 | 
         
            -
            			"version": "0.16 
     | 
| 293 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16. 
     | 
| 294 | 
         
            -
            			"integrity": "sha512 
     | 
| 295 | 
         
             
            			"cpu": [
         
     | 
| 296 | 
         
             
            				"x64"
         
     | 
| 297 | 
         
             
            			],
         
     | 
| 
         @@ -305,9 +305,9 @@ 
     | 
|
| 305 | 
         
             
            			}
         
     | 
| 306 | 
         
             
            		},
         
     | 
| 307 | 
         
             
            		"node_modules/@esbuild/openbsd-x64": {
         
     | 
| 308 | 
         
            -
            			"version": "0.16 
     | 
| 309 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16. 
     | 
| 310 | 
         
            -
            			"integrity": "sha512- 
     | 
| 311 | 
         
             
            			"cpu": [
         
     | 
| 312 | 
         
             
            				"x64"
         
     | 
| 313 | 
         
             
            			],
         
     | 
| 
         @@ -321,9 +321,9 @@ 
     | 
|
| 321 | 
         
             
            			}
         
     | 
| 322 | 
         
             
            		},
         
     | 
| 323 | 
         
             
            		"node_modules/@esbuild/sunos-x64": {
         
     | 
| 324 | 
         
            -
            			"version": "0.16 
     | 
| 325 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16. 
     | 
| 326 | 
         
            -
            			"integrity": "sha512- 
     | 
| 327 | 
         
             
            			"cpu": [
         
     | 
| 328 | 
         
             
            				"x64"
         
     | 
| 329 | 
         
             
            			],
         
     | 
| 
         @@ -337,9 +337,9 @@ 
     | 
|
| 337 | 
         
             
            			}
         
     | 
| 338 | 
         
             
            		},
         
     | 
| 339 | 
         
             
            		"node_modules/@esbuild/win32-arm64": {
         
     | 
| 340 | 
         
            -
            			"version": "0.16 
     | 
| 341 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16. 
     | 
| 342 | 
         
            -
            			"integrity": "sha512- 
     | 
| 343 | 
         
             
            			"cpu": [
         
     | 
| 344 | 
         
             
            				"arm64"
         
     | 
| 345 | 
         
             
            			],
         
     | 
| 
         @@ -353,9 +353,9 @@ 
     | 
|
| 353 | 
         
             
            			}
         
     | 
| 354 | 
         
             
            		},
         
     | 
| 355 | 
         
             
            		"node_modules/@esbuild/win32-ia32": {
         
     | 
| 356 | 
         
            -
            			"version": "0.16 
     | 
| 357 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16. 
     | 
| 358 | 
         
            -
            			"integrity": "sha512- 
     | 
| 359 | 
         
             
            			"cpu": [
         
     | 
| 360 | 
         
             
            				"ia32"
         
     | 
| 361 | 
         
             
            			],
         
     | 
| 
         @@ -369,9 +369,9 @@ 
     | 
|
| 369 | 
         
             
            			}
         
     | 
| 370 | 
         
             
            		},
         
     | 
| 371 | 
         
             
            		"node_modules/@esbuild/win32-x64": {
         
     | 
| 372 | 
         
            -
            			"version": "0.16 
     | 
| 373 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16. 
     | 
| 374 | 
         
            -
            			"integrity": "sha512- 
     | 
| 375 | 
         
             
            			"cpu": [
         
     | 
| 376 | 
         
             
            				"x64"
         
     | 
| 377 | 
         
             
            			],
         
     | 
| 
         @@ -384,15 +384,39 @@ 
     | 
|
| 384 | 
         
             
            				"node": ">=12"
         
     | 
| 385 | 
         
             
            			}
         
     | 
| 386 | 
         
             
            		},
         
     | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 387 | 
         
             
            		"node_modules/@eslint/eslintrc": {
         
     | 
| 388 | 
         
            -
            			"version": " 
     | 
| 389 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc- 
     | 
| 390 | 
         
            -
            			"integrity": "sha512- 
     | 
| 391 | 
         
             
            			"dev": true,
         
     | 
| 392 | 
         
             
            			"dependencies": {
         
     | 
| 393 | 
         
             
            				"ajv": "^6.12.4",
         
     | 
| 394 | 
         
             
            				"debug": "^4.3.2",
         
     | 
| 395 | 
         
            -
            				"espree": "^9. 
     | 
| 396 | 
         
             
            				"globals": "^13.19.0",
         
     | 
| 397 | 
         
             
            				"ignore": "^5.2.0",
         
     | 
| 398 | 
         
             
            				"import-fresh": "^3.2.1",
         
     | 
| 
         @@ -407,6 +431,23 @@ 
     | 
|
| 407 | 
         
             
            				"url": "https://opencollective.com/eslint"
         
     | 
| 408 | 
         
             
            			}
         
     | 
| 409 | 
         
             
            		},
         
     | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 410 | 
         
             
            		"node_modules/@humanwhocodes/config-array": {
         
     | 
| 411 | 
         
             
            			"version": "0.11.8",
         
     | 
| 412 | 
         
             
            			"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
         
     | 
| 
         @@ -483,11 +524,6 @@ 
     | 
|
| 483 | 
         
             
            				"@jridgewell/sourcemap-codec": "1.4.14"
         
     | 
| 484 | 
         
             
            			}
         
     | 
| 485 | 
         
             
            		},
         
     | 
| 486 | 
         
            -
            		"node_modules/@microsoft/fetch-event-source": {
         
     | 
| 487 | 
         
            -
            			"version": "2.0.1",
         
     | 
| 488 | 
         
            -
            			"resolved": "https://registry.npmjs.org/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz",
         
     | 
| 489 | 
         
            -
            			"integrity": "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA=="
         
     | 
| 490 | 
         
            -
            		},
         
     | 
| 491 | 
         
             
            		"node_modules/@nodelib/fs.scandir": {
         
     | 
| 492 | 
         
             
            			"version": "2.1.5",
         
     | 
| 493 | 
         
             
            			"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
         
     | 
| 
         @@ -1476,9 +1512,9 @@ 
     | 
|
| 1476 | 
         
             
            			"dev": true
         
     | 
| 1477 | 
         
             
            		},
         
     | 
| 1478 | 
         
             
            		"node_modules/esbuild": {
         
     | 
| 1479 | 
         
            -
            			"version": "0.16 
     | 
| 1480 | 
         
            -
            			"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16. 
     | 
| 1481 | 
         
            -
            			"integrity": "sha512- 
     | 
| 1482 | 
         
             
            			"dev": true,
         
     | 
| 1483 | 
         
             
            			"hasInstallScript": true,
         
     | 
| 1484 | 
         
             
            			"bin": {
         
     | 
| 
         @@ -1488,28 +1524,28 @@ 
     | 
|
| 1488 | 
         
             
            				"node": ">=12"
         
     | 
| 1489 | 
         
             
            			},
         
     | 
| 1490 | 
         
             
            			"optionalDependencies": {
         
     | 
| 1491 | 
         
            -
            				"@esbuild/android-arm": "0.16 
     | 
| 1492 | 
         
            -
            				"@esbuild/android-arm64": "0.16 
     | 
| 1493 | 
         
            -
            				"@esbuild/android-x64": "0.16 
     | 
| 1494 | 
         
            -
            				"@esbuild/darwin-arm64": "0.16 
     | 
| 1495 | 
         
            -
            				"@esbuild/darwin-x64": "0.16 
     | 
| 1496 | 
         
            -
            				"@esbuild/freebsd-arm64": "0.16 
     | 
| 1497 | 
         
            -
            				"@esbuild/freebsd-x64": "0.16 
     | 
| 1498 | 
         
            -
            				"@esbuild/linux-arm": "0.16 
     | 
| 1499 | 
         
            -
            				"@esbuild/linux-arm64": "0.16 
     | 
| 1500 | 
         
            -
            				"@esbuild/linux-ia32": "0.16 
     | 
| 1501 | 
         
            -
            				"@esbuild/linux-loong64": "0.16 
     | 
| 1502 | 
         
            -
            				"@esbuild/linux-mips64el": "0.16 
     | 
| 1503 | 
         
            -
            				"@esbuild/linux-ppc64": "0.16 
     | 
| 1504 | 
         
            -
            				"@esbuild/linux-riscv64": "0.16 
     | 
| 1505 | 
         
            -
            				"@esbuild/linux-s390x": "0.16 
     | 
| 1506 | 
         
            -
            				"@esbuild/linux-x64": "0.16 
     | 
| 1507 | 
         
            -
            				"@esbuild/netbsd-x64": "0.16 
     | 
| 1508 | 
         
            -
            				"@esbuild/openbsd-x64": "0.16 
     | 
| 1509 | 
         
            -
            				"@esbuild/sunos-x64": "0.16 
     | 
| 1510 | 
         
            -
            				"@esbuild/win32-arm64": "0.16 
     | 
| 1511 | 
         
            -
            				"@esbuild/win32-ia32": "0.16 
     | 
| 1512 | 
         
            -
            				"@esbuild/win32-x64": "0.16 
     | 
| 1513 | 
         
             
            			}
         
     | 
| 1514 | 
         
             
            		},
         
     | 
| 1515 | 
         
             
            		"node_modules/escalade": {
         
     | 
| 
         @@ -1533,12 +1569,15 @@ 
     | 
|
| 1533 | 
         
             
            			}
         
     | 
| 1534 | 
         
             
            		},
         
     | 
| 1535 | 
         
             
            		"node_modules/eslint": {
         
     | 
| 1536 | 
         
            -
            			"version": "8. 
     | 
| 1537 | 
         
            -
            			"resolved": "https://registry.npmjs.org/eslint/-/eslint-8. 
     | 
| 1538 | 
         
            -
            			"integrity": "sha512- 
     | 
| 1539 | 
         
             
            			"dev": true,
         
     | 
| 1540 | 
         
             
            			"dependencies": {
         
     | 
| 1541 | 
         
            -
            				"@eslint/ 
     | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 1542 | 
         
             
            				"@humanwhocodes/config-array": "^0.11.8",
         
     | 
| 1543 | 
         
             
            				"@humanwhocodes/module-importer": "^1.0.1",
         
     | 
| 1544 | 
         
             
            				"@nodelib/fs.walk": "^1.2.8",
         
     | 
| 
         @@ -1549,10 +1588,9 @@ 
     | 
|
| 1549 | 
         
             
            				"doctrine": "^3.0.0",
         
     | 
| 1550 | 
         
             
            				"escape-string-regexp": "^4.0.0",
         
     | 
| 1551 | 
         
             
            				"eslint-scope": "^7.1.1",
         
     | 
| 1552 | 
         
            -
            				"eslint- 
     | 
| 1553 | 
         
            -
            				" 
     | 
| 1554 | 
         
            -
            				" 
     | 
| 1555 | 
         
            -
            				"esquery": "^1.4.0",
         
     | 
| 1556 | 
         
             
            				"esutils": "^2.0.2",
         
     | 
| 1557 | 
         
             
            				"fast-deep-equal": "^3.1.3",
         
     | 
| 1558 | 
         
             
            				"file-entry-cache": "^6.0.1",
         
     | 
| 
         @@ -1573,7 +1611,6 @@ 
     | 
|
| 1573 | 
         
             
            				"minimatch": "^3.1.2",
         
     | 
| 1574 | 
         
             
            				"natural-compare": "^1.4.0",
         
     | 
| 1575 | 
         
             
            				"optionator": "^0.9.1",
         
     | 
| 1576 | 
         
            -
            				"regexpp": "^3.2.0",
         
     | 
| 1577 | 
         
             
            				"strip-ansi": "^6.0.1",
         
     | 
| 1578 | 
         
             
            				"strip-json-comments": "^3.1.0",
         
     | 
| 1579 | 
         
             
            				"text-table": "^0.2.0"
         
     | 
| 
         @@ -1651,12 +1688,15 @@ 
     | 
|
| 1651 | 
         
             
            			}
         
     | 
| 1652 | 
         
             
            		},
         
     | 
| 1653 | 
         
             
            		"node_modules/eslint-visitor-keys": {
         
     | 
| 1654 | 
         
            -
            			"version": "3. 
     | 
| 1655 | 
         
            -
            			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3. 
     | 
| 1656 | 
         
            -
            			"integrity": "sha512- 
     | 
| 1657 | 
         
             
            			"dev": true,
         
     | 
| 1658 | 
         
             
            			"engines": {
         
     | 
| 1659 | 
         
             
            				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
         
     | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 1660 | 
         
             
            			}
         
     | 
| 1661 | 
         
             
            		},
         
     | 
| 1662 | 
         
             
            		"node_modules/eslint/node_modules/eslint-scope": {
         
     | 
| 
         @@ -1688,14 +1728,14 @@ 
     | 
|
| 1688 | 
         
             
            			"dev": true
         
     | 
| 1689 | 
         
             
            		},
         
     | 
| 1690 | 
         
             
            		"node_modules/espree": {
         
     | 
| 1691 | 
         
            -
            			"version": "9. 
     | 
| 1692 | 
         
            -
            			"resolved": "https://registry.npmjs.org/espree/-/espree-9. 
     | 
| 1693 | 
         
            -
            			"integrity": "sha512- 
     | 
| 1694 | 
         
             
            			"dev": true,
         
     | 
| 1695 | 
         
             
            			"dependencies": {
         
     | 
| 1696 | 
         
             
            				"acorn": "^8.8.0",
         
     | 
| 1697 | 
         
             
            				"acorn-jsx": "^5.3.2",
         
     | 
| 1698 | 
         
            -
            				"eslint-visitor-keys": "^3. 
     | 
| 1699 | 
         
             
            			},
         
     | 
| 1700 | 
         
             
            			"engines": {
         
     | 
| 1701 | 
         
             
            				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
         
     | 
| 
         @@ -2879,9 +2919,9 @@ 
     | 
|
| 2879 | 
         
             
            			}
         
     | 
| 2880 | 
         
             
            		},
         
     | 
| 2881 | 
         
             
            		"node_modules/rollup": {
         
     | 
| 2882 | 
         
            -
            			"version": "3. 
     | 
| 2883 | 
         
            -
            			"resolved": "https://registry.npmjs.org/rollup/-/rollup-3. 
     | 
| 2884 | 
         
            -
            			"integrity": "sha512- 
     | 
| 2885 | 
         
             
            			"dev": true,
         
     | 
| 2886 | 
         
             
            			"bin": {
         
     | 
| 2887 | 
         
             
            				"rollup": "dist/bin/rollup"
         
     | 
| 
         @@ -3494,15 +3534,15 @@ 
     | 
|
| 3494 | 
         
             
            			"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
         
     | 
| 3495 | 
         
             
            		},
         
     | 
| 3496 | 
         
             
            		"node_modules/vite": {
         
     | 
| 3497 | 
         
            -
            			"version": "4.1 
     | 
| 3498 | 
         
            -
            			"resolved": "https://registry.npmjs.org/vite/-/vite-4.1. 
     | 
| 3499 | 
         
            -
            			"integrity": "sha512- 
     | 
| 3500 | 
         
             
            			"dev": true,
         
     | 
| 3501 | 
         
             
            			"dependencies": {
         
     | 
| 3502 | 
         
            -
            				"esbuild": "^0. 
     | 
| 3503 | 
         
             
            				"postcss": "^8.4.21",
         
     | 
| 3504 | 
         
             
            				"resolve": "^1.22.1",
         
     | 
| 3505 | 
         
            -
            				"rollup": "^3. 
     | 
| 3506 | 
         
             
            			},
         
     | 
| 3507 | 
         
             
            			"bin": {
         
     | 
| 3508 | 
         
             
            				"vite": "bin/vite.js"
         
     | 
| 
         | 
|
| 8 | 
         
             
            			"name": "chat-ui",
         
     | 
| 9 | 
         
             
            			"version": "0.0.1",
         
     | 
| 10 | 
         
             
            			"dependencies": {
         
     | 
| 11 | 
         
            +
            				"@huggingface/inference": "^2.0.0-rc2",
         
     | 
| 12 | 
         
             
            				"autoprefixer": "^10.4.14",
         
     | 
| 13 | 
         
             
            				"postcss": "^8.4.21",
         
     | 
| 14 | 
         
             
            				"tailwind-scrollbar": "^3.0.0",
         
     | 
| 
         | 
|
| 33 | 
         
             
            			}
         
     | 
| 34 | 
         
             
            		},
         
     | 
| 35 | 
         
             
            		"node_modules/@esbuild/android-arm": {
         
     | 
| 36 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 37 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.16.tgz",
         
     | 
| 38 | 
         
            +
            			"integrity": "sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw==",
         
     | 
| 39 | 
         
             
            			"cpu": [
         
     | 
| 40 | 
         
             
            				"arm"
         
     | 
| 41 | 
         
             
            			],
         
     | 
| 
         | 
|
| 49 | 
         
             
            			}
         
     | 
| 50 | 
         
             
            		},
         
     | 
| 51 | 
         
             
            		"node_modules/@esbuild/android-arm64": {
         
     | 
| 52 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 53 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.16.tgz",
         
     | 
| 54 | 
         
            +
            			"integrity": "sha512-QX48qmsEZW+gcHgTmAj+x21mwTz8MlYQBnzF6861cNdQGvj2jzzFjqH0EBabrIa/WVZ2CHolwMoqxVryqKt8+Q==",
         
     | 
| 55 | 
         
             
            			"cpu": [
         
     | 
| 56 | 
         
             
            				"arm64"
         
     | 
| 57 | 
         
             
            			],
         
     | 
| 
         | 
|
| 65 | 
         
             
            			}
         
     | 
| 66 | 
         
             
            		},
         
     | 
| 67 | 
         
             
            		"node_modules/@esbuild/android-x64": {
         
     | 
| 68 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 69 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.16.tgz",
         
     | 
| 70 | 
         
            +
            			"integrity": "sha512-G4wfHhrrz99XJgHnzFvB4UwwPxAWZaZBOFXh+JH1Duf1I4vIVfuYY9uVLpx4eiV2D/Jix8LJY+TAdZ3i40tDow==",
         
     | 
| 71 | 
         
             
            			"cpu": [
         
     | 
| 72 | 
         
             
            				"x64"
         
     | 
| 73 | 
         
             
            			],
         
     | 
| 
         | 
|
| 81 | 
         
             
            			}
         
     | 
| 82 | 
         
             
            		},
         
     | 
| 83 | 
         
             
            		"node_modules/@esbuild/darwin-arm64": {
         
     | 
| 84 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 85 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.16.tgz",
         
     | 
| 86 | 
         
            +
            			"integrity": "sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA==",
         
     | 
| 87 | 
         
             
            			"cpu": [
         
     | 
| 88 | 
         
             
            				"arm64"
         
     | 
| 89 | 
         
             
            			],
         
     | 
| 
         | 
|
| 97 | 
         
             
            			}
         
     | 
| 98 | 
         
             
            		},
         
     | 
| 99 | 
         
             
            		"node_modules/@esbuild/darwin-x64": {
         
     | 
| 100 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 101 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.16.tgz",
         
     | 
| 102 | 
         
            +
            			"integrity": "sha512-SzBQtCV3Pdc9kyizh36Ol+dNVhkDyIrGb/JXZqFq8WL37LIyrXU0gUpADcNV311sCOhvY+f2ivMhb5Tuv8nMOQ==",
         
     | 
| 103 | 
         
             
            			"cpu": [
         
     | 
| 104 | 
         
             
            				"x64"
         
     | 
| 105 | 
         
             
            			],
         
     | 
| 
         | 
|
| 113 | 
         
             
            			}
         
     | 
| 114 | 
         
             
            		},
         
     | 
| 115 | 
         
             
            		"node_modules/@esbuild/freebsd-arm64": {
         
     | 
| 116 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 117 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.16.tgz",
         
     | 
| 118 | 
         
            +
            			"integrity": "sha512-ZqftdfS1UlLiH1DnS2u3It7l4Bc3AskKeu+paJSfk7RNOMrOxmeFDhLTMQqMxycP1C3oj8vgkAT6xfAuq7ZPRA==",
         
     | 
| 119 | 
         
             
            			"cpu": [
         
     | 
| 120 | 
         
             
            				"arm64"
         
     | 
| 121 | 
         
             
            			],
         
     | 
| 
         | 
|
| 129 | 
         
             
            			}
         
     | 
| 130 | 
         
             
            		},
         
     | 
| 131 | 
         
             
            		"node_modules/@esbuild/freebsd-x64": {
         
     | 
| 132 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 133 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.16.tgz",
         
     | 
| 134 | 
         
            +
            			"integrity": "sha512-rHV6zNWW1tjgsu0dKQTX9L0ByiJHHLvQKrWtnz8r0YYJI27FU3Xu48gpK2IBj1uCSYhJ+pEk6Y0Um7U3rIvV8g==",
         
     | 
| 135 | 
         
             
            			"cpu": [
         
     | 
| 136 | 
         
             
            				"x64"
         
     | 
| 137 | 
         
             
            			],
         
     | 
| 
         | 
|
| 145 | 
         
             
            			}
         
     | 
| 146 | 
         
             
            		},
         
     | 
| 147 | 
         
             
            		"node_modules/@esbuild/linux-arm": {
         
     | 
| 148 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 149 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.16.tgz",
         
     | 
| 150 | 
         
            +
            			"integrity": "sha512-n4O8oVxbn7nl4+m+ISb0a68/lcJClIbaGAoXwqeubj/D1/oMMuaAXmJVfFlRjJLu/ZvHkxoiFJnmbfp4n8cdSw==",
         
     | 
| 151 | 
         
             
            			"cpu": [
         
     | 
| 152 | 
         
             
            				"arm"
         
     | 
| 153 | 
         
             
            			],
         
     | 
| 
         | 
|
| 161 | 
         
             
            			}
         
     | 
| 162 | 
         
             
            		},
         
     | 
| 163 | 
         
             
            		"node_modules/@esbuild/linux-arm64": {
         
     | 
| 164 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 165 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.16.tgz",
         
     | 
| 166 | 
         
            +
            			"integrity": "sha512-8yoZhGkU6aHu38WpaM4HrRLTFc7/VVD9Q2SvPcmIQIipQt2I/GMTZNdEHXoypbbGao5kggLcxg0iBKjo0SQYKA==",
         
     | 
| 167 | 
         
             
            			"cpu": [
         
     | 
| 168 | 
         
             
            				"arm64"
         
     | 
| 169 | 
         
             
            			],
         
     | 
| 
         | 
|
| 177 | 
         
             
            			}
         
     | 
| 178 | 
         
             
            		},
         
     | 
| 179 | 
         
             
            		"node_modules/@esbuild/linux-ia32": {
         
     | 
| 180 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 181 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.16.tgz",
         
     | 
| 182 | 
         
            +
            			"integrity": "sha512-9ZBjlkdaVYxPNO8a7OmzDbOH9FMQ1a58j7Xb21UfRU29KcEEU3VTHk+Cvrft/BNv0gpWJMiiZ/f4w0TqSP0gLA==",
         
     | 
| 183 | 
         
             
            			"cpu": [
         
     | 
| 184 | 
         
             
            				"ia32"
         
     | 
| 185 | 
         
             
            			],
         
     | 
| 
         | 
|
| 193 | 
         
             
            			}
         
     | 
| 194 | 
         
             
            		},
         
     | 
| 195 | 
         
             
            		"node_modules/@esbuild/linux-loong64": {
         
     | 
| 196 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 197 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.16.tgz",
         
     | 
| 198 | 
         
            +
            			"integrity": "sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ==",
         
     | 
| 199 | 
         
             
            			"cpu": [
         
     | 
| 200 | 
         
             
            				"loong64"
         
     | 
| 201 | 
         
             
            			],
         
     | 
| 
         | 
|
| 209 | 
         
             
            			}
         
     | 
| 210 | 
         
             
            		},
         
     | 
| 211 | 
         
             
            		"node_modules/@esbuild/linux-mips64el": {
         
     | 
| 212 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 213 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.16.tgz",
         
     | 
| 214 | 
         
            +
            			"integrity": "sha512-UPeRuFKCCJYpBbIdczKyHLAIU31GEm0dZl1eMrdYeXDH+SJZh/i+2cAmD3A1Wip9pIc5Sc6Kc5cFUrPXtR0XHA==",
         
     | 
| 215 | 
         
             
            			"cpu": [
         
     | 
| 216 | 
         
             
            				"mips64el"
         
     | 
| 217 | 
         
             
            			],
         
     | 
| 
         | 
|
| 225 | 
         
             
            			}
         
     | 
| 226 | 
         
             
            		},
         
     | 
| 227 | 
         
             
            		"node_modules/@esbuild/linux-ppc64": {
         
     | 
| 228 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 229 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.16.tgz",
         
     | 
| 230 | 
         
            +
            			"integrity": "sha512-io6yShgIEgVUhExJejJ21xvO5QtrbiSeI7vYUnr7l+v/O9t6IowyhdiYnyivX2X5ysOVHAuyHW+Wyi7DNhdw6Q==",
         
     | 
| 231 | 
         
             
            			"cpu": [
         
     | 
| 232 | 
         
             
            				"ppc64"
         
     | 
| 233 | 
         
             
            			],
         
     | 
| 
         | 
|
| 241 | 
         
             
            			}
         
     | 
| 242 | 
         
             
            		},
         
     | 
| 243 | 
         
             
            		"node_modules/@esbuild/linux-riscv64": {
         
     | 
| 244 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 245 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.16.tgz",
         
     | 
| 246 | 
         
            +
            			"integrity": "sha512-WhlGeAHNbSdG/I2gqX2RK2gfgSNwyJuCiFHMc8s3GNEMMHUI109+VMBfhVqRb0ZGzEeRiibi8dItR3ws3Lk+cA==",
         
     | 
| 247 | 
         
             
            			"cpu": [
         
     | 
| 248 | 
         
             
            				"riscv64"
         
     | 
| 249 | 
         
             
            			],
         
     | 
| 
         | 
|
| 257 | 
         
             
            			}
         
     | 
| 258 | 
         
             
            		},
         
     | 
| 259 | 
         
             
            		"node_modules/@esbuild/linux-s390x": {
         
     | 
| 260 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 261 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.16.tgz",
         
     | 
| 262 | 
         
            +
            			"integrity": "sha512-gHRReYsJtViir63bXKoFaQ4pgTyah4ruiMRQ6im9YZuv+gp3UFJkNTY4sFA73YDynmXZA6hi45en4BGhNOJUsw==",
         
     | 
| 263 | 
         
             
            			"cpu": [
         
     | 
| 264 | 
         
             
            				"s390x"
         
     | 
| 265 | 
         
             
            			],
         
     | 
| 
         | 
|
| 273 | 
         
             
            			}
         
     | 
| 274 | 
         
             
            		},
         
     | 
| 275 | 
         
             
            		"node_modules/@esbuild/linux-x64": {
         
     | 
| 276 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 277 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.16.tgz",
         
     | 
| 278 | 
         
            +
            			"integrity": "sha512-mfiiBkxEbUHvi+v0P+TS7UnA9TeGXR48aK4XHkTj0ZwOijxexgMF01UDFaBX7Q6CQsB0d+MFNv9IiXbIHTNd4g==",
         
     | 
| 279 | 
         
             
            			"cpu": [
         
     | 
| 280 | 
         
             
            				"x64"
         
     | 
| 281 | 
         
             
            			],
         
     | 
| 
         | 
|
| 289 | 
         
             
            			}
         
     | 
| 290 | 
         
             
            		},
         
     | 
| 291 | 
         
             
            		"node_modules/@esbuild/netbsd-x64": {
         
     | 
| 292 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 293 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.16.tgz",
         
     | 
| 294 | 
         
            +
            			"integrity": "sha512-n8zK1YRDGLRZfVcswcDMDM0j2xKYLNXqei217a4GyBxHIuPMGrrVuJ+Ijfpr0Kufcm7C1k/qaIrGy6eG7wvgmA==",
         
     | 
| 295 | 
         
             
            			"cpu": [
         
     | 
| 296 | 
         
             
            				"x64"
         
     | 
| 297 | 
         
             
            			],
         
     | 
| 
         | 
|
| 305 | 
         
             
            			}
         
     | 
| 306 | 
         
             
            		},
         
     | 
| 307 | 
         
             
            		"node_modules/@esbuild/openbsd-x64": {
         
     | 
| 308 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 309 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.16.tgz",
         
     | 
| 310 | 
         
            +
            			"integrity": "sha512-lEEfkfsUbo0xC47eSTBqsItXDSzwzwhKUSsVaVjVji07t8+6KA5INp2rN890dHZeueXJAI8q0tEIfbwVRYf6Ew==",
         
     | 
| 311 | 
         
             
            			"cpu": [
         
     | 
| 312 | 
         
             
            				"x64"
         
     | 
| 313 | 
         
             
            			],
         
     | 
| 
         | 
|
| 321 | 
         
             
            			}
         
     | 
| 322 | 
         
             
            		},
         
     | 
| 323 | 
         
             
            		"node_modules/@esbuild/sunos-x64": {
         
     | 
| 324 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 325 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.16.tgz",
         
     | 
| 326 | 
         
            +
            			"integrity": "sha512-jlRjsuvG1fgGwnE8Afs7xYDnGz0dBgTNZfgCK6TlvPH3Z13/P5pi6I57vyLE8qZYLrGVtwcm9UbUx1/mZ8Ukag==",
         
     | 
| 327 | 
         
             
            			"cpu": [
         
     | 
| 328 | 
         
             
            				"x64"
         
     | 
| 329 | 
         
             
            			],
         
     | 
| 
         | 
|
| 337 | 
         
             
            			}
         
     | 
| 338 | 
         
             
            		},
         
     | 
| 339 | 
         
             
            		"node_modules/@esbuild/win32-arm64": {
         
     | 
| 340 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 341 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.16.tgz",
         
     | 
| 342 | 
         
            +
            			"integrity": "sha512-TzoU2qwVe2boOHl/3KNBUv2PNUc38U0TNnzqOAcgPiD/EZxT2s736xfC2dYQbszAwo4MKzzwBV0iHjhfjxMimg==",
         
     | 
| 343 | 
         
             
            			"cpu": [
         
     | 
| 344 | 
         
             
            				"arm64"
         
     | 
| 345 | 
         
             
            			],
         
     | 
| 
         | 
|
| 353 | 
         
             
            			}
         
     | 
| 354 | 
         
             
            		},
         
     | 
| 355 | 
         
             
            		"node_modules/@esbuild/win32-ia32": {
         
     | 
| 356 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 357 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.16.tgz",
         
     | 
| 358 | 
         
            +
            			"integrity": "sha512-B8b7W+oo2yb/3xmwk9Vc99hC9bNolvqjaTZYEfMQhzdpBsjTvZBlXQ/teUE55Ww6sg//wlcDjOaqldOKyigWdA==",
         
     | 
| 359 | 
         
             
            			"cpu": [
         
     | 
| 360 | 
         
             
            				"ia32"
         
     | 
| 361 | 
         
             
            			],
         
     | 
| 
         | 
|
| 369 | 
         
             
            			}
         
     | 
| 370 | 
         
             
            		},
         
     | 
| 371 | 
         
             
            		"node_modules/@esbuild/win32-x64": {
         
     | 
| 372 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 373 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.16.tgz",
         
     | 
| 374 | 
         
            +
            			"integrity": "sha512-xJ7OH/nanouJO9pf03YsL9NAFQBHd8AqfrQd7Pf5laGyyTt/gToul6QYOA/i5i/q8y9iaM5DQFNTgpi995VkOg==",
         
     | 
| 375 | 
         
             
            			"cpu": [
         
     | 
| 376 | 
         
             
            				"x64"
         
     | 
| 377 | 
         
             
            			],
         
     | 
| 
         | 
|
| 384 | 
         
             
            				"node": ">=12"
         
     | 
| 385 | 
         
             
            			}
         
     | 
| 386 | 
         
             
            		},
         
     | 
| 387 | 
         
            +
            		"node_modules/@eslint-community/eslint-utils": {
         
     | 
| 388 | 
         
            +
            			"version": "4.4.0",
         
     | 
| 389 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
         
     | 
| 390 | 
         
            +
            			"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
         
     | 
| 391 | 
         
            +
            			"dev": true,
         
     | 
| 392 | 
         
            +
            			"dependencies": {
         
     | 
| 393 | 
         
            +
            				"eslint-visitor-keys": "^3.3.0"
         
     | 
| 394 | 
         
            +
            			},
         
     | 
| 395 | 
         
            +
            			"engines": {
         
     | 
| 396 | 
         
            +
            				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
         
     | 
| 397 | 
         
            +
            			},
         
     | 
| 398 | 
         
            +
            			"peerDependencies": {
         
     | 
| 399 | 
         
            +
            				"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
         
     | 
| 400 | 
         
            +
            			}
         
     | 
| 401 | 
         
            +
            		},
         
     | 
| 402 | 
         
            +
            		"node_modules/@eslint-community/regexpp": {
         
     | 
| 403 | 
         
            +
            			"version": "4.5.0",
         
     | 
| 404 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz",
         
     | 
| 405 | 
         
            +
            			"integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==",
         
     | 
| 406 | 
         
            +
            			"dev": true,
         
     | 
| 407 | 
         
            +
            			"engines": {
         
     | 
| 408 | 
         
            +
            				"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
         
     | 
| 409 | 
         
            +
            			}
         
     | 
| 410 | 
         
            +
            		},
         
     | 
| 411 | 
         
             
            		"node_modules/@eslint/eslintrc": {
         
     | 
| 412 | 
         
            +
            			"version": "2.0.2",
         
     | 
| 413 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz",
         
     | 
| 414 | 
         
            +
            			"integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==",
         
     | 
| 415 | 
         
             
            			"dev": true,
         
     | 
| 416 | 
         
             
            			"dependencies": {
         
     | 
| 417 | 
         
             
            				"ajv": "^6.12.4",
         
     | 
| 418 | 
         
             
            				"debug": "^4.3.2",
         
     | 
| 419 | 
         
            +
            				"espree": "^9.5.1",
         
     | 
| 420 | 
         
             
            				"globals": "^13.19.0",
         
     | 
| 421 | 
         
             
            				"ignore": "^5.2.0",
         
     | 
| 422 | 
         
             
            				"import-fresh": "^3.2.1",
         
     | 
| 
         | 
|
| 431 | 
         
             
            				"url": "https://opencollective.com/eslint"
         
     | 
| 432 | 
         
             
            			}
         
     | 
| 433 | 
         
             
            		},
         
     | 
| 434 | 
         
            +
            		"node_modules/@eslint/js": {
         
     | 
| 435 | 
         
            +
            			"version": "8.38.0",
         
     | 
| 436 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.38.0.tgz",
         
     | 
| 437 | 
         
            +
            			"integrity": "sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==",
         
     | 
| 438 | 
         
            +
            			"dev": true,
         
     | 
| 439 | 
         
            +
            			"engines": {
         
     | 
| 440 | 
         
            +
            				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
         
     | 
| 441 | 
         
            +
            			}
         
     | 
| 442 | 
         
            +
            		},
         
     | 
| 443 | 
         
            +
            		"node_modules/@huggingface/inference": {
         
     | 
| 444 | 
         
            +
            			"version": "2.0.0-rc2",
         
     | 
| 445 | 
         
            +
            			"resolved": "https://registry.npmjs.org/@huggingface/inference/-/inference-2.0.0-rc2.tgz",
         
     | 
| 446 | 
         
            +
            			"integrity": "sha512-jCU+zl1fmbmaWbTa3P2KC1GQMwjMc9ZLcR8Nq5UeFmDbmdz0GiBHsK7F1hTHRAPeF1K3X5L3V3OQUNZ6nzEu/w==",
         
     | 
| 447 | 
         
            +
            			"engines": {
         
     | 
| 448 | 
         
            +
            				"node": ">=18"
         
     | 
| 449 | 
         
            +
            			}
         
     | 
| 450 | 
         
            +
            		},
         
     | 
| 451 | 
         
             
            		"node_modules/@humanwhocodes/config-array": {
         
     | 
| 452 | 
         
             
            			"version": "0.11.8",
         
     | 
| 453 | 
         
             
            			"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
         
     | 
| 
         | 
|
| 524 | 
         
             
            				"@jridgewell/sourcemap-codec": "1.4.14"
         
     | 
| 525 | 
         
             
            			}
         
     | 
| 526 | 
         
             
            		},
         
     | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 527 | 
         
             
            		"node_modules/@nodelib/fs.scandir": {
         
     | 
| 528 | 
         
             
            			"version": "2.1.5",
         
     | 
| 529 | 
         
             
            			"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
         
     | 
| 
         | 
|
| 1512 | 
         
             
            			"dev": true
         
     | 
| 1513 | 
         
             
            		},
         
     | 
| 1514 | 
         
             
            		"node_modules/esbuild": {
         
     | 
| 1515 | 
         
            +
            			"version": "0.17.16",
         
     | 
| 1516 | 
         
            +
            			"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.16.tgz",
         
     | 
| 1517 | 
         
            +
            			"integrity": "sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg==",
         
     | 
| 1518 | 
         
             
            			"dev": true,
         
     | 
| 1519 | 
         
             
            			"hasInstallScript": true,
         
     | 
| 1520 | 
         
             
            			"bin": {
         
     | 
| 
         | 
|
| 1524 | 
         
             
            				"node": ">=12"
         
     | 
| 1525 | 
         
             
            			},
         
     | 
| 1526 | 
         
             
            			"optionalDependencies": {
         
     | 
| 1527 | 
         
            +
            				"@esbuild/android-arm": "0.17.16",
         
     | 
| 1528 | 
         
            +
            				"@esbuild/android-arm64": "0.17.16",
         
     | 
| 1529 | 
         
            +
            				"@esbuild/android-x64": "0.17.16",
         
     | 
| 1530 | 
         
            +
            				"@esbuild/darwin-arm64": "0.17.16",
         
     | 
| 1531 | 
         
            +
            				"@esbuild/darwin-x64": "0.17.16",
         
     | 
| 1532 | 
         
            +
            				"@esbuild/freebsd-arm64": "0.17.16",
         
     | 
| 1533 | 
         
            +
            				"@esbuild/freebsd-x64": "0.17.16",
         
     | 
| 1534 | 
         
            +
            				"@esbuild/linux-arm": "0.17.16",
         
     | 
| 1535 | 
         
            +
            				"@esbuild/linux-arm64": "0.17.16",
         
     | 
| 1536 | 
         
            +
            				"@esbuild/linux-ia32": "0.17.16",
         
     | 
| 1537 | 
         
            +
            				"@esbuild/linux-loong64": "0.17.16",
         
     | 
| 1538 | 
         
            +
            				"@esbuild/linux-mips64el": "0.17.16",
         
     | 
| 1539 | 
         
            +
            				"@esbuild/linux-ppc64": "0.17.16",
         
     | 
| 1540 | 
         
            +
            				"@esbuild/linux-riscv64": "0.17.16",
         
     | 
| 1541 | 
         
            +
            				"@esbuild/linux-s390x": "0.17.16",
         
     | 
| 1542 | 
         
            +
            				"@esbuild/linux-x64": "0.17.16",
         
     | 
| 1543 | 
         
            +
            				"@esbuild/netbsd-x64": "0.17.16",
         
     | 
| 1544 | 
         
            +
            				"@esbuild/openbsd-x64": "0.17.16",
         
     | 
| 1545 | 
         
            +
            				"@esbuild/sunos-x64": "0.17.16",
         
     | 
| 1546 | 
         
            +
            				"@esbuild/win32-arm64": "0.17.16",
         
     | 
| 1547 | 
         
            +
            				"@esbuild/win32-ia32": "0.17.16",
         
     | 
| 1548 | 
         
            +
            				"@esbuild/win32-x64": "0.17.16"
         
     | 
| 1549 | 
         
             
            			}
         
     | 
| 1550 | 
         
             
            		},
         
     | 
| 1551 | 
         
             
            		"node_modules/escalade": {
         
     | 
| 
         | 
|
| 1569 | 
         
             
            			}
         
     | 
| 1570 | 
         
             
            		},
         
     | 
| 1571 | 
         
             
            		"node_modules/eslint": {
         
     | 
| 1572 | 
         
            +
            			"version": "8.38.0",
         
     | 
| 1573 | 
         
            +
            			"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.38.0.tgz",
         
     | 
| 1574 | 
         
            +
            			"integrity": "sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==",
         
     | 
| 1575 | 
         
             
            			"dev": true,
         
     | 
| 1576 | 
         
             
            			"dependencies": {
         
     | 
| 1577 | 
         
            +
            				"@eslint-community/eslint-utils": "^4.2.0",
         
     | 
| 1578 | 
         
            +
            				"@eslint-community/regexpp": "^4.4.0",
         
     | 
| 1579 | 
         
            +
            				"@eslint/eslintrc": "^2.0.2",
         
     | 
| 1580 | 
         
            +
            				"@eslint/js": "8.38.0",
         
     | 
| 1581 | 
         
             
            				"@humanwhocodes/config-array": "^0.11.8",
         
     | 
| 1582 | 
         
             
            				"@humanwhocodes/module-importer": "^1.0.1",
         
     | 
| 1583 | 
         
             
            				"@nodelib/fs.walk": "^1.2.8",
         
     | 
| 
         | 
|
| 1588 | 
         
             
            				"doctrine": "^3.0.0",
         
     | 
| 1589 | 
         
             
            				"escape-string-regexp": "^4.0.0",
         
     | 
| 1590 | 
         
             
            				"eslint-scope": "^7.1.1",
         
     | 
| 1591 | 
         
            +
            				"eslint-visitor-keys": "^3.4.0",
         
     | 
| 1592 | 
         
            +
            				"espree": "^9.5.1",
         
     | 
| 1593 | 
         
            +
            				"esquery": "^1.4.2",
         
     | 
| 
         | 
|
| 1594 | 
         
             
            				"esutils": "^2.0.2",
         
     | 
| 1595 | 
         
             
            				"fast-deep-equal": "^3.1.3",
         
     | 
| 1596 | 
         
             
            				"file-entry-cache": "^6.0.1",
         
     | 
| 
         | 
|
| 1611 | 
         
             
            				"minimatch": "^3.1.2",
         
     | 
| 1612 | 
         
             
            				"natural-compare": "^1.4.0",
         
     | 
| 1613 | 
         
             
            				"optionator": "^0.9.1",
         
     | 
| 
         | 
|
| 1614 | 
         
             
            				"strip-ansi": "^6.0.1",
         
     | 
| 1615 | 
         
             
            				"strip-json-comments": "^3.1.0",
         
     | 
| 1616 | 
         
             
            				"text-table": "^0.2.0"
         
     | 
| 
         | 
|
| 1688 | 
         
             
            			}
         
     | 
| 1689 | 
         
             
            		},
         
     | 
| 1690 | 
         
             
            		"node_modules/eslint-visitor-keys": {
         
     | 
| 1691 | 
         
            +
            			"version": "3.4.0",
         
     | 
| 1692 | 
         
            +
            			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz",
         
     | 
| 1693 | 
         
            +
            			"integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==",
         
     | 
| 1694 | 
         
             
            			"dev": true,
         
     | 
| 1695 | 
         
             
            			"engines": {
         
     | 
| 1696 | 
         
             
            				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
         
     | 
| 1697 | 
         
            +
            			},
         
     | 
| 1698 | 
         
            +
            			"funding": {
         
     | 
| 1699 | 
         
            +
            				"url": "https://opencollective.com/eslint"
         
     | 
| 1700 | 
         
             
            			}
         
     | 
| 1701 | 
         
             
            		},
         
     | 
| 1702 | 
         
             
            		"node_modules/eslint/node_modules/eslint-scope": {
         
     | 
| 
         | 
|
| 1728 | 
         
             
            			"dev": true
         
     | 
| 1729 | 
         
             
            		},
         
     | 
| 1730 | 
         
             
            		"node_modules/espree": {
         
     | 
| 1731 | 
         
            +
            			"version": "9.5.1",
         
     | 
| 1732 | 
         
            +
            			"resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz",
         
     | 
| 1733 | 
         
            +
            			"integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==",
         
     | 
| 1734 | 
         
             
            			"dev": true,
         
     | 
| 1735 | 
         
             
            			"dependencies": {
         
     | 
| 1736 | 
         
             
            				"acorn": "^8.8.0",
         
     | 
| 1737 | 
         
             
            				"acorn-jsx": "^5.3.2",
         
     | 
| 1738 | 
         
            +
            				"eslint-visitor-keys": "^3.4.0"
         
     | 
| 1739 | 
         
             
            			},
         
     | 
| 1740 | 
         
             
            			"engines": {
         
     | 
| 1741 | 
         
             
            				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
         
     | 
| 
         | 
|
| 2919 | 
         
             
            			}
         
     | 
| 2920 | 
         
             
            		},
         
     | 
| 2921 | 
         
             
            		"node_modules/rollup": {
         
     | 
| 2922 | 
         
            +
            			"version": "3.20.2",
         
     | 
| 2923 | 
         
            +
            			"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz",
         
     | 
| 2924 | 
         
            +
            			"integrity": "sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==",
         
     | 
| 2925 | 
         
             
            			"dev": true,
         
     | 
| 2926 | 
         
             
            			"bin": {
         
     | 
| 2927 | 
         
             
            				"rollup": "dist/bin/rollup"
         
     | 
| 
         | 
|
| 3534 | 
         
             
            			"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
         
     | 
| 3535 | 
         
             
            		},
         
     | 
| 3536 | 
         
             
            		"node_modules/vite": {
         
     | 
| 3537 | 
         
            +
            			"version": "4.2.1",
         
     | 
| 3538 | 
         
            +
            			"resolved": "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz",
         
     | 
| 3539 | 
         
            +
            			"integrity": "sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==",
         
     | 
| 3540 | 
         
             
            			"dev": true,
         
     | 
| 3541 | 
         
             
            			"dependencies": {
         
     | 
| 3542 | 
         
            +
            				"esbuild": "^0.17.5",
         
     | 
| 3543 | 
         
             
            				"postcss": "^8.4.21",
         
     | 
| 3544 | 
         
             
            				"resolve": "^1.22.1",
         
     | 
| 3545 | 
         
            +
            				"rollup": "^3.18.0"
         
     | 
| 3546 | 
         
             
            			},
         
     | 
| 3547 | 
         
             
            			"bin": {
         
     | 
| 3548 | 
         
             
            				"vite": "bin/vite.js"
         
     | 
| 
         @@ -30,7 +30,7 @@ 
     | 
|
| 30 | 
         
             
            	},
         
     | 
| 31 | 
         
             
            	"type": "module",
         
     | 
| 32 | 
         
             
            	"dependencies": {
         
     | 
| 33 | 
         
            -
            		"@ 
     | 
| 34 | 
         
             
            		"autoprefixer": "^10.4.14",
         
     | 
| 35 | 
         
             
            		"postcss": "^8.4.21",
         
     | 
| 36 | 
         
             
            		"tailwind-scrollbar": "^3.0.0",
         
     | 
| 
         | 
|
| 30 | 
         
             
            	},
         
     | 
| 31 | 
         
             
            	"type": "module",
         
     | 
| 32 | 
         
             
            	"dependencies": {
         
     | 
| 33 | 
         
            +
            		"@huggingface/inference": "^2.0.0-rc2",
         
     | 
| 34 | 
         
             
            		"autoprefixer": "^10.4.14",
         
     | 
| 35 | 
         
             
            		"postcss": "^8.4.21",
         
     | 
| 36 | 
         
             
            		"tailwind-scrollbar": "^3.0.0",
         
     | 
| 
         @@ -1,9 +1,8 @@ 
     | 
|
| 1 | 
         
             
            <script lang="ts">
         
     | 
| 2 | 
         
            -
            	import type { Message 
     | 
| 3 | 
         | 
| 4 | 
         
             
            	import { afterUpdate } from 'svelte';
         
     | 
| 5 | 
         
            -
             
     | 
| 6 | 
         
            -
            	import { fetchEventSource } from '@microsoft/fetch-event-source';
         
     | 
| 7 | 
         | 
| 8 | 
         
             
            	import ChatMessage from '$lib/components/chat/ChatMessage.svelte';
         
     | 
| 9 | 
         
             
            	import ChatIntroduction from '$lib/components/chat/ChatIntroduction.svelte';
         
     | 
| 
         @@ -11,16 +10,18 @@ 
     | 
|
| 11 | 
         | 
| 12 | 
         
             
            	import {
         
     | 
| 13 | 
         
             
            		PUBLIC_ASSISTANT_MESSAGE_TOKEN,
         
     | 
| 14 | 
         
            -
            		PUBLIC_ENDPOINT,
         
     | 
| 15 | 
         
            -
            		PUBLIC_HF_TOKEN,
         
     | 
| 16 | 
         
             
            		PUBLIC_SEP_TOKEN,
         
     | 
| 17 | 
         
             
            		PUBLIC_USER_MESSAGE_TOKEN
         
     | 
| 18 | 
         
             
            	} from '$env/static/public';
         
     | 
| 
         | 
|
| 19 | 
         | 
| 20 | 
         
             
            	const userToken = PUBLIC_USER_MESSAGE_TOKEN || '<|prompter|>';
         
     | 
| 21 | 
         
             
            	const assistantToken = PUBLIC_ASSISTANT_MESSAGE_TOKEN || '<|assistant|>';
         
     | 
| 22 | 
         
             
            	const sepToken = PUBLIC_SEP_TOKEN || '<|endoftext|>';
         
     | 
| 23 | 
         | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 24 | 
         
             
            	let messages: Message[] = [];
         
     | 
| 25 | 
         
             
            	let message = '';
         
     | 
| 26 | 
         | 
| 
         @@ -41,6 +42,53 @@ 
     | 
|
| 41 | 
         
             
            		}
         
     | 
| 42 | 
         
             
            	}
         
     | 
| 43 | 
         | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 44 | 
         
             
            	function onWrite() {
         
     | 
| 45 | 
         
             
            		if (!message) return;
         
     | 
| 46 | 
         | 
| 
         @@ -55,49 +103,7 @@ 
     | 
|
| 55 | 
         
             
            				)
         
     | 
| 56 | 
         
             
            				.join('') + assistantToken;
         
     | 
| 57 | 
         | 
| 58 | 
         
            -
            		 
     | 
| 59 | 
         
            -
            		fetchEventSource(PUBLIC_ENDPOINT, {
         
     | 
| 60 | 
         
            -
            			method: 'POST',
         
     | 
| 61 | 
         
            -
            			headers: {
         
     | 
| 62 | 
         
            -
            				Accept: 'text/event-stream',
         
     | 
| 63 | 
         
            -
            				'Content-Type': 'application/json',
         
     | 
| 64 | 
         
            -
            				'user-agent': 'chat-ui/0.0.1',
         
     | 
| 65 | 
         
            -
            				...(PUBLIC_HF_TOKEN
         
     | 
| 66 | 
         
            -
            					? {
         
     | 
| 67 | 
         
            -
            							authorization: `Bearer ${PUBLIC_HF_TOKEN}`
         
     | 
| 68 | 
         
            -
            					  }
         
     | 
| 69 | 
         
            -
            					: {})
         
     | 
| 70 | 
         
            -
            			},
         
     | 
| 71 | 
         
            -
            			body: JSON.stringify({
         
     | 
| 72 | 
         
            -
            				inputs: inputs,
         
     | 
| 73 | 
         
            -
            				stream: true,
         
     | 
| 74 | 
         
            -
            				parameters: {
         
     | 
| 75 | 
         
            -
            					do_sample: false,
         
     | 
| 76 | 
         
            -
            					max_new_tokens: 500,
         
     | 
| 77 | 
         
            -
            					return_full_text: false,
         
     | 
| 78 | 
         
            -
            					stop: [],
         
     | 
| 79 | 
         
            -
            					truncate: 1000,
         
     | 
| 80 | 
         
            -
            					typical_p: 0.2,
         
     | 
| 81 | 
         
            -
            					watermark: false,
         
     | 
| 82 | 
         
            -
            					details: true
         
     | 
| 83 | 
         
            -
            				}
         
     | 
| 84 | 
         
            -
            			}),
         
     | 
| 85 | 
         
            -
            			async onopen(response) {
         
     | 
| 86 | 
         
            -
            				if (response.ok && response.headers.get('content-type') === 'text/event-stream') {
         
     | 
| 87 | 
         
            -
            					messages = [...messages, { from: 'bot', content: '' }];
         
     | 
| 88 | 
         
            -
            				} else {
         
     | 
| 89 | 
         
            -
            					console.error('error opening the SSE endpoint');
         
     | 
| 90 | 
         
            -
            				}
         
     | 
| 91 | 
         
            -
            			},
         
     | 
| 92 | 
         
            -
            			onmessage(msg) {
         
     | 
| 93 | 
         
            -
            				const data = JSON.parse(msg.data) as StreamResponse;
         
     | 
| 94 | 
         
            -
            				// console.log(data);
         
     | 
| 95 | 
         
            -
            				if (!data.token.special) {
         
     | 
| 96 | 
         
            -
            					messages.at(-1)!.content += data.token.text;
         
     | 
| 97 | 
         
            -
            					messages = messages;
         
     | 
| 98 | 
         
            -
            				}
         
     | 
| 99 | 
         
            -
            			}
         
     | 
| 100 | 
         
            -
            		});
         
     | 
| 101 | 
         
             
            	}
         
     | 
| 102 | 
         
             
            </script>
         
     | 
| 103 | 
         | 
| 
         | 
|
| 1 | 
         
             
            <script lang="ts">
         
     | 
| 2 | 
         
            +
            	import type { Message } from '$lib/Types';
         
     | 
| 3 | 
         | 
| 4 | 
         
             
            	import { afterUpdate } from 'svelte';
         
     | 
| 5 | 
         
            +
            	import { HfInference } from '@huggingface/inference';
         
     | 
| 
         | 
|
| 6 | 
         | 
| 7 | 
         
             
            	import ChatMessage from '$lib/components/chat/ChatMessage.svelte';
         
     | 
| 8 | 
         
             
            	import ChatIntroduction from '$lib/components/chat/ChatIntroduction.svelte';
         
     | 
| 
         | 
|
| 10 | 
         | 
| 11 | 
         
             
            	import {
         
     | 
| 12 | 
         
             
            		PUBLIC_ASSISTANT_MESSAGE_TOKEN,
         
     | 
| 
         | 
|
| 
         | 
|
| 13 | 
         
             
            		PUBLIC_SEP_TOKEN,
         
     | 
| 14 | 
         
             
            		PUBLIC_USER_MESSAGE_TOKEN
         
     | 
| 15 | 
         
             
            	} from '$env/static/public';
         
     | 
| 16 | 
         
            +
            	import { page } from '$app/stores';
         
     | 
| 17 | 
         | 
| 18 | 
         
             
            	const userToken = PUBLIC_USER_MESSAGE_TOKEN || '<|prompter|>';
         
     | 
| 19 | 
         
             
            	const assistantToken = PUBLIC_ASSISTANT_MESSAGE_TOKEN || '<|assistant|>';
         
     | 
| 20 | 
         
             
            	const sepToken = PUBLIC_SEP_TOKEN || '<|endoftext|>';
         
     | 
| 21 | 
         | 
| 22 | 
         
            +
            	const hf = new HfInference();
         
     | 
| 23 | 
         
            +
            	const model = hf.endpoint(`${$page.url.origin}/api/conversation`);
         
     | 
| 24 | 
         
            +
             
     | 
| 25 | 
         
             
            	let messages: Message[] = [];
         
     | 
| 26 | 
         
             
            	let message = '';
         
     | 
| 27 | 
         | 
| 
         | 
|
| 42 | 
         
             
            		}
         
     | 
| 43 | 
         
             
            	}
         
     | 
| 44 | 
         | 
| 45 | 
         
            +
            	async function getTextGenerationStream(inputs: string) {
         
     | 
| 46 | 
         
            +
            		const response = model.textGenerationStream(
         
     | 
| 47 | 
         
            +
            			{
         
     | 
| 48 | 
         
            +
            				inputs,
         
     | 
| 49 | 
         
            +
            				parameters: {
         
     | 
| 50 | 
         
            +
            					// Taken from https://huggingface.co/spaces/huggingface/open-assistant-private-testing/blob/main/app.py#L54
         
     | 
| 51 | 
         
            +
            					// @ts-ignore
         
     | 
| 52 | 
         
            +
            					stop: ['<|endoftext|>'],
         
     | 
| 53 | 
         
            +
            					max_new_tokens: 1024,
         
     | 
| 54 | 
         
            +
            					truncate: 1024,
         
     | 
| 55 | 
         
            +
            					typical_p: 0.2
         
     | 
| 56 | 
         
            +
            				}
         
     | 
| 57 | 
         
            +
            			},
         
     | 
| 58 | 
         
            +
            			{
         
     | 
| 59 | 
         
            +
            				use_cache: false
         
     | 
| 60 | 
         
            +
            			}
         
     | 
| 61 | 
         
            +
            		);
         
     | 
| 62 | 
         
            +
             
     | 
| 63 | 
         
            +
            		// Regex to check if the text finishes by "<" but is not a piece of code like "`<img>`"
         
     | 
| 64 | 
         
            +
            		const endOfTextRegex = /(?<!`)<(?!`)/;
         
     | 
| 65 | 
         
            +
             
     | 
| 66 | 
         
            +
            		for await (const data of response) {
         
     | 
| 67 | 
         
            +
            			if (!data) break;
         
     | 
| 68 | 
         
            +
             
     | 
| 69 | 
         
            +
            			try {
         
     | 
| 70 | 
         
            +
            				if (!data.token.special) {
         
     | 
| 71 | 
         
            +
            					if (messages.at(-1)?.from !== 'bot') {
         
     | 
| 72 | 
         
            +
            						// First token has a space at the beginning, trim it
         
     | 
| 73 | 
         
            +
            						messages = [...messages, { from: 'bot', content: data.token.text.trimStart() }];
         
     | 
| 74 | 
         
            +
            					} else {
         
     | 
| 75 | 
         
            +
            						const isEndOfText = endOfTextRegex.test(data.token.text);
         
     | 
| 76 | 
         
            +
             
     | 
| 77 | 
         
            +
            						messages.at(-1)!.content += isEndOfText
         
     | 
| 78 | 
         
            +
            							? data.token.text.replace('<', '')
         
     | 
| 79 | 
         
            +
            							: data.token.text;
         
     | 
| 80 | 
         
            +
            						messages = messages;
         
     | 
| 81 | 
         
            +
             
     | 
| 82 | 
         
            +
            						if (isEndOfText) break;
         
     | 
| 83 | 
         
            +
            					}
         
     | 
| 84 | 
         
            +
            				}
         
     | 
| 85 | 
         
            +
            			} catch (error) {
         
     | 
| 86 | 
         
            +
            				console.error(error);
         
     | 
| 87 | 
         
            +
            				break;
         
     | 
| 88 | 
         
            +
            			}
         
     | 
| 89 | 
         
            +
            		}
         
     | 
| 90 | 
         
            +
            	}
         
     | 
| 91 | 
         
            +
             
     | 
| 92 | 
         
             
            	function onWrite() {
         
     | 
| 93 | 
         
             
            		if (!message) return;
         
     | 
| 94 | 
         | 
| 
         | 
|
| 103 | 
         
             
            				)
         
     | 
| 104 | 
         
             
            				.join('') + assistantToken;
         
     | 
| 105 | 
         | 
| 106 | 
         
            +
            		getTextGenerationStream(inputs);
         
     | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 107 | 
         
             
            	}
         
     | 
| 108 | 
         
             
            </script>
         
     | 
| 109 | 
         | 
| 
         @@ -0,0 +1,14 @@ 
     | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
| 
         | 
|
| 1 | 
         
            +
            import { env } from '$env/dynamic/private';
         
     | 
| 2 | 
         
            +
            import { PUBLIC_MODEL_ENDPOINT } from '$env/static/public';
         
     | 
| 3 | 
         
            +
             
     | 
| 4 | 
         
            +
            export async function POST({ request }) {
         
     | 
| 5 | 
         
            +
            	return await fetch(PUBLIC_MODEL_ENDPOINT, {
         
     | 
| 6 | 
         
            +
            		headers: {
         
     | 
| 7 | 
         
            +
            			...request.headers,
         
     | 
| 8 | 
         
            +
            			'Content-Type': 'application/json',
         
     | 
| 9 | 
         
            +
            			Authorization: `Basic ${env.HF_TOKEN}`
         
     | 
| 10 | 
         
            +
            		},
         
     | 
| 11 | 
         
            +
            		method: 'POST',
         
     | 
| 12 | 
         
            +
            		body: await request.text()
         
     | 
| 13 | 
         
            +
            	});
         
     | 
| 14 | 
         
            +
            }
         
     |