@xsai/generate-text
Version:
extra-small AI SDK.
41 lines (38 loc) • 1.34 kB
TypeScript
import { WithUnknown } from '@xsai/shared';
import { ChatOptions, CompletionStep, FinishReason, AssistantMessage, 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: Omit<AssistantMessage, 'name'>;
refusal?: string;
}[];
created: number;
id: string;
model: string;
object: 'chat.completion';
system_fingerprint: string;
usage: Usage;
}
interface GenerateTextResult {
finishReason: FinishReason;
messages: Message[];
reasoningText?: string;
steps: CompletionStep<true>[];
text?: string;
toolCalls: CompletionToolCall[];
toolResults: CompletionToolResult[];
usage: Usage;
}
declare const generateText: (options: WithUnknown<GenerateTextOptions>) => Promise<GenerateTextResult>;
export { generateText };
export type { GenerateTextOptions, GenerateTextResponse, GenerateTextResult };