File size: 752 Bytes
57e16da
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { getInference } from '$lib/agents/getInference';
import type {
	AutomaticSpeechRecognitionArgs,
	AutomaticSpeechRecognitionOutput
} from '@huggingface/inference';
import type { Tool } from './tool';

export const speechToTextTool: Tool<
	AutomaticSpeechRecognitionArgs['data'],
	AutomaticSpeechRecognitionOutput['text']
> = {
	name: 'speechToText',
	description: 'Caption an audio file and returns its text content.',
	examples: [
		{
			prompt: 'Transcribe the sound file',
			command: 'speechToText(audio)'
		}
	],
	call: async (data) => {
		return (
			await getInference().automaticSpeechRecognition(
				{
					data: await data,
					model: 'facebook/wav2vec2-large-960h-lv60-self'
				},
				{ wait_for_model: true }
			)
		).text;
	}
};