UNPKG

genkitx-openai

Version:

Firebase Genkit AI framework plugin for OpenAI APIs.

181 lines (178 loc) 9.78 kB
import * as genkit from 'genkit'; import { z, Genkit } from 'genkit'; import { ModelAction } from 'genkit/model'; import OpenAI from 'openai'; declare const Whisper1ConfigSchema: z.ZodObject<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, "passthrough", z.ZodTypeAny, z.objectOutputType<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, z.ZodTypeAny, "passthrough">, z.objectInputType<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, z.ZodTypeAny, "passthrough">>; declare const whisper1: genkit.ModelReference<z.ZodObject<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, "passthrough", z.ZodTypeAny, z.objectOutputType<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, z.ZodTypeAny, "passthrough">, z.objectInputType<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, z.ZodTypeAny, "passthrough">>>; declare const gpt4oTranscribe: genkit.ModelReference<z.ZodObject<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, "passthrough", z.ZodTypeAny, z.objectOutputType<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, z.ZodTypeAny, "passthrough">, z.objectInputType<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, z.ZodTypeAny, "passthrough">>>; declare const SUPPORTED_STT_MODELS: { 'gpt-4o-transcribe': genkit.ModelReference<z.ZodObject<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, "passthrough", z.ZodTypeAny, z.objectOutputType<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, z.ZodTypeAny, "passthrough">, z.objectInputType<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, z.ZodTypeAny, "passthrough">>>; 'whisper-1': genkit.ModelReference<z.ZodObject<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, "passthrough", z.ZodTypeAny, z.objectOutputType<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, z.ZodTypeAny, "passthrough">, z.objectInputType<z.objectUtil.extendShape<{ version: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; topK: z.ZodOptional<z.ZodNumber>; topP: z.ZodOptional<z.ZodNumber>; stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, { language: z.ZodOptional<z.ZodString>; timestamp_granularities: z.ZodOptional<z.ZodArray<z.ZodEnum<["word", "segment"]>, "many">>; response_format: z.ZodOptional<z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>>; }>, z.ZodTypeAny, "passthrough">>>; }; declare function sttModel(ai: Genkit, name: string, client: OpenAI): ModelAction<typeof Whisper1ConfigSchema>; export { SUPPORTED_STT_MODELS, Whisper1ConfigSchema, gpt4oTranscribe, sttModel, whisper1 };