UNPKG

@genkit-ai/compat-oai

Version:

Genkit AI framework plugin for OpenAI APIs.

66 lines 1.65 kB
import { z } from "genkit"; import { ChatCompletionCommonConfigSchema, compatOaiModelRef } from "../model.mjs"; const XAI_LANGUGAGE_MODEL_INFO = { supports: { multiturn: true, tools: true, media: false, systemRole: true, output: ["text", "json"] } }; const XaiChatCompletionConfigSchema = ChatCompletionCommonConfigSchema.extend({ deferred: z.boolean().optional(), reasoningEffort: z.enum(["low", "medium", "high"]).optional(), webSearchOptions: z.object({}).passthrough().optional() }); function xaiModelRef(params) { return compatOaiModelRef({ ...params, info: params.info ?? XAI_LANGUGAGE_MODEL_INFO, configSchema: XaiChatCompletionConfigSchema, namespace: "xai" }); } const grokRequestBuilder = (req, params) => { const { deferred, webSearchOptions, reasoningEffort } = req.config ?? {}; params.web_search_options = webSearchOptions; params.reasoning_effort = reasoningEffort; params.deferred = deferred; }; const SUPPORTED_LANGUAGE_MODELS = { "grok-3": xaiModelRef({ name: "grok-3" }), "grok-3-fast": xaiModelRef({ name: "grok-3-fast" }), "grok-3-mini": xaiModelRef({ name: "grok-3-mini" }), "grok-3-mini-fast": xaiModelRef({ name: "grok-3-mini-fast" }), "grok-2-vision-1212": xaiModelRef({ name: "grok-2-vision-1212", info: { supports: { multiturn: false, tools: true, media: true, systemRole: false, output: ["text", "json"] } } }) }; export { SUPPORTED_LANGUAGE_MODELS, XaiChatCompletionConfigSchema, grokRequestBuilder, xaiModelRef }; //# sourceMappingURL=grok.mjs.map