|
@@ -216,6 +216,25 @@
|
|
|
//
|
|
|
//////////////////////
|
|
|
|
|
|
+ const loadEmbeddingModel = async () => {
|
|
|
+ // Check if the tokenizer and model are already loaded and stored in the window object
|
|
|
+ if (!window.tokenizer) {
|
|
|
+ window.tokenizer = await AutoTokenizer.from_pretrained(EMBEDDING_MODEL);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!window.model) {
|
|
|
+ window.model = await AutoModel.from_pretrained(EMBEDDING_MODEL);
|
|
|
+ }
|
|
|
+
|
|
|
+ // Use the tokenizer and model from the window object
|
|
|
+ tokenizer = window.tokenizer;
|
|
|
+ model = window.model;
|
|
|
+
|
|
|
+ // Pre-compute embeddings for all unique tags
|
|
|
+ const allTags = new Set(feedbacks.flatMap((feedback) => feedback.data.tags || []));
|
|
|
+ await getTagEmbeddings(Array.from(allTags));
|
|
|
+ };
|
|
|
+
|
|
|
const getEmbeddings = async (text: string) => {
|
|
|
const tokens = await tokenizer(text);
|
|
|
const output = await model(tokens);
|
|
@@ -320,25 +339,6 @@
|
|
|
}
|
|
|
};
|
|
|
|
|
|
- const loadEmbeddingModel = async () => {
|
|
|
- // Check if the tokenizer and model are already loaded and stored in the window object
|
|
|
- if (!window.tokenizer) {
|
|
|
- window.tokenizer = await AutoTokenizer.from_pretrained(EMBEDDING_MODEL);
|
|
|
- }
|
|
|
-
|
|
|
- if (!window.model) {
|
|
|
- window.model = await AutoModel.from_pretrained(EMBEDDING_MODEL);
|
|
|
- }
|
|
|
-
|
|
|
- // Use the tokenizer and model from the window object
|
|
|
- tokenizer = window.tokenizer;
|
|
|
- model = window.model;
|
|
|
-
|
|
|
- // Pre-compute embeddings for all unique tags
|
|
|
- const allTags = new Set(feedbacks.flatMap((feedback) => feedback.data.tags || []));
|
|
|
- await getTagEmbeddings(Array.from(allTags));
|
|
|
- };
|
|
|
-
|
|
|
onMount(async () => {
|
|
|
feedbacks = await getAllFeedbacks(localStorage.token);
|
|
|
loaded = true;
|