UNPKG

ai-utils.js

Version:

Build AI applications, chatbots, and agents with JavaScript and TypeScript.

63 lines (62 loc) 1.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.transcribe = void 0; const executeCall_js_1 = require("../executeCall.cjs"); /** * Transcribe audio data into text. * * @example * const data = await fs.promises.readFile("data/test.mp3"); * * const { transcription } = await transcribe( * new OpenAITranscriptionModel({ model: "whisper-1" }), * { * type: "mp3", * data, * } * ); */ async function transcribe(model, data, options) { const result = await (0, executeCall_js_1.executeCall)({ model, options, generateResponse: (options) => model.generateTranscriptionResponse(data, options), extractOutputValue: model.extractTranscriptionText, getStartEvent: (metadata, settings) => ({ type: "transcription-started", metadata, settings, data, }), getAbortEvent: (metadata, settings) => ({ type: "transcription-finished", status: "abort", settings, metadata, data, }), getFailureEvent: (metadata, settings, error) => ({ type: "transcription-finished", status: "failure", metadata, settings, data, error, }), getSuccessEvent: (metadata, settings, response, output) => ({ type: "transcription-finished", status: "success", metadata, settings, data, response, transcription: output, }), }); return { transcription: result.output, response: result.response, metadata: result.metadata, }; } exports.transcribe = transcribe;