From f651891196ce76ad631561dab791f2480bceb4cf Mon Sep 17 00:00:00 2001
From: Alex Yang <himself65@outlook.com>
Date: Sun, 20 Oct 2024 13:21:15 -0700
Subject: [PATCH] fix: remove internal `getImageEmbedModel`

---
 .../src/embeddings/CloudflareWorkerEmbedding.ts | 17 -----------------
 .../src/internal/settings/image-embed-model.ts  |  8 --------
 .../llamaindex/src/storage/StorageContext.ts    |  6 +++---
 3 files changed, 3 insertions(+), 28 deletions(-)
 delete mode 100644 packages/llamaindex/src/embeddings/CloudflareWorkerEmbedding.ts
 delete mode 100644 packages/llamaindex/src/internal/settings/image-embed-model.ts

diff --git a/packages/llamaindex/src/embeddings/CloudflareWorkerEmbedding.ts b/packages/llamaindex/src/embeddings/CloudflareWorkerEmbedding.ts
deleted file mode 100644
index 76c0fec6f..000000000
--- a/packages/llamaindex/src/embeddings/CloudflareWorkerEmbedding.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { MultiModalEmbedding } from "@llamaindex/core/embeddings";
-import type { ImageType } from "@llamaindex/core/schema";
-
-/**
- * Cloudflare worker doesn't support image embeddings for now
- */
-export class CloudflareWorkerMultiModalEmbedding extends MultiModalEmbedding {
-  constructor() {
-    super();
-  }
-  getImageEmbedding(images: ImageType): Promise<number[]> {
-    throw new Error("Method not implemented.");
-  }
-  getTextEmbedding(text: string): Promise<number[]> {
-    throw new Error("Method not implemented.");
-  }
-}
diff --git a/packages/llamaindex/src/internal/settings/image-embed-model.ts b/packages/llamaindex/src/internal/settings/image-embed-model.ts
deleted file mode 100644
index a82440557..000000000
--- a/packages/llamaindex/src/internal/settings/image-embed-model.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-export async function getImageEmbedModel() {
-  if (globalThis.navigator?.userAgent === "Cloudflare-Workers") {
-    return (await import("../../embeddings/CloudflareWorkerEmbedding.js"))
-      .CloudflareWorkerMultiModalEmbedding;
-  } else {
-    return (await import("../../embeddings/ClipEmbedding.js")).ClipEmbedding;
-  }
-}
diff --git a/packages/llamaindex/src/storage/StorageContext.ts b/packages/llamaindex/src/storage/StorageContext.ts
index ad94692d1..bba1acb12 100644
--- a/packages/llamaindex/src/storage/StorageContext.ts
+++ b/packages/llamaindex/src/storage/StorageContext.ts
@@ -1,10 +1,10 @@
+import { ClipEmbedding } from "@llamaindex/clip";
 import {
   DEFAULT_IMAGE_VECTOR_NAMESPACE,
   DEFAULT_NAMESPACE,
 } from "@llamaindex/core/global";
 import { ModalityType, ObjectType } from "@llamaindex/core/schema";
 import { path } from "@llamaindex/env";
-import { getImageEmbedModel } from "../internal/settings/image-embed-model.js";
 import type { ServiceContext } from "../ServiceContext.js";
 import { SimpleVectorStore } from "../vector-store/SimpleVectorStore.js";
 import type {
@@ -53,7 +53,7 @@ export async function storageContextFromDefaults({
     }
     if (storeImages && !(ModalityType.IMAGE in vectorStores)) {
       vectorStores[ModalityType.IMAGE] = new SimpleVectorStore({
-        embeddingModel: new (await getImageEmbedModel())(),
+        embeddingModel: new ClipEmbedding(),
       });
     }
   } else {
@@ -71,7 +71,7 @@ export async function storageContextFromDefaults({
     if (storeImages && !(ObjectType.IMAGE in vectorStores)) {
       vectorStores[ModalityType.IMAGE] = await SimpleVectorStore.fromPersistDir(
         path.join(persistDir, DEFAULT_IMAGE_VECTOR_NAMESPACE),
-        new (await getImageEmbedModel())(),
+        new ClipEmbedding(),
       );
     }
   }
-- 
GitLab