|
| 1 | +import { describe, it, expect } from "vitest" |
| 2 | +import { getModelDimension, EMBEDDING_MODEL_PROFILES } from "../embeddingModels" |
| 3 | + |
| 4 | +describe("embeddingModels", () => { |
| 5 | + describe("EMBEDDING_MODEL_PROFILES", () => { |
| 6 | + it("should have codestral-embed model defined for openai-compatible provider", () => { |
| 7 | + const openAiCompatibleModels = EMBEDDING_MODEL_PROFILES["openai-compatible"] |
| 8 | + expect(openAiCompatibleModels).toBeDefined() |
| 9 | + expect(openAiCompatibleModels?.["codestral-embed"]).toBeDefined() |
| 10 | + expect(openAiCompatibleModels?.["codestral-embed"].dimension).toBe(3072) |
| 11 | + expect(openAiCompatibleModels?.["codestral-embed"].scoreThreshold).toBe(0.4) |
| 12 | + }) |
| 13 | + |
| 14 | + it("should have codestral-embed model defined for mistral provider", () => { |
| 15 | + const mistralModels = EMBEDDING_MODEL_PROFILES["mistral"] |
| 16 | + expect(mistralModels).toBeDefined() |
| 17 | + expect(mistralModels?.["codestral-embed-2505"]).toBeDefined() |
| 18 | + expect(mistralModels?.["codestral-embed-2505"].dimension).toBe(1536) |
| 19 | + expect(mistralModels?.["codestral-embed-2505"].scoreThreshold).toBe(0.4) |
| 20 | + }) |
| 21 | + }) |
| 22 | + |
| 23 | + describe("getModelDimension", () => { |
| 24 | + it("should return correct dimension for codestral-embed in openai-compatible provider", () => { |
| 25 | + const dimension = getModelDimension("openai-compatible", "codestral-embed") |
| 26 | + expect(dimension).toBe(3072) |
| 27 | + }) |
| 28 | + |
| 29 | + it("should return correct dimension for codestral-embed-2505 in mistral provider", () => { |
| 30 | + const dimension = getModelDimension("mistral", "codestral-embed-2505") |
| 31 | + expect(dimension).toBe(1536) |
| 32 | + }) |
| 33 | + |
| 34 | + it("should return undefined for unknown model", () => { |
| 35 | + const dimension = getModelDimension("openai-compatible", "unknown-model") |
| 36 | + expect(dimension).toBeUndefined() |
| 37 | + }) |
| 38 | + |
| 39 | + it("should return correct dimensions for other openai-compatible models", () => { |
| 40 | + expect(getModelDimension("openai-compatible", "text-embedding-3-small")).toBe(1536) |
| 41 | + expect(getModelDimension("openai-compatible", "text-embedding-3-large")).toBe(3072) |
| 42 | + expect(getModelDimension("openai-compatible", "text-embedding-ada-002")).toBe(1536) |
| 43 | + expect(getModelDimension("openai-compatible", "nomic-embed-code")).toBe(3584) |
| 44 | + }) |
| 45 | + }) |
| 46 | +}) |
0 commit comments