diff --git a/nodejs/examples/sentence-transformers.test.ts b/nodejs/examples/sentence-transformers.test.ts index 561419a3..97f5ae92 100644 --- a/nodejs/examples/sentence-transformers.test.ts +++ b/nodejs/examples/sentence-transformers.test.ts @@ -6,12 +6,16 @@ import { withTempDirectory } from "./util.ts"; import * as lancedb from "@lancedb/lancedb"; import "@lancedb/lancedb/embedding/transformers"; import { LanceSchema, getRegistry } from "@lancedb/lancedb/embedding"; +import { EmbeddingFunction } from "@lancedb/lancedb/embedding"; import { Utf8 } from "apache-arrow"; test("full text search", async () => { await withTempDirectory(async (databaseDir) => { const db = await lancedb.connect(databaseDir); - const func = await getRegistry().get("huggingface").create(); + console.log(getRegistry()); + const func = (await getRegistry() + .get("huggingface") + ?.create()) as EmbeddingFunction; const facts = [ "Albert Einstein was a theoretical physicist.", @@ -56,4 +60,4 @@ test("full text search", async () => { expect(actual[0]["text"]).toBe("The human body has 206 bones."); }); -}); +}, 100_000); diff --git a/nodejs/lancedb/embedding/index.ts b/nodejs/lancedb/embedding/index.ts index cf9090e6..44e58b28 100644 --- a/nodejs/lancedb/embedding/index.ts +++ b/nodejs/lancedb/embedding/index.ts @@ -19,9 +19,6 @@ import { EmbeddingFunctionConfig, getRegistry } from "./registry"; export { EmbeddingFunction, TextEmbeddingFunction } from "./embedding_function"; -// We need to explicitly export '*' so that the `register` decorator actually registers the class. -export * from "./openai"; -export * from "./transformers"; export * from "./registry"; /** diff --git a/nodejs/lancedb/embedding/registry.ts b/nodejs/lancedb/embedding/registry.ts index a5af3523..7bcf81ee 100644 --- a/nodejs/lancedb/embedding/registry.ts +++ b/nodejs/lancedb/embedding/registry.ts @@ -17,8 +17,6 @@ import { type EmbeddingFunctionConstructor, } from "./embedding_function"; import "reflect-metadata"; -import { OpenAIEmbeddingFunction } from "./openai"; -import { TransformersEmbeddingFunction } from "./transformers"; type CreateReturnType = T extends { init: () => Promise } ? Promise @@ -73,10 +71,6 @@ export class EmbeddingFunctionRegistry { }; } - get(name: "openai"): EmbeddingFunctionCreate; - get( - name: "huggingface", - ): EmbeddingFunctionCreate; get>( name: string, ): EmbeddingFunctionCreate | undefined; diff --git a/nodejs/package.json b/nodejs/package.json index 50a0be86..c3082de3 100644 --- a/nodejs/package.json +++ b/nodejs/package.json @@ -14,7 +14,9 @@ "main": "dist/index.js", "exports": { ".": "./dist/index.js", - "./embedding": "./dist/embedding/index.js" + "./embedding": "./dist/embedding/index.js", + "./embedding/openai": "./dist/embedding/openai.js", + "./embedding/transformers": "./dist/embedding/transformers.js" }, "types": "dist/index.d.ts", "napi": {