export type CreateApiBasetenV1ChatCompletionsArgs = {body: {messages: Array, model: string, frequency_penalty?: number | undefined, logit_bias?: Record | undefined, logprobs?: boolean | undefined, top_logprobs?: number | undefined, max_tokens?: number | undefined, n?: number | undefined, presence_penalty?: number | undefined, response_format?: Record | undefined, seed?: number | undefined, stop?: string | undefined, stream?: boolean | undefined, stream_options?: Record | undefined, temperature?: number | undefined, top_p?: number | undefined, tools?: Array | undefined, tool_choice?: string | undefined, parallel_tool_calls?: boolean | undefined, user?: string | undefined, top_k?: number | undefined, top_p_min?: number | undefined, min_p?: number | undefined, repetition_penalty?: number | undefined, length_penalty?: number | undefined, early_stopping?: boolean | undefined, bad?: string | undefined, bad_token_ids?: Array | undefined, stop_token_ids?: Array | undefined, include_stop_str_in_output?: boolean | undefined, ignore_eos?: boolean | undefined, min_tokens?: number | undefined, skip_special_tokens?: boolean | undefined, spaces_between_special_tokens?: boolean | undefined, truncate_prompt_tokens?: number | undefined, echo?: boolean | undefined, add_generation_prompt?: boolean | undefined, add_special_tokens?: boolean | undefined, documents?: Array | undefined, chat_template?: string | undefined, chat_template_args?: Record | undefined, best_of?: number | undefined, disaggregated_params?: Record | undefined, reasoning_effort?: string | undefined}}; export type CreateApiBasetenV1ChatCompletionsOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; /** * Send a conversation to a model and get a completion back. Works exactly like the OpenAI chat completions endpoint. Pass messages and a model slug, get a response with the assistant's reply. Supports streaming for real-time token delivery, tool calling for function execution, structured outputs via response_format, and controllable reasoning depth on supported models. * * POST /baseten/v1/chat/completions */ export const createApiBasetenV1ChatCompletions = async (args: CreateApiBasetenV1ChatCompletionsArgs, options?: CreateApiBasetenV1ChatCompletionsOptions) => { const {baseUrl = "https://api.orthogonal.com/mpp", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") const url = `${baseUrl.replace(/\/+$/, '')}/baseten/v1/chat/completions${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };