import * as t from "io-ts"; import type { TypeOf } from "io-ts"; import type { ModelApi, ModelRequestOptions } from "@typeDefs"; import { FnTemplate } from "../../utils/Template"; import type { FewShotRequestOptions } from "../shared"; /** * @category Requests * @category Mistral ChatCompletion */ export interface MistralAiOptions extends FewShotRequestOptions, ModelRequestOptions { messages?: { role: "user" | "assistant" | "system"; content: string; }[]; temperature?: number; top_p?: number; max_tokens?: number; stream?: boolean; safe_prompt?: boolean; random_seed?: number; } /** * @category Templates * @category Mistral ChatCompletion */ export declare const MistralAiTemplate: FnTemplate; declare const MistralAiApiResponseCodec: t.TypeC<{ id: t.StringC; object: t.StringC; created: t.NumberC; model: t.StringC; choices: t.ArrayC; finish_reason: t.StringC; }>>; usage: t.TypeC<{ prompt_tokens: t.NumberC; completion_tokens: t.NumberC; total_tokens: t.NumberC; }>; }>; /** * @category Responses * @category Mistral ChatCompletion */ export interface MistralAiResponse extends TypeOf { } export declare function isMistralAiResponse(response: unknown): response is MistralAiResponse; /** * * ## Reference * [Mistral AI Chat Completion](https://docs.mistral.ai/api/#operation/createChatCompletion) * * ## Providers using this API * - {@link createMistralModelProvider | Mistral} * * @category APIs * @category Mistral ChatCompletion * @category Provider: Mistral * */ export declare const MistralAiApi: ModelApi; export {};