首页 > 其他分享 >【Semantic Kernel】5、ITextCompletion、IChatCompletion

【Semantic Kernel】5、ITextCompletion、IChatCompletion

时间:2023-07-10 17:34:08浏览次数:38  
标签:Kernel chatCompletion Semantic await chatHistory IChatCompletion var Console cha

ChatGPT

//chatGPT
{

    var chatGPT = kernel.GetService<IChatCompletion>();
    var chatHistory = chatGPT.CreateNewChat("你是图书管理员");
    Console.WriteLine("请提问:");
    while (true)
    {
        var ask = Console.ReadLine();
        chatHistory.AddUserMessage(ask);
        string reply = await chatGPT.GenerateMessageAsync(chatHistory);
        chatHistory.AddAssistantMessage(reply);
        await MessageOutputAsync(chatHistory);
    }
}

生成多个结果

//textCompletion:返回多个结果
{
    var textCompletion = kernel.GetService<ITextCompletion>();
    var textResults = await textCompletion.GetCompletionsAsync("帮我起个名字,类似烈焰骑士、狂风战神、急速飞鹰", 
        new CompleteRequestSettings { 
            ResultsPerPrompt = 3, //结果数量
            TopP = 0.5,//多样性
            Temperature = 1, //随机度
            FrequencyPenalty = 0,//降低模型逐字重复同一行的可能性。
        });
    foreach (var textResult in textResults)
    {
        Console.WriteLine(await textResult.GetCompletionAsync());
    }
}
//chatCompletion:返回多个结果
{
    var chatCompletion = kernel.GetService<IChatCompletion>();
    var chatHistory = chatCompletion.CreateNewChat("You are a librarian, expert about books");

    // First user message
    chatHistory.AddUserMessage("Hi, I'm looking for book 3 different book suggestions about sci-fi");
    await MessageOutputAsync(chatHistory);

    var chatRequestSettings = new ChatRequestSettings
    {
        MaxTokens = 1024,
        ResultsPerPrompt = 2,
        Temperature = 1,
        TopP = 0.5,
        FrequencyPenalty = 0,//降低模型逐字重复同一行的可能性。
    };

    // First bot assistant message
    foreach (IChatResult chatCompletionResult in await chatCompletion.GetChatCompletionsAsync(chatHistory, chatRequestSettings))
    {
        ChatMessageBase chatMessage = await chatCompletionResult.GetChatMessageAsync();
        chatHistory.Add(chatMessage);
        await MessageOutputAsync(chatHistory);
    }

}

标签:Kernel,chatCompletion,Semantic,await,chatHistory,IChatCompletion,var,Console,cha
From: https://www.cnblogs.com/fanfan-90/p/17541741.html

相关文章

  • Kernel-Pwn-FGKASLR保护绕过
    FGKASLRFGASLR(FunctionGranularKASLR)是KASLR的加强版,增加了更细粒度的地址随机化。因此在开启了FGASLR的内核中,即使泄露了内核的程序基地址也不能调用任意的内核函数。layout_randomized_image在fgkaslr.c文件中存在着随机化的明细。/*linux/arch/x86/boot/compressed/......
  • 【Semantic Kernel】4、记忆(Memory)
    为什么需要MemoryLLM对自然语言的理解和掌握在知识内容的解读和总结方面提供了强大的能力。但是由于训练数据本身来自于公共领域,也就注定了无法在一些小众或者私有的领域能够足够的好的应答。因此如何给LLM提供足够多的信息上下文,就是如今的LLMAI应用可以充分发挥能力的地方......
  • 【Semantic Kernel】3、本机函数(Native Function)
    基础定义最基本的NativeFunction定义只需要在方法上添加SKFunction的特性即可。usingMicrosoft.SemanticKernel.SkillDefinition;usingMicrosoft.SemanticKernel.Orchestration;namespaceMySkillsDirectory;publicclassMyCSharpSkill{[SKFunction("Return......
  • linux系统报错:系统自己弹出诸如 kernel:NMI watchdog: BUG: soft lockup - CPU#2 stuc
    1、https://blog.csdn.net/weixin_41752389/article/details/120777145 内核软死锁(softlockup)Softlockup:这个bug没有让系统彻底死机,但是若干个进程(或者kernelthread)被锁死在了某个状态(一般在内核区域),很多情况下这个是由于内核锁的使用的问题。出现死锁原因1、CPU高负载时......
  • Multi-Modal Attention Network Learning for Semantic Source Code Retrieval 解读
    Multi-ModalAttentionNetworkLearningfor SemanticSourceCodeRetrieva Multi-ModalAttentionNetworkLearningfor SemanticSourceCodeRetrieval,题目意思是用于语义源代码检索的多模态注意网络学习,2019年发表于ASE的##研究什么东西Background:研究代码检索技......
  • kernel pwn入门
    LinuxKernel介绍Linux内核是Linux操作系统的核心组件,它提供了操作系统的基本功能和服务。它是一个开源软件,由LinusTorvalds在1991年开始开发,并得到了全球广泛的贡献和支持。Linux内核的主要功能包括进程管理、内存管理、文件系统、网络通信、设备驱动程序等。它负责管理......
  • linux Kernel
    ......
  • 全志 Linux 系统启动优化 启动优化速度方式 优化启动流程 优化uboot 优化kernel等
    文章目录1概述2启动速度优化简介2.1启动流程2.2测量方法2.2.1printktime2.2.2initcall_debug2.2.3bootgraph.2.2.4bootchart2.2.5gpio+示波器.2.2.6grabserial.2.3优化方法2.3.1boot0启动优化2.3.1.1非安全启动.2.3.1.2安全启动2.3.2uboot启动优化2.3.2.1完全去......
  • 关于Linux-Kernel-Live-patching-的效果演示-kpatch auto-配置
    本文为了演示出效果,准备了如下的环境操作系统:RedHatEnterpriseLinuxrelease8.7(Ootpa)内核版本:4.18.0-372.9.1.el8.x86_64 1、关于操作系统版本、内核、内核相关的软件包版本,情况如下:[root@qq-5201351~]#cat/etc/redhat-releaseRedHatEnterpriseLinuxrelease......
  • 关于内核实时补丁如何工作-How kernel live patching works
    kpatch内核补丁解决方案使用livepatch内核子系统将旧功能重定向到新功能,详细的过程及说明如下:The kpatch kernelpatchingsolutionusesthe livepatch kernelsubsystemtoredirectoldfunctionstonewones.Whenalivekernelpatchisappliedtoasystem,the......