Skip to content

Commit 0ee88b5

Browse files
authored
Merge pull request #181 from llm-tools/sqlite
Move BaseEmbedding to abstract class
2 parents 1efd12e + f1dc9cb commit 0ee88b5

47 files changed

Lines changed: 409 additions & 367 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

core/embedjs-interfaces/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@llm-tools/embedjs-interfaces",
3-
"version": "0.1.22",
3+
"version": "0.1.23",
44
"description": "Interfaces for extending the embedjs ecosystem",
55
"dependencies": {
66
"@langchain/core": "^0.3.19",
Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
export interface BaseEmbeddings {
2-
embedDocuments(texts: string[]): Promise<number[][]>;
3-
embedQuery(text: string): Promise<number[]>;
4-
getDimensions(): Promise<number>;
1+
export abstract class BaseEmbeddings {
2+
// eslint-disable-next-line @typescript-eslint/no-empty-function
3+
public async init(): Promise<void> {}
4+
5+
public abstract embedDocuments(texts: string[]): Promise<number[][]>;
6+
public abstract embedQuery(text: string): Promise<number[]>;
7+
public abstract getDimensions(): Promise<number>;
58
}

core/embedjs-utils/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"name": "@llm-tools/embedjs-utils",
3-
"version": "0.1.22",
3+
"version": "0.1.23",
44
"description": "Useful util functions when extending the embedjs ecosystem",
55
"dependencies": {
6-
"@llm-tools/embedjs-interfaces": "0.1.22"
6+
"@llm-tools/embedjs-interfaces": "0.1.23"
77
},
88
"type": "module",
99
"main": "./src/index.js",

core/embedjs/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"type": "module",
33
"name": "@llm-tools/embedjs",
4-
"version": "0.1.22",
4+
"version": "0.1.23",
55
"description": "A NodeJS RAG framework to easily work with LLMs and custom datasets",
66
"dependencies": {
77
"@langchain/textsplitters": "^0.1.0",
8-
"@llm-tools/embedjs-interfaces": "0.1.22",
9-
"@llm-tools/embedjs-utils": "0.1.22",
8+
"@llm-tools/embedjs-interfaces": "0.1.23",
9+
"@llm-tools/embedjs-utils": "0.1.23",
1010
"debug": "^4.3.7",
1111
"langchain": "^0.3.6",
1212
"md5": "^2.3.0",

core/embedjs/src/core/rag-application.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,6 @@ export class RAGApplication {
4444

4545
this.searchResultCount = llmBuilder.getSearchResultCount();
4646
this.embeddingRelevanceCutOff = llmBuilder.getEmbeddingRelevanceCutOff();
47-
48-
RAGEmbedding.init(llmBuilder.getEmbeddingModel());
4947
}
5048

5149
/**
@@ -57,6 +55,8 @@ export class RAGApplication {
5755
* LLM based on the configuration provided
5856
*/
5957
public async init(llmBuilder: RAGApplicationBuilder) {
58+
await RAGEmbedding.init(llmBuilder.getEmbeddingModel());
59+
6060
this.model = await this.getModel(llmBuilder.getModel());
6161
if (!this.model) this.debug('No base model set; query function unavailable!');
6262
else BaseModel.setDefaultTemperature(llmBuilder.getTemperature());

core/embedjs/src/core/rag-embedding.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ import { Document } from 'langchain/document';
44
export class RAGEmbedding {
55
private static singleton: RAGEmbedding;
66

7-
public static init(embeddingModel: BaseEmbeddings) {
7+
public static async init(embeddingModel: BaseEmbeddings) {
88
if (!this.singleton) {
9+
await embeddingModel.init();
910
this.singleton = new RAGEmbedding(embeddingModel);
1011
}
1112
}

databases/embedjs-astra/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"name": "@llm-tools/embedjs-astradb",
3-
"version": "0.1.22",
3+
"version": "0.1.23",
44
"description": "Add AstraDB support to embedjs",
55
"dependencies": {
66
"@datastax/astra-db-ts": "^1.5.0",
7-
"@llm-tools/embedjs-interfaces": "0.1.22",
7+
"@llm-tools/embedjs-interfaces": "0.1.23",
88
"debug": "^4.3.7"
99
},
1010
"type": "module",

databases/embedjs-cosmos/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"name": "@llm-tools/embedjs-cosmos",
3-
"version": "0.1.22",
3+
"version": "0.1.23",
44
"description": "Add CosmosDB support to embedjs",
55
"dependencies": {
66
"@azure/cosmos": "^4.2.0",
7-
"@llm-tools/embedjs-interfaces": "0.1.22",
7+
"@llm-tools/embedjs-interfaces": "0.1.23",
88
"debug": "^4.3.7"
99
},
1010
"type": "module",

databases/embedjs-hnswlib/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"name": "@llm-tools/embedjs-hnswlib",
3-
"version": "0.1.22",
3+
"version": "0.1.23",
44
"description": "Add HNSWLib support to embedjs",
55
"dependencies": {
6-
"@llm-tools/embedjs-interfaces": "0.1.22",
6+
"@llm-tools/embedjs-interfaces": "0.1.23",
77
"debug": "^4.3.7",
88
"hnswlib-node": "^3.0.0"
99
},

databases/embedjs-lancedb/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"name": "@llm-tools/embedjs-lancedb",
3-
"version": "0.1.22",
3+
"version": "0.1.23",
44
"description": "Add LanceDb support to embedjs",
55
"dependencies": {
66
"@lancedb/lancedb": "^0.13.0",
7-
"@llm-tools/embedjs-interfaces": "0.1.22",
7+
"@llm-tools/embedjs-interfaces": "0.1.23",
88
"compute-cosine-similarity": "^1.1.0",
99
"debug": "^4.3.7"
1010
},

0 commit comments

Comments
 (0)