UNPKG

ai-platform-converter

Version:

Lossless API parameter conversion between multiple AI platforms (OpenAI, Anthropic, Gemini, DeepSeek, Wenwen, Vertex AI, Huawei, BigModel)

136 lines 3.37 kB
import { Message, ToolDefinition, Usage, FinishReason, ContentPart } from './common'; /** * OpenAI Chat Completion Request Parameters */ export interface OpenAIRequest { model: string; messages: Message[]; temperature?: number; top_p?: number; n?: number; stream?: boolean; stop?: string | string[]; max_tokens?: number; presence_penalty?: number; frequency_penalty?: number; logit_bias?: Record<string, number>; user?: string; functions?: Array<{ name: string; description?: string; parameters?: Record<string, any>; }>; function_call?: 'none' | 'auto' | { name: string; }; tools?: ToolDefinition[]; tool_choice?: 'none' | 'auto' | 'required' | { type: 'function'; function: { name: string; }; }; response_format?: { type: 'text' | 'json_object'; }; seed?: number; logprobs?: boolean; top_logprobs?: number; _extensions?: Record<string, any>; } /** * OpenAI Message structure */ export interface OpenAIMessage { role: 'system' | 'user' | 'assistant' | 'function' | 'tool'; content: string | ContentPart[] | null; name?: string; function_call?: { name: string; arguments: string; }; tool_calls?: Array<{ id: string; type: 'function'; function: { name: string; arguments: string; }; }>; tool_call_id?: string; } /** * OpenAI Chat Completion Response */ export interface OpenAIResponse { id: string; object: 'chat.completion'; created: number; model: string; choices: Array<{ index: number; message: OpenAIMessage; finish_reason: FinishReason; logprobs?: { content: Array<{ token: string; logprob: number; bytes: number[] | null; top_logprobs: Array<{ token: string; logprob: number; bytes: number[] | null; }>; }> | null; } | null; }>; usage?: Usage; system_fingerprint?: string; _extensions?: Record<string, any>; } /** * OpenAI Streaming Response Chunk */ export interface OpenAIStreamChunk { id: string; object: 'chat.completion.chunk'; created: number; model: string; choices: Array<{ index: number; delta: { role?: 'system' | 'user' | 'assistant' | 'function' | 'tool'; content?: string | null; function_call?: { name?: string; arguments?: string; }; tool_calls?: Array<{ index: number; id?: string; type?: 'function'; function?: { name?: string; arguments?: string; }; }>; }; finish_reason: FinishReason; logprobs?: any; }>; usage?: Usage; system_fingerprint?: string; _extensions?: Record<string, any>; } /** * OpenAI Error Response */ export interface OpenAIError { error: { message: string; type: string; param?: string | null; code?: string | null; }; } //# sourceMappingURL=openai.d.ts.map