feat(models): add streaming types for chat responses
This commit is contained in:
+16
-2
@@ -12,12 +12,26 @@ export interface ChatRequest {
|
|||||||
export interface ChatResponse {
|
export interface ChatResponse {
|
||||||
content: string;
|
content: string;
|
||||||
stopReason: 'end_turn' | 'max_tokens' | 'stop_sequence' | string;
|
stopReason: 'end_turn' | 'max_tokens' | 'stop_sequence' | string;
|
||||||
usage: {
|
usage: TokenUsage;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface TokenUsage {
|
||||||
inputTokens: number;
|
inputTokens: number;
|
||||||
outputTokens: number;
|
outputTokens: number;
|
||||||
};
|
}
|
||||||
|
|
||||||
|
export interface ChatStreamEvent {
|
||||||
|
type: 'content' | 'done' | 'error';
|
||||||
|
content?: string;
|
||||||
|
usage?: TokenUsage;
|
||||||
|
error?: Error;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface StreamingModelClient {
|
||||||
|
chatStream(request: ChatRequest): AsyncIterable<ChatStreamEvent>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ModelClient {
|
export interface ModelClient {
|
||||||
chat(request: ChatRequest): Promise<ChatResponse>;
|
chat(request: ChatRequest): Promise<ChatResponse>;
|
||||||
|
chatStream?(request: ChatRequest): AsyncIterable<ChatStreamEvent>;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user