在日常使用中,经常忘记Powershell指令,总是需要去查询。在万物皆可AI得时代,我们可以利用大模型来搭建自己的小助手。
先看执行效果:
下面进入正式环节。
首先,使用国内大模型需要使用one-api或者chatnio等进行转发,这里就不多介绍了
本篇使用的agent技术是微软的SemanticKernel,可以参考相关文章: AI框架SemanticKernel
创建Plugin
先创建实现效果的Plugin,这里主要实现一个获取指令的作用
public class WinCmdPlugin
{
public async Task<string> GetCmd(Kernel kernel, string goal)
{
string prompt = """
用户正在使用Windows操作系统,他需要用powershell执行一些指令。请根据他输入的目的输出指令。
###
输出是一个字符串格式,只需要包含所需要执行的命令,不需要输出其他任何内容
###
例:
输入:打开cmd
输出:cmd
###
注意
必须严格输出windows操作系统上powershell能执行的指令。如果无可用指令,直接返回空字符串,不需要返回其他任何内容!!!
返回的指令结果严禁带上任何标点符号等。只需要指令本身
###
用户输入: {
{
$input}}
###
输出:
""";
var function = kernel.CreateFunctionFromPrompt(prompt);
var args = new KernelArguments
{
["input"] = goal,
};
var res = await function.InvokeAsync(kernel, args);
return res.ToString().TrimEnd('。');
<