UNPKG

@genkit-ai/compat-oai

Version:

Genkit AI framework plugin for OpenAI APIs.

245 lines 5.69 kB
import { z } from "genkit"; import { ChatCompletionCommonConfigSchema, compatOaiModelRef } from "../model"; const MULTIMODAL_MODEL_INFO = { supports: { multiturn: true, tools: true, media: true, systemRole: true, output: ["text", "json"] } }; const OpenAIChatCompletionConfigSchema = ChatCompletionCommonConfigSchema.extend({ store: z.boolean().optional() }); function openAIModelRef(params) { return compatOaiModelRef({ ...params, info: params.info, configSchema: OpenAIChatCompletionConfigSchema }); } const gpt45 = openAIModelRef({ name: "openai/gpt-4.5", info: MULTIMODAL_MODEL_INFO }); const gpt45Preview = openAIModelRef({ name: "openai/gpt-4.5-preview", info: MULTIMODAL_MODEL_INFO }); const gpt4o = openAIModelRef({ name: "openai/gpt-4o", info: MULTIMODAL_MODEL_INFO }); const gpt4o20240513 = openAIModelRef({ name: "openai/gpt-4o-2024-05-13", info: MULTIMODAL_MODEL_INFO }); const o1 = openAIModelRef({ name: "openai/o1", info: { supports: { multiturn: true, tools: true, media: true, systemRole: false, output: ["text", "json"] } } }); const o3 = openAIModelRef({ name: "openai/o3", info: { supports: { multiturn: true, tools: true, media: true, systemRole: false, output: ["text", "json"] } } }); const o3Mini = openAIModelRef({ name: "openai/o3-mini", info: { supports: { multiturn: true, tools: true, media: false, systemRole: false, output: ["text", "json"] } } }); const o4Mini = openAIModelRef({ name: "openai/o4-mini", info: { supports: { multiturn: true, tools: true, media: true, systemRole: false, output: ["text", "json"] } } }); const gpt4oMini = openAIModelRef({ name: "openai/gpt-4o-mini", info: MULTIMODAL_MODEL_INFO }); const gpt4oMini20240718 = openAIModelRef({ name: "openai/gpt-4o-mini-2024-07-18", info: MULTIMODAL_MODEL_INFO }); const gpt4Turbo = openAIModelRef({ name: "openai/gpt-4-turbo", info: MULTIMODAL_MODEL_INFO }); const gpt4Turbo20240409 = openAIModelRef({ name: "openai/gpt-4-turbo-2024-04-09", info: MULTIMODAL_MODEL_INFO }); const gpt4TurboPreview = openAIModelRef({ name: "openai/gpt-4-turbo-preview", info: MULTIMODAL_MODEL_INFO }); const gpt40125Preview = openAIModelRef({ name: "openai/gpt-4-0125-preview", info: MULTIMODAL_MODEL_INFO }); const gpt41106Preview = openAIModelRef({ name: "openai/gpt-4-1106-preview", info: MULTIMODAL_MODEL_INFO }); const GPT_4_VISION_MODEL_INFO = { supports: { multiturn: true, tools: false, media: true, systemRole: true, output: ["text"] } }; const gpt4Vision = openAIModelRef({ name: "openai/gpt-4-vision", info: GPT_4_VISION_MODEL_INFO }); const gpt4VisionPreview = openAIModelRef({ name: "openai/gpt-4-vision-preview", info: GPT_4_VISION_MODEL_INFO }); const gpt41106VisionPreview = openAIModelRef({ name: "openai/gpt-4-1106-vision-preview", info: GPT_4_VISION_MODEL_INFO }); const GPT_4_MODEL_INFO = { supports: { multiturn: true, tools: true, media: false, systemRole: true, output: ["text"] } }; const gpt4 = openAIModelRef({ name: "openai/gpt-4", info: GPT_4_MODEL_INFO }); const gpt40613 = openAIModelRef({ name: "openai/gpt-4-0613", info: GPT_4_MODEL_INFO }); const gpt432k = openAIModelRef({ name: "openai/gpt-4-32k", info: GPT_4_MODEL_INFO }); const gpt432k0613 = openAIModelRef({ name: "openai/gpt-4-32k-0613", info: GPT_4_MODEL_INFO }); const GPT_35_MODEL_INFO = { supports: { multiturn: true, tools: true, media: false, systemRole: true, output: ["text", "json"] } }; const gpt35Turbo = openAIModelRef({ name: "openai/gpt-3.5-turbo", info: GPT_35_MODEL_INFO }); const gpt35Turbo0125 = openAIModelRef({ name: "openai/gpt-3.5-turbo-0125", info: GPT_35_MODEL_INFO }); const gpt35Turbo1106 = openAIModelRef({ name: "openai/gpt-3.5-turbo-1106", info: GPT_35_MODEL_INFO }); const GPT_5_MODEL_INFO = { supports: { multiturn: true, tools: true, media: true, systemRole: true, output: ["text", "json"] } }; const gpt5 = openAIModelRef({ name: "openai/gpt-5", info: GPT_5_MODEL_INFO }); const gpt5Mini = openAIModelRef({ name: "openai/gpt-5-mini", info: GPT_5_MODEL_INFO }); const gpt5Nano = openAIModelRef({ name: "openai/gpt-5-nano", info: GPT_5_MODEL_INFO }); const gpt5ChatLatest = openAIModelRef({ name: "openai/gpt-5-chat-latest", info: { supports: { ...GPT_5_MODEL_INFO.supports, tools: false, output: ["text"] } } }); const SUPPORTED_GPT_MODELS = { "gpt-4.5": gpt45, "gpt-4.5-preview": gpt45Preview, "gpt-4o": gpt4o, "gpt-4o-2024-05-13": gpt4o20240513, o1, o3, "o3-mini": o3Mini, "o4-mini": o4Mini, "gpt-4o-mini": gpt4oMini, "gpt-4o-mini-2024-07-18": gpt4oMini20240718, "gpt-4-turbo": gpt4Turbo, "gpt-4-turbo-2024-04-09": gpt4Turbo20240409, "gpt-4-turbo-preview": gpt4TurboPreview, "gpt-4-0125-preview": gpt40125Preview, "gpt-4-1106-preview": gpt41106Preview, "gpt-4-vision": gpt4Vision, "gpt-4-vision-preview": gpt4VisionPreview, "gpt-4-1106-vision-preview": gpt41106VisionPreview, "gpt-4": gpt4, "gpt-4-0613": gpt40613, "gpt-4-32k": gpt432k, "gpt-4-32k-0613": gpt432k0613, "gpt-3.5-turbo": gpt35Turbo, "gpt-3.5-turbo-0125": gpt35Turbo0125, "gpt-3.5-turbo-1106": gpt35Turbo1106, "gpt-5": gpt5, "gpt-5-mini": gpt5Mini, "gpt-5-nano": gpt5Nano, "gpt-5-chat-latest": gpt5ChatLatest }; export { OpenAIChatCompletionConfigSchema, SUPPORTED_GPT_MODELS, openAIModelRef }; //# sourceMappingURL=gpt.mjs.map