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

嘉兴做网站赚钱么移动wap站点

嘉兴做网站赚钱么,移动wap站点,廊坊建设部网站,江苏省交通运输厅门户网站建设管理中心文章目录 一、引言二、开发Semantic Kernel插件三、实战3.1 时间信息插件3.2 小部件工厂插件3.3 初始化Semantic Kernel实例3.4 四个实战示例3.4.1 模型幻觉3.4.2 给模型提供时间信息3.4.3 AI自动调用函数3.4.4 AI自动调用和使用枚举 四、结论 一、引言 在上一篇入门文章《探索… 文章目录 一、引言二、开发Semantic Kernel插件三、实战3.1 时间信息插件3.2 小部件工厂插件3.3 初始化Semantic Kernel实例3.4 四个实战示例3.4.1 模型幻觉3.4.2 给模型提供时间信息3.4.3 AI自动调用函数3.4.4 AI自动调用和使用枚举 四、结论 一、引言 在上一篇入门文章《探索Semantic Kernel开启AI编程新篇章》中我们了解了Semantic Kernel的基础知识包括如何创建内核实例、配置AI模型以及执行基本的AI任务。本文将作为进阶篇重点介绍如何开发Semantic Kernel插件并在实际应用中调用这些插件。 二、开发Semantic Kernel插件 Semantic Kernel插件是扩展AI模型功能的模块它们可以封装特定领域的知识和功能使得AI模型能够执行更复杂的任务。在本教程中我们将开发两个插件TimeInformation和WidgetFactory。 三、实战 3.1 时间信息插件 TimeInformation插件提供了一个函数用于获取当前的UTC时间。 /// summary /// 返回当前时间的插件 /// /summary public class TimeInformation {[KernelFunction][Description(获取当前UTC时间)]public string GetCurrentUtcTime() DateTime.UtcNow.ToString(R); }3.2 小部件工厂插件 WidgetFactory插件提供了一个函数用于根据指定的类型和颜色创建小部件。 /// summary /// 创建部件的插件 /// /summary public class WidgetFactory {[KernelFunction][Description(创建指定类型和颜色的部件)]public WidgetDetails CreateWidget([Description(要创建的小部件的类型)] WidgetType widgetType, [Description(要创建的小部件颜色)] WidgetColor[] widgetColors){var colors string.Join(-, widgetColors.Select(c c.GetDisplayName()).ToArray());return new(){SerialNumber ${widgetType}-{colors}-{Guid.NewGuid()},Type widgetType,Colors widgetColors};} }为了使插件能够处理不同的小部件类型和颜色我们定义了两个枚举类型WidgetType和WidgetColor。 WidgetDetails类用于存储小部件的详细信息包括序列号、类型和颜色。 [JsonConverter(typeof(JsonStringEnumConverter))] public enum WidgetType {[Description(有用的小部件。)]Useful,[Description(装饰性的小部件。)]Decorative }[JsonConverter(typeof(JsonStringEnumConverter))] public enum WidgetColor {[Description(创建红色物品时使用)]Red,[Description(创建绿色物品时使用)]Green,[Description(创建蓝色物品时使用)]Blue }public class WidgetDetails {public string SerialNumber { get; init; }public WidgetType Type { get; init; }public WidgetColor[] Colors { get; init; } } /// summary /// 枚举扩展方法 /// /summary public static class EnumExtensions {private static readonly ConcurrentDictionaryEnum, string DisplayNameCache new ConcurrentDictionaryEnum, string();/// summary/// 获取枚举字段值的属性。/// /summary/// typeparam nameT/typeparam/// param nameenumValue/param/// returns/returns[UnconditionalSuppressMessage(Trimming, IL2075, Justification Fields are never trimmed for enum types.)]public static T GetAttributeOfTypeT(this Enum enumValue) where T : Attribute{FieldInfo field enumValue.GetType().GetField(enumValue.ToString(), BindingFlags.Static | BindingFlags.Public);if (field null){return null;}return field.GetCustomAttributesT(inherit: false).FirstOrDefault();}/// summary/// 获取enum的显示名称/// /summary/// param nameenumValue/param/// returns/returnspublic static string GetDisplayName(this Enum enumValue){return DisplayNameCache.GetOrAdd(enumValue, delegate (Enum e){DisplayAttribute attributeOfType e.GetAttributeOfTypeDisplayAttribute();return (attributeOfType ! null) ? attributeOfType.Name : e.ToString();});} } 3.3 初始化Semantic Kernel实例 #pragma warning disable SKEXP0001, SKEXP0010, SKEXP0050, SKEXP0020, ASP0000 //使用的模型 string model gpt-4o-mini; //使用的openai代理地址这里也可以使用国产模型和地址。只要是openai格式即可 string endpointKey https://xie.openai.com/v1; //openai 密钥 string apiKey sk-;// 创建一个带有OpenAI聊天完成的内核IKernelBuilder kernelBuilder Kernel.CreateBuilder();kernelBuilder.AddOpenAIChatCompletion(modelId: model,endpoint: new Uri(endpointKey),apiKey: apiKey);//添加打印时间信息插件kernelBuilder.Plugins.AddFromTypeTimeInformation();//添加构建颜色、类型部件插件kernelBuilder.Plugins.AddFromTypeWidgetFactory();Kernel kernel kernelBuilder.Build();3.4 四个实战示例 3.4.1 模型幻觉 //示例1用一个提示来调用内核该提示要求AI提供它无法提供的信息并可能产生幻觉 Console.WriteLine(------------------------示例1 模型无法提供的实时信息-------------------------------); Console.WriteLine(await kernel.InvokePromptAsync(离圣诞节还有几天)); Console.WriteLine();3.4.2 给模型提供时间信息 //示例2使用模板提示调用内核该提示调用插件并显示结果 Console.WriteLine(------------------------示例2 使用插件结合问题给模型提供时间信息--------------------------------); Console.WriteLine(await kernel.InvokePromptAsync(当前时间为 {{TimeInformation.GetCurrentUtcTime}}。 离圣诞节还有几天)); Console.WriteLine();3.4.3 AI自动调用函数 //示例3使用提示符调用内核并允许AI自动调用函数 #pragma warning disable SKEXP0001 // 类型仅用于评估在将来的更新中可能会被更改或删除。取消此诊断以继续。OpenAIPromptExecutionSettings settings new() { FunctionChoiceBehavior FunctionChoiceBehavior.Auto() }; #pragma warning restore SKEXP0001 // 类型仅用于评估在将来的更新中可能会被更改或删除。取消此诊断以继续。Console.WriteLine(------------------------示例3 模型自动评估是否调用函数获取时间--------------------------------);Console.WriteLine(await kernel.InvokePromptAsync(离圣诞节还有几天解释你的想法。, new(settings)));Console.WriteLine();3.4.4 AI自动调用和使用枚举 //示例4用提示符调用内核并允许AI自动调用使用枚举的函数 Console.WriteLine(------------------------示例4 模型自动调用函数生成对应颜色组件- -----------------------------); Console.WriteLine(--------------------示例4.1红色----------------------------); //因枚举中有红色AI自动识别并创建红色组件 Console.WriteLine(await kernel.InvokePromptAsync(为我创建一个红色小部件。, new(settings))); Console.WriteLine();Console.WriteLine(--------------------示例4.2浅绿色----------------------------);//因枚举中有绿色AI自动识别并创建绿色组件Console.WriteLine(await kernel.InvokePromptAsync(为我创建一个浅绿色小部件。, new(settings)));Console.WriteLine();Console.WriteLine(--------------------示例4.3蓝色----------------------------);//因枚举中有蓝色AI自动识别并创建蓝色组件Console.WriteLine(await kernel.InvokePromptAsync(为我创建一个蓝色小部件。, new(settings)));Console.WriteLine();// 因枚举中没有紫色AI会告知用户只能在系统提供的三种颜色中选取Console.WriteLine(--------------------示例4.4紫色----------------------------);Console.WriteLine(await kernel.InvokePromptAsync(为我创建一个紫色小部件。, new(settings)));四、结论 通过开发和调用Semantic Kernel插件我们可以将自定义功能和业务逻辑集成到AI模型中从而创建更加强大和灵活的应用程序。这些插件不仅可以提高开发效率还可以帮助我们更好地控制AI模型的行为。 在下一篇文章中我们将探讨如何将Semantic Kernel与其他技术栈和服务集成以构建更加强大和全面的AI解决方案。 参考资料 微软文档https://learn.microsoft.com/en-us/semantic-kernel/overview/ Githubhttps://github.com/microsoft/semantic-kernel
http://www.w-s-a.com/news/258498/

