.NET面向AI编程——SK框架(SemanticKernel)的简易入门实践

简介: 随着ChatGPT开始在各个领域遍地开花,有关的应用也开始层出不穷。随着微软开源SK框架,无疑是给.NET开发者带来面向AI应用的新机遇。以下内容,通过创建一个简单的prompt开始,开发一个使用SK框架进行开发的入门教程,供参考。

首先,创建一个webapi项目。当然,此处也可以创建其他任意类型的项目,只是个人喜欢用webapi来做实践,比较方便。

接着,通过nuget安装SK框架nuget包: Microsoft.SemanticKernel

由于截止到目前(2023年5月28日),该框架包还是预览版,所以需要勾选预览版选项,才能搜索的到。

再然后,创建连接远程机器人模型的配置文件,例如文件名称就叫 gpt.json。该配置文件可自定义,也可以写到默认的appsettings.json里面都可以。

在配置文件里面,需要配置自己的服务类型。例如走的是azure还是openai,以及模型类型,例如gpt-3.5-turbo模型,还有自己的key,和组织id等信息。

接着在主目录下,新建三级目录,包括Skills、二级目录自定义名称例如DM、以及三级目录名称例如Test。一级目录Skills是默认写法,当然也可以用其他命名,为了统一建议写成Skills。这里面要存放我们的prompt文件,用来给机器人做限定使用。

在最后一级目录下,新建一个config.json文件。该文件用来配置机器人的基础设置,这部分应该大家比较熟悉了,就不详细介绍了。默认情况下,可以使用默认空的配置即可,例如{} ;如果需要自定义配置,就可以使用以下配置项进行优化或调整。

在config同级别路径下,新增一个skprompt文本文件,内容是给机器人做个设定,也就是传说中的prompt(将来也许会有Prompt工程师也说不定)。例如我设定机器人叫叼毛,Wesky是他的主人等关键信息。

接着需要定制一个类,包括基本配置属性,以及配置加载方法等。

编写从文件里面加载配置文件内容验证的方法,如果文件不存在或者加载失败,就直接抛出异常。

新增一个拓展类,用来根据配置的服务,选择进入不同的服务商。也可以再根据配置的模型不同,进入不同的服务调用入口,此处为了简单,就先写死了,并提供了一个走azure openai的通道,供大家备用。

接下来是如何使用。此处我新建一个api控制器,用来做测试使用。然后新增一个初始化的webapi接口,用来配置加载配置文件和连接初始化等动作。

再新建一个webapi接口,提供可输入文本内容的参数,并获取远程模型返回的内容,用来测试。

最后,运行程序,默认打开swagger页面,先调用执行初始化接口(BuildChat)

初始化接口执行成功,再进行Test接口调用。例如询问机器人,你是哪个,机器人就可以根据prompt文件内容信息,进行自己设定身份,回复了他叫叼毛。

例如问,你的主人是谁?机器人也可以根据预设的prompt进行针对性回答。

最后,再来个常规的咨询,例如如何在.NET里面使用SK框架?机器人也可以正常回答出有关大概步骤。

以上就是该文章的全部内容。如需该文章配套源码,可在微公众号【Dotnet Dancer】后台回复【SKSK】即可获取。

目录
相关文章
|
3天前
|
人工智能 开发框架 算法
Qwen-Agent:阿里通义开源 AI Agent 应用开发框架,支持构建多智能体,具备自动记忆上下文等能力
Qwen-Agent 是阿里通义开源的一个基于 Qwen 模型的 Agent 应用开发框架,支持指令遵循、工具使用、规划和记忆能力,适用于构建复杂的智能代理应用。
46 10
Qwen-Agent:阿里通义开源 AI Agent 应用开发框架,支持构建多智能体,具备自动记忆上下文等能力
|
4天前
|
人工智能 自然语言处理 测试技术
DeepSeek V3:DeepSeek 开源的最新多模态 AI 模型,编程能力超越Claude,生成速度提升至 60 TPS
DeepSeek V3 是深度求索公司开源的最新 AI 模型,采用混合专家架构,具备强大的编程和多语言处理能力,性能超越多个竞争对手。
121 4
DeepSeek V3:DeepSeek 开源的最新多模态 AI 模型,编程能力超越Claude,生成速度提升至 60 TPS
|
11天前
|
人工智能 Linux API
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
PromptWizard 是微软开源的 AI 提示词自动化优化框架,通过自我演变和自我适应机制,迭代优化提示指令和上下文示例,提升大型语言模型(LLMs)在特定任务中的表现。本文详细介绍了 PromptWizard 的主要功能、技术原理以及如何运行该框架。
92 8
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
DiffSensei:AI 漫画生成框架,能生成内容可控的黑白漫画面板,支持多角色和布局控制
DiffSensei 是一个由北京大学、上海AI实验室及南洋理工大学共同推出的AI漫画生成框架,能够生成可控的黑白漫画面板。该框架整合了基于扩散的图像生成器和多模态大型语言模型(MLLM),支持多角色控制和精确布局控制,适用于漫画创作、个性化内容生成等多个领域。
84 18
DiffSensei:AI 漫画生成框架,能生成内容可控的黑白漫画面板,支持多角色和布局控制
|
7天前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
91 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
16天前
|
机器学习/深度学习 人工智能
Leffa:Meta AI 开源精确控制人物外观和姿势的图像生成框架,在生成穿着的同时保持人物特征
Leffa 是 Meta 开源的图像生成框架,通过引入流场学习在注意力机制中精确控制人物的外观和姿势。该框架不增加额外参数和推理成本,适用于多种扩散模型,展现了良好的模型无关性和泛化能力。
63 11
Leffa:Meta AI 开源精确控制人物外观和姿势的图像生成框架,在生成穿着的同时保持人物特征
|
4天前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
|
13天前
|
人工智能 测试技术 开发者
AI 编码助手:编程路上的得力伙伴
在数字化浪潮中,AI编码助手成为开发者不可或缺的工具。它通过代码生成与补全、优化与规范、错误检测与调试等功能,大幅提升编程效率和代码质量。从需求分析到部署,AI助手全程助力,确保项目顺利进行。尽管不能替代开发者创造力,但它无疑是编程道路上的得力伙伴,推动软件开发不断创新。
66 12
|
4天前
|
人工智能 智能硬件
SPAR:智谱 AI 推出自我博弈训练框架,基于生成者和完善者两个角色的互动,提升了执行准确度和自我完善能力
SPAR 是智谱团队推出的自我博弈训练框架,旨在提升大型语言模型在指令遵循方面的能力,通过生成者和完善者的互动以及树搜索技术优化模型响应。
17 0
SPAR:智谱 AI 推出自我博弈训练框架,基于生成者和完善者两个角色的互动,提升了执行准确度和自我完善能力
|
16天前
|
机器学习/深度学习 人工智能 算法
AI框架的赢者法则:生态繁荣的昇思MindSpore,成为大模型时代的新选择
2024年被视为大模型应用的元年。昇思MindSpore AI框架凭借其强大的开源社区和技术创新,在全球范围内迅速崛起。截至2024年11月,该框架的下载量已超过1100万次,覆盖130多个国家和地区的2400多个城市,拥有3.7万名贡献者。昇思MindSpore不仅在人才培养和社区治理方面表现出色,还在大模型的开发、训练和应用中发挥了关键作用,支持了50多个主流大模型,覆盖15个行业。随着其市场份额预计达到30%,昇思MindSpore正逐步成为行业共识,推动大模型在各领域的广泛应用。
48 12