Spaces:
Running
Running
File size: 841 Bytes
c7592d1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import type {
Message,
ModelId,
GenerationResult,
LoadResult,
LoadOpts,
} from "../types";
export interface GenerateInput {
/** Full prompt: system message (if any) followed by the conversation. */
messages: Message[];
temperature: number;
topP: number;
maxTokens: number;
/** Whether the model should emit a `<think>` reasoning block. */
enableThinking: boolean;
onToken(token: string): void;
/**
* Live decode-rate report, fired per decoded token. Throttling before React
* is the consumer's job; the runtime reports raw.
*/
onRate?(report: { tokens: number; elapsedMs: number }): void;
}
export interface ModelRuntime {
readonly id: ModelId;
load(opts?: LoadOpts): Promise<LoadResult>;
generate(input: GenerateInput): Promise<GenerationResult>;
abort(): void;
unload(): Promise<void>;
}
|