微软官方出品:GPT大模型编排工具,支持C#、Python等多个语言版本

随着ChatGPT的火热,基于大模型开发应用已经成为新的风口。虽然目前的大型模型已经具备相当高的智能水平,但它们仍然无法完全实现业务流程的自动化,从而达到用户的目标。

微软官方开源的Semantic Kernel的AI编排工具,就可以很好的满足我们自定义开发。

01 项目简介

Semantic Kernel是一个轻量级的SDK,最基本的功能就是帮我们完成与OpenAI、Azure OpenAI和Hugging Face大模型的API的对接,并且支持C#、Python、Java版本。

Semantic Kernel提供自定义插件、编排计划、信息存储至数据库(如SQLite、MongoDB、Redis、Postgres等)。

总的来说,Semantic Kernel就是可以把用户输入的prompt,经过分解为多个步骤、获取外部数据、执行自定义操作等,转换为一个更好的prompt,再调用大模型API,从而获取结果。

02 使用示例

以下是C#使用示例:

复制代码
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.OpenAI;

var builder = Kernel.CreateBuilder();

//OpenAI模型
builder.AddOpenAIChatCompletion(
         "gpt-3.5-turbo",
         "...your OpenAI API Key...");

var kernel = builder.Build();

//等待用户输入
Console.Write("用户:");
var input = Console.ReadLine();

//循环对话
while (input != "quit")
{
    var prompt = @$"<message role=""user"">{input}</message>";
    var summarize = kernel.CreateFunctionFromPrompt(prompt, executionSettings: new OpenAIPromptExecutionSettings { MaxTokens = 100 });
    var result = kernel.InvokeStreamingAsync(summarize);
    Console.Write("OpenAI:");
    await foreach (var item in result)
    {
        Console.Write(item.ToString());
    }
    Console.WriteLine();
    Console.WriteLine();
    Console.Write("用户:");
    input = Console.ReadLine();
}

03 核心组件

**语义引擎:**核心组件,用于理解用户的输入的语义,并将这些输入转化为机器可读的格式;

**LLM API包装器:**将传统的编程语言(如C#、Python、Java)与AI大模型集成,使得开发人员无需过多的关注大模型API,只需关心具体的业务开发;

**可扩展编程模型:**整合了自然语言语义功能、传统编程语言的native function以及基于embedding的存储,可以为大模型增强功能与数据。

04 项目地址

https://github.com/microsoft/semantic-kernel

更多开源项目请查看:一个专注推荐.Net开源项目的榜单

  • End -
相关推荐
Abigail_chow2 小时前
EXCEL如何快速批量给两字姓名中间加空格
windows·microsoft·excel·学习方法·政务
无味无感3 小时前
ASP.NET Core使用Quartz部署到IIS资源自动被回收解决方案
.netcore
MoFe13 小时前
【.net core】天地图坐标转换为高德地图坐标(WGS84 坐标转 GCJ02 坐标)
java·前端·.netcore
绿荫阿广4 小时前
互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(五):使用.NET为树莓派开发Wifi配网功能
c#·.net
武子康6 小时前
AI炼丹日志-28 - Audiblez 将你的电子书epub转换为音频mp3 做有声书
人工智能·爬虫·gpt·算法·机器学习·ai·音视频
唐青枫6 小时前
.NET AOT 详解
.net
ou.cs7 小时前
c# :this() 和 :base()区别
开发语言·c#
平凡灵感码头8 小时前
OpenAI 即将推出 GPT-5:开启多模态、持续记忆对话新时代
人工智能·gpt
汪小白JIY10 小时前
【C#】异步和多线程
c#·thread·async·task·threapool
AI.NET 极客圈10 小时前
.NET 原生驾驭 AI 新基建实战系列(六):Pinecone ── 托管向量数据库的向量数据库的云原生先锋
数据库·人工智能·.net