From 238c332119888f00a3564a0ebb75cb788f943dfd Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 19 Jul 2023 18:33:12 +0200 Subject: [PATCH] some comments for concepts --- .../vscode.proposed.chatProvider.d.ts | 19 ++++++++++++++----- .../vscode.proposed.chatRequestAccess.d.ts | 6 +++++- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/vscode-dts/vscode.proposed.chatProvider.d.ts b/src/vscode-dts/vscode.proposed.chatProvider.d.ts index 5cb5b166a2b..e4d56810d76 100644 --- a/src/vscode-dts/vscode.proposed.chatProvider.d.ts +++ b/src/vscode-dts/vscode.proposed.chatProvider.d.ts @@ -5,6 +5,7 @@ declare module 'vscode' { + // ChatML export enum ChatMessageRole { System = 0, User = 1, @@ -12,6 +13,7 @@ declare module 'vscode' { Function = 3, } + // ChatML export class ChatMessage { role: ChatMessageRole; content: string; @@ -20,16 +22,14 @@ declare module 'vscode' { constructor(role: ChatMessageRole, content: string); } - // TODO: chat response builder - export interface ChatResponse { - message: ChatMessage; - } - export interface ChatResponseFragment { index: number; part: string; } + /** + * Represents a large language model that accepts ChatML messages and produces a streaming response + */ export interface ChatResponseProvider { provideChatResponse(messages: ChatMessage[], options: { [name: string]: any }, progress: Progress, token: CancellationToken): Thenable; } @@ -40,6 +40,15 @@ declare module 'vscode' { } export namespace llm { + + /** + * Register a LLM as chat response provider to the editor. + * + * + * @param id + * @param provider + * @param metadata + */ export function registerChatResponseProvider(id: string, provider: ChatResponseProvider, metadata: ChatResponseProviderMetadata): Disposable; } diff --git a/src/vscode-dts/vscode.proposed.chatRequestAccess.d.ts b/src/vscode-dts/vscode.proposed.chatRequestAccess.d.ts index de88c0fe6ce..45e15accb2a 100644 --- a/src/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +++ b/src/vscode-dts/vscode.proposed.chatRequestAccess.d.ts @@ -5,6 +5,10 @@ declare module 'vscode' { + /** + * Represents access to using a chat provider (LLM). Access is granted and temporary, usually only valid + * for the duration of an user interaction. + */ export interface ChatAccess { /** @@ -31,7 +35,7 @@ declare module 'vscode' { * * *Note* that this function will throw an error unless an user interaction is currently active. * - * @param id The id of the chat provider, e.g `chatgpt` + * @param id The id of the chat provider, e.g `copilot` */ export function requestChatAccess(id: string): Thenable; }