-
-
Notifications
You must be signed in to change notification settings - Fork 0
Adds chat extension prototype. Closes: #43 #99
base: main
Are you sure you want to change the base?
Conversation
export const assistant = 'You are a kind and helpful assistant named chili.'; | ||
export const aim = 'You aim to provide help in using CLI for Microsoft 365, provide knowledge about it and promote it.'; | ||
export const community = 'You will promote the Microsoft 365 & Power Platform community.'; | ||
export const basic = `${assistant}${aim}${community}`; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is actually the meat 🍗 we pass under the hood that makes our chat participant personalized toward our intent.
It's up most important to provide best context part of the prompt.
One thing already pointed out is that we could instruct it to provide commands in MD code blocks and avoid using HTML. We could maybe also instruct it to prefer using PowerShell as a shell language to provide scripting examples
@@ -30,6 +30,25 @@ | |||
"url": "https://github.com/sponsors/Adam-it" | |||
}, | |||
"contributes": { | |||
"chatParticipants": [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
defenition of the chat participant to make it 'visible' in GH chat as an extension along with the commands
|
||
export class PromptHandler { | ||
|
||
public static async handle(request: vscode.ChatRequest, context: vscode.ChatContext, response: vscode.ChatResponseStream, token: vscode.CancellationToken): Promise<void | vscode.ChatResult> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
prototype handle mathod. To be refactored to smaller paces but the general concept is kinda ok,
Some mistake already noticed like each command should actually end with different response like for the setup command we should return return { metadata: { command: 'setup' } };
so after the response is given the command tag is not lost in the conversation and the user may continue the conversation regarding that topic
@waldekmastykarz please check this draft PR along with the above review comments with my 'notes' from our early tests of this feature. |
@waldekmastykarz if you want to build this extension locally please:
|
a similar change done i SPFx Toolkit were the implementation is waaay better and has less duplicated code |
🎯 Aim
The aim is to create a prototype of a CLI chat participant to play around with this feature in it's early release state
📷 Result
🔗 Related issue
Closes: #43