@calljmp/cli
Version:
55 lines • 1.72 kB
TypeScript
export type MessageRole = 'user' | 'assistant' | 'system';
export interface Message {
role: MessageRole;
content: string;
}
export type TextGenerationInputs = {
frequencyPenalty?: number;
maxTokens?: number;
presencePenalty?: number;
raw?: boolean;
repetitionPenalty?: number;
seed?: number;
temperature?: number;
topK?: number;
topP?: number;
} & ({
prompt: string;
system?: string;
} | {
messages: Array<Message>;
});
export type TextGenerationOutputs = {
messages: Array<Message>;
};
export interface Models {
'@cf/openai/gpt-oss-20b': {
capability: 'text-generation';
inputs: TextGenerationInputs;
outputs: TextGenerationOutputs;
streamable: false;
};
'@cf/meta/llama-3.1-8b-instruct-fast': {
capability: 'text-generation';
inputs: TextGenerationInputs;
outputs: TextGenerationOutputs;
streamable: true;
};
'@cf/google/gemma-3-12b-it': {
capability: 'text-generation';
inputs: TextGenerationInputs;
outputs: TextGenerationOutputs;
streamable: true;
};
}
export type Model = keyof Models;
export type ModelsCapabilities = Models[Model]['capability'];
export type ModelByCapability<C extends ModelsCapabilities> = {
[K in Model]: Models[K]['capability'] extends C ? K : never;
}[Model];
export type ModelInputs<M extends Model> = Models[M]['inputs'];
export type ModelOutputs<M extends Model> = Models[M]['outputs'];
export type ModelIf<M extends Model = Model, Field extends keyof Models[M] = keyof Models[M], Value = true> = Extract<M, {
[K in M]: Models[K][Field] extends Value ? K : never;
}[M]>;
//# sourceMappingURL=ai.d.ts.map