当前位置: 首页 > news >正文

广州app定制开发/泰安优化关键词排名哪家合适

广州app定制开发,泰安优化关键词排名哪家合适,宁波男科医院哪家比较好,做驾考学时在哪个网站SemanticKernel介绍 Semantic Kernel是一个SDK,它将OpenAI、Azure OpenAI等大型语言模型与C#、Python和Java等传统编程语言集成在一起。Semantic Kernel通过允许您定义插件来实现这一点。 为什么需要添加插件? 大语言模型虽然具有强大的自然语言理解和…

SemanticKernel介绍

Semantic Kernel是一个SDK,它将OpenAI、Azure OpenAI等大型语言模型与C#、Python和Java等传统编程语言集成在一起。Semantic Kernel通过允许您定义插件来实现这一点。

为什么需要添加插件?

大语言模型虽然具有强大的自然语言理解和生成能力,但它们通常是基于预训练的模型,其功能受限于训练时所接触的数据和任务。为大语言模型添加插件是为了扩展其功能、提高其灵活性和实用性。比如你问一个大语言模型今天是几号?它无法提供实时信息甚至会出现幻觉,这时候插件就派上用场了。

实践

插件分为提示词插件与本地函数插件,本次示例用的是本地函数。创建一个FunctionTest类:

public class FunctionTest
{[KernelFunction, Description("获取当前的时间")]public object GetCurrentTime(){return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");}[KernelFunction, Description("获取城市的天气状况")]public object GetWeather([Description("城市名称")] string CityName, [Description("查询时段,值可以是[白天,夜晚]")] string DayPart){return new { CityName, DayPart, CurrentCondition = "多云", LaterCondition = "阴", MinTemperature = 19, MaxTemperature = 23 };}
}

在 Semantic Kernel 中,[KernelFunction] 特性用于标记类中的方法,表明这些方法应当被包含为 Microsoft.SemanticKernel.KernelFunction 实例,并作为技能操作添加到通过Semantic Kernel生成的 Microsoft.SemanticKernel.KernelPlugin 中。 [Description]特性用于为类、方法、属性等添加描述信息。

在kernel中加入这个插件:

public async void Initialize_OpenAI(){var builder = Kernel.CreateBuilder();#pragma warning disable SKEXP0010builder.AddOpenAIChatCompletion(modelId: "Qwen/Qwen2.5-32B-Instruct", endpoint: new Uri("https://api.siliconflow.cn/v1"), apiKey: "");#pragma warning restore SKEXP0010//这里我们需要插入之前定义的插件builder.Plugins.AddFromType<FunctionTest>();Kernel kernel = builder.Build();//创建系统提示词var prompt = "如果使用函数调用,请确保输出是JSON格式。返回的JSON包含function字段和arguments字段,前者的内容是需要使用的函数的名称,后者的内容是函数所需参数的名称。样例:{\"function\":\"funcName\",\"arguments\":{\"propName\":\"propValue\"}};否则,输出应该是文本格式。";//定义一个对话历史ChatHistory history = new ChatHistory();//添加系统提示词history.AddSystemMessage(prompt);//创建一个对话服务实例var chatService = kernel.GetRequiredService<IChatCompletionService>();while (true){Console.Write("User:");var input = Console.ReadLine();if (string.IsNullOrWhiteSpace(input)){break;}history.AddUserMessage(input);//打开提示执行设置OpenAIPromptExecutionSettings executionSettings = new OpenAIPromptExecutionSettings(){Temperature = 0.6,ToolCallBehavior = ToolCallBehavior.AutoInvokeKernelFunctions  };var chatmessage = await chatService.GetChatMessageContentAsync(history, executionSettings: executionSettings, kernel: kernel);var contents = chatmessage.ToString() ?? "";Console.WriteLine($"AssistantM: {contents}");history.AddMessage(chatmessage.Role, contents); }}

在C#中使用Semantic Kernel时,如果遇到大模型不支持直接调用函数的情况,可以通过手动调用自定义插件的方式来绕过这个限制。这种方式不仅增强了模型的灵活性,还允许开发者根据需要定制化服务。

硅基流动统一登录获取免费Tokens,注册完成新建自己的API秘钥,在apiKey填入秘钥既可以调用大模型了

http://www.whsansanxincailiao.cn/news/31962378.html

相关文章:

  • 政法队伍建设网站主要内容/可以免费打开网站的软件
  • 三线建设学兵连网站西安地区联系人/seo优
  • 贵阳企业网站建设/营销网站系统
  • 业余学做衣服上哪个网站/搜索推广是什么意思
  • 医疗网站建设中心/sem优化
  • 太原百度推广制作个性商城网站/湖南营销型网站建设
  • 高大上的企业网站欣赏/优化大师在哪里
  • 如何创建网站主页/品牌推广平台
  • 做动态网站的用工具/百度首页关键词优化
  • 做企业网站可以没有后台吗/东莞网站推广及优化
  • 哈尔滨公司做网站/营销案例100例简短
  • 商城网站模板/怎么做推广
  • 电子商务网站开发的历程/上海发布微信公众号
  • wordpress php缓存/怎样优化标题关键词
  • wordpress文章标题/重庆seo
  • 你做网站群好朋友的作文/推广引流图片
  • 免费微网站建站系统源码/西点培训
  • 适响应式网站弊端/企业网站建设方案策划
  • wordpress无法连接app/长沙关键词优化推荐
  • 黄冈网站建设/优化设计答案大全
  • 盐城哪家做网站的正规/自己建立网站步骤
  • 做门户网站的好处/商城小程序
  • 免费数据库网站空间/百度推广app
  • 景泰县做网站/满足seo需求的网站
  • 编程网站题库/郑州网络营销学校
  • 珠宝类网站模板/国外免费推广网站有哪些
  • 设计交流网站的毕业论文/百度下载app安装
  • 怎么拥有自己的网站/百度免费安装
  • 做家电选招标采购哪一个网站好/怎样推广app
  • 大型网站建设就找兴田德润/seo的基本步骤顺序正确的是