相关文章:

  • 温岭专业营销型网站建设地址wordpress小程序怎么不用认证审核
  • 网站建设主体设计要求微信公众号缴费
  • 网站建设的税率WordPress多用户建站
  • 专业门户网站的规划与建设网络培训
  • 东莞汽车总站停止营业crm管理系统在线使用
  • 深圳网站建设公司哪个网络优化是做什么的
  • 大连地区做网站自己怎么做电影网站
  • 成都APP,微网站开发手机要访问国外网站如何做
  • 网站app建设用discuz做的手机网站
  • vs 2008网站做安装包公众号登录超时
  • 银川做网站推广wordpress dux会员中心
  • 双辽做网站wordpress怎么写html代码
  • 建站公司哪家好 知道万维科技西安都有哪些公司
  • 设计网站官网入口佛山 品牌设计
  • 专用网站建设wordpress mega
  • 网站建设与优化推广方案内容网站整站下载带数据库后台的方法
  • 做网站PAAS系统外链是什么意思
  • 网页设计专业设计课程googleseo排名公司
  • 网站百度百科那些免费网站可以做国外贸易
  • 做视频的网站有哪些南京计算机培训机构哪个最好
  • ppt做视频 模板下载网站商业街网站建设方案
  • 佛山网站定制开发星光影视园网站建设案例
  • wordpress子站点商务网页设计与制作微课版答案
  • 山东省住房城乡和建设厅网站软件开发主要几个步骤
  • 可以接项目做的网站网站源码php
  • 杭州广众建设工程有限公司网站网页游戏人气排行榜
  • 上海网站开发建设最简单的网站代码
  • 东莞做网站建设免费网站建设案例
  • 莱州建设局网站wordpress的主题下载地址
  • 二级网站域名长沙企业关键词优化服务质量