336fbce60a
Co-authored-by: utkarsh240799 <utkarsh240799@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
68 lines
2.0 KiB
TypeScript
68 lines
2.0 KiB
TypeScript
/// <reference types="jest" />
|
|
import {
|
|
EmbedderFactory,
|
|
VectorStoreFactory,
|
|
} from "../src/utils/factory";
|
|
import { LMStudioEmbedder } from "../src/embeddings/lmstudio";
|
|
import { AzureAISearch } from "../src/vector_stores/azure_ai_search";
|
|
|
|
describe("EmbedderFactory", () => {
|
|
describe("create", () => {
|
|
it("should create LM Studio embedder with baseURL", () => {
|
|
const embedder = EmbedderFactory.create("lmstudio", {
|
|
model: "text-embedding-gte-qwen2-1.5b-instruct",
|
|
baseURL: "http://localhost:1234/v1",
|
|
});
|
|
|
|
expect(embedder).toBeInstanceOf(LMStudioEmbedder);
|
|
});
|
|
|
|
it("should throw error for unsupported embedder provider", () => {
|
|
expect(() => {
|
|
EmbedderFactory.create("unsupported-embedder", {});
|
|
}).toThrow("Unsupported embedder provider: unsupported-embedder");
|
|
});
|
|
});
|
|
});
|
|
|
|
describe("VectorStoreFactory", () => {
|
|
describe("create", () => {
|
|
it("should create Azure AI Search vector store", () => {
|
|
const config = {
|
|
collectionName: "test-memories",
|
|
serviceName: "test-service",
|
|
apiKey: "test-api-key",
|
|
embeddingModelDims: 1536,
|
|
compressionType: "none" as const,
|
|
useFloat16: false,
|
|
hybridSearch: false,
|
|
vectorFilterMode: "preFilter" as const,
|
|
};
|
|
|
|
const vectorStore = VectorStoreFactory.create("azure-ai-search", config);
|
|
|
|
expect(vectorStore).toBeInstanceOf(AzureAISearch);
|
|
});
|
|
|
|
it("should create memory vector store", () => {
|
|
const config = {
|
|
collectionName: "test-memories",
|
|
dimension: 1536,
|
|
};
|
|
|
|
const vectorStore = VectorStoreFactory.create("memory", config);
|
|
|
|
expect(vectorStore).toBeDefined();
|
|
expect(vectorStore.constructor.name).toBe("MemoryVectorStore");
|
|
});
|
|
|
|
it("should throw error for unsupported provider", () => {
|
|
const config = {};
|
|
|
|
expect(() => {
|
|
VectorStoreFactory.create("unsupported-provider", config);
|
|
}).toThrow("Unsupported vector store provider: unsupported-provider");
|
|
});
|
|
});
|
|
});
|