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