Wire mic through Whisper-compatible transcriptions on LLM_BASE_URL. Photos upload to MinIO and reach the vision model as base64 image_url parts.
24 lines
842 B
TypeScript
24 lines
842 B
TypeScript
import assert from "node:assert/strict";
|
|
import { describe, it } from "node:test";
|
|
import { transcribeAudioFile } from "../../src/lib/llm/transcribe";
|
|
|
|
describe("transcribeAudioFile", () => {
|
|
it("returns mock text when llm base url is unset", async () => {
|
|
const original = process.env.LLM_BASE_URL;
|
|
const originalProvider = process.env.LLM_PROVIDER;
|
|
delete process.env.LLM_BASE_URL;
|
|
delete process.env.LLM_PROVIDER;
|
|
|
|
const text = await transcribeAudioFile(
|
|
new Blob(["audio"], { type: "audio/wav" }),
|
|
"recording.wav",
|
|
);
|
|
assert.match(text, /milk/i);
|
|
|
|
if (original === undefined) delete process.env.LLM_BASE_URL;
|
|
else process.env.LLM_BASE_URL = original;
|
|
if (originalProvider === undefined) delete process.env.LLM_PROVIDER;
|
|
else process.env.LLM_PROVIDER = originalProvider;
|
|
});
|
|
});
|