mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-12 12:25:20 +00:00
feat: Dynamically load @huggingface/transformers to improve first-screen loading speed
This commit is contained in:
parent
9f9f1a1517
commit
03d5d00d28
2 changed files with 5 additions and 6 deletions
|
|
@ -1,9 +1,4 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import * as ort from 'onnxruntime-web';
|
|
||||||
import { env, AutoModel, AutoTokenizer } from '@huggingface/transformers';
|
|
||||||
|
|
||||||
env.backends.onnx.wasm.wasmPaths = '/wasm/';
|
|
||||||
|
|
||||||
import { onMount, getContext } from 'svelte';
|
import { onMount, getContext } from 'svelte';
|
||||||
import { models } from '$lib/stores';
|
import { models } from '$lib/stores';
|
||||||
|
|
||||||
|
|
@ -237,6 +232,11 @@
|
||||||
//////////////////////
|
//////////////////////
|
||||||
|
|
||||||
const loadEmbeddingModel = async () => {
|
const loadEmbeddingModel = async () => {
|
||||||
|
const { env, AutoModel, AutoTokenizer } = await import('@huggingface/transformers');
|
||||||
|
if (env.backends.onnx.wasm) {
|
||||||
|
env.backends.onnx.wasm.wasmPaths = '/wasm/';
|
||||||
|
}
|
||||||
|
|
||||||
// Check if the tokenizer and model are already loaded and stored in the window object
|
// Check if the tokenizer and model are already loaded and stored in the window object
|
||||||
if (!window.tokenizer) {
|
if (!window.tokenizer) {
|
||||||
window.tokenizer = await AutoTokenizer.from_pretrained(EMBEDDING_MODEL);
|
window.tokenizer = await AutoTokenizer.from_pretrained(EMBEDDING_MODEL);
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
import { getVoices as _getVoices } from '$lib/apis/audio';
|
import { getVoices as _getVoices } from '$lib/apis/audio';
|
||||||
|
|
||||||
import Switch from '$lib/components/common/Switch.svelte';
|
import Switch from '$lib/components/common/Switch.svelte';
|
||||||
import { round } from '@huggingface/transformers';
|
|
||||||
import Spinner from '$lib/components/common/Spinner.svelte';
|
import Spinner from '$lib/components/common/Spinner.svelte';
|
||||||
import Tooltip from '$lib/components/common/Tooltip.svelte';
|
import Tooltip from '$lib/components/common/Tooltip.svelte';
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue