Skip to content

Commit 6aee3ef

Browse files
committed
1 parent 0cbff6b commit 6aee3ef

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
export interface LanguageModel extends EventTarget {
2+
create(options?: LanguageModelCreateOptions): Promise<LanguageModel>;
3+
availability(options?: LanguageModelCreateCoreOptions): Promise<Availability>;
4+
prompt(input: LanguageModelPrompt, options?: LanguageModelPromptOptions): Promise<string>;
5+
promptStreaming(input: LanguageModelPrompt, options?: LanguageModelPromptOptions): ReadableStream;
6+
measureInputUsage(input: LanguageModelPrompt, options?: LanguageModelPromptOptions): Promise<number>;
7+
destroy(): undefined;
8+
}
9+
export enum Availability { "unavailable", "downloadable", "downloading", "available" };
10+
export interface LanguageModelParams {
11+
readonly defaultTopK: number;
12+
readonly maxTopK: number;
13+
readonly defaultTemperature: number;
14+
readonly maxTemperature: number;
15+
}
16+
export interface LanguageModelCreateCoreOptions {
17+
topK?: number;
18+
temperature?: number;
19+
expectedInputs?: Array<LanguageModelExpectedInput>;
20+
}
21+
export interface LanguageModelCreateOptions extends LanguageModelCreateCoreOptions {
22+
signal?: AbortSignal;
23+
monitor?: AICreateMonitorCallback;
24+
systemPrompt?: string;
25+
initialPrompts?: LanguageModelInitialPrompts;
26+
}
27+
export interface LanguageModelPromptOptions {
28+
responseJSONSchema?: any;
29+
signal?: AbortSignal;
30+
}
31+
export interface LanguageModelExpectedInput {
32+
type: LanguageModelMessageType;
33+
languages?: Array<string>;
34+
}
35+
export type LanguageModelPrompt = Array<LanguageModelMessage> | Array<LanguageModelMessageShorthand> | string;
36+
export type LanguageModelInitialPrompts = Array<LanguageModelMessage> | Array<LanguageModelMessageShorthand>;
37+
export interface LanguageModelMessage {
38+
role: LanguageModelMessageRole;
39+
content: Array<LanguageModelMessageContent>;
40+
}
41+
export interface LanguageModelMessageShorthand {
42+
role: LanguageModelMessageRole;
43+
content: string;
44+
}
45+
export interface LanguageModelMessageContent {
46+
type: LanguageModelMessageType;
47+
content: LanguageModelMessageContentValue;
48+
}
49+
export interface LanguageModelPromptDict {
50+
role?: LanguageModelMessageRole;
51+
type?: LanguageModelMessageType;
52+
content: LanguageModelMessageContent;
53+
}
54+
export type LanguageModelMessageRole = "system" | "user" | "assistant";
55+
export type LanguageModelMessageType = "text" | "image" | "audio";
56+
export type LanguageModelMessageContentValue = ImageBitmapSource | AudioBuffer | BufferSource | string;

0 commit comments

Comments
 (0)