@xsai/generate-text
Version:
extra-small AI SDK.
37 lines (34 loc) • 1.23 kB
TypeScript
import { ChatOptions, CompletionStep, FinishReason, AssistantMessageResponse, Usage, Message, CompletionToolCall, CompletionToolResult } from '@xsai/shared-chat';
interface GenerateTextOptions extends ChatOptions {
/** @default 1 */
maxSteps?: number;
onStepFinish?: (step: CompletionStep<true>) => Promise<unknown> | unknown;
/** @internal */
steps?: CompletionStep<true>[];
/** if you want to enable stream, use `@xsai/stream-{text,object}` */
stream?: never;
}
interface GenerateTextResponse {
choices: {
finish_reason: FinishReason;
index: number;
message: AssistantMessageResponse;
}[];
created: number;
id: string;
model: string;
object: 'chat.completion';
system_fingerprint: string;
usage: Usage;
}
interface GenerateTextResult {
finishReason: FinishReason;
messages: Message[];
steps: CompletionStep<true>[];
text?: string;
toolCalls: CompletionToolCall[];
toolResults: CompletionToolResult[];
usage: Usage;
}
declare const generateText: (options: GenerateTextOptions) => Promise<GenerateTextResult>;
export { type GenerateTextOptions, type GenerateTextResponse, type GenerateTextResult, generateText };