Spaces:
Running
Running
Download server/config/modelConfig.test.ts from Felladrin/MiniSearch: direct link, hf CLI and curl.
- Browser
- Download file 3 kB
-
https://huggingface.co/spaces/Felladrin/MiniSearch/resolve/main/server/config/modelConfig.test.ts
- Command line
-
hf download hf://spaces/Felladrin/MiniSearch/server/config/modelConfig.test.ts
-
curl -L -o modelConfig.test.ts https://huggingface.co/spaces/Felladrin/MiniSearch/resolve/main/server/config/modelConfig.test.ts
3 kB
| import { afterEach, beforeEach, describe, expect, it } from "vitest"; | |
| import { getModelConfig } from "./modelConfig.ts"; | |
| const modelEnvironmentVariables = [ | |
| "MODEL_MAX_RETRIES", | |
| "MODEL_BASE_BACKOFF_MS", | |
| "MODEL_MAX_BACKOFF_MS", | |
| "MODEL_REQUEST_TIMEOUT_MS", | |
| "MODEL_MAX_CONCURRENT_REQUESTS", | |
| "MODEL_DEFAULT_MAX_TOKENS", | |
| "MODEL_TEMPERATURE", | |
| "MODEL_TOP_P", | |
| ] as const; | |
| const originalModelEnvironment = new Map( | |
| modelEnvironmentVariables.map((variable) => [ | |
| variable, | |
| process.env[variable], | |
| ]), | |
| ); | |
| function clearModelEnvironment() { | |
| for (const variable of modelEnvironmentVariables) { | |
| delete process.env[variable]; | |
| } | |
| } | |
| function restoreModelEnvironment() { | |
| for (const variable of modelEnvironmentVariables) { | |
| const originalValue = originalModelEnvironment.get(variable); | |
| if (originalValue === undefined) delete process.env[variable]; | |
| else process.env[variable] = originalValue; | |
| } | |
| } | |
| describe("getModelConfig", () => { | |
| beforeEach(clearModelEnvironment); | |
| afterEach(restoreModelEnvironment); | |
| it("returns the default model configuration", () => { | |
| expect(getModelConfig()).toEqual({ | |
| maxRetries: 5, | |
| baseBackoffMs: 100, | |
| maxBackoffMs: 5000, | |
| requestTimeoutMs: 30000, | |
| maxConcurrentRequests: 10, | |
| defaultMaxTokens: 2048, | |
| temperature: 0.7, | |
| topP: 0.9, | |
| }); | |
| }); | |
| it("keeps the defaults within the supported request ranges", () => { | |
| const config = getModelConfig(); | |
| expect(config.maxRetries).toBeGreaterThanOrEqual(0); | |
| expect(config.baseBackoffMs).toBeGreaterThan(0); | |
| expect(config.maxBackoffMs).toBeGreaterThanOrEqual(config.baseBackoffMs); | |
| expect(config.requestTimeoutMs).toBeGreaterThan(0); | |
| expect(config.maxConcurrentRequests).toBeGreaterThan(0); | |
| expect(config.defaultMaxTokens).toBeGreaterThan(0); | |
| expect(config.temperature).toBeGreaterThanOrEqual(0); | |
| expect(config.temperature).toBeLessThanOrEqual(2); | |
| expect(config.topP).toBeGreaterThan(0); | |
| expect(config.topP).toBeLessThanOrEqual(1); | |
| }); | |
| it("parses every supported environment override", () => { | |
| process.env.MODEL_MAX_RETRIES = "2"; | |
| process.env.MODEL_BASE_BACKOFF_MS = "250"; | |
| process.env.MODEL_MAX_BACKOFF_MS = "10000"; | |
| process.env.MODEL_REQUEST_TIMEOUT_MS = "45000"; | |
| process.env.MODEL_MAX_CONCURRENT_REQUESTS = "4"; | |
| process.env.MODEL_DEFAULT_MAX_TOKENS = "4096"; | |
| process.env.MODEL_TEMPERATURE = "0.2"; | |
| process.env.MODEL_TOP_P = "0.95"; | |
| expect(getModelConfig()).toEqual({ | |
| maxRetries: 2, | |
| baseBackoffMs: 250, | |
| maxBackoffMs: 10000, | |
| requestTimeoutMs: 45000, | |
| maxConcurrentRequests: 4, | |
| defaultMaxTokens: 4096, | |
| temperature: 0.2, | |
| topP: 0.95, | |
| }); | |
| }); | |
| it("uses the default for an empty environment variable", () => { | |
| process.env.MODEL_MAX_RETRIES = ""; | |
| process.env.MODEL_TEMPERATURE = ""; | |
| expect(getModelConfig()).toMatchObject({ | |
| maxRetries: 5, | |
| temperature: 0.7, | |
| }); | |
| }); | |
| }); | |