C# 语言在AGI 赛道上能做什么
自从2022年11月OpenAI正式对外发布ChatGPT依赖,AGI 这条赛道上就挤满了重量级的选手,各大头部公司纷纷下场布局。原本就在机器学习、深度学习领域占据No.1的Python语言更是继续稳固了自己AI一哥的位置。凭借着Microsoft 和 OpenAI 长期以来一直是紧密相连的合作伙伴,微软的众多使用C# 打造的产品最早将大模型技术落地,微软在产品落地过程中将相关的经验总结推出了Semantic kernel这个开发框架。Semantic kernel 首要的支持语言是C# ,目前已经支持了Python和Java。
在最近的微软Build 2024上,微软和OpenAI 合作正式推出.NET 版本的客户端:OpenAI正式发布第一个官方.NET版本库的测试版。Semantic kernel的Azure OpenAI/OpenAI 连接器也正式切换这个新版本的SDK。目前各大头部公司的大语言模型大都采用OpenAI的API规范,可以直接使用这个客户端库进行对接。
AGI应用开发领域,langchain是当之无愧的老大,不过业界一直抱怨langchain太重,用起来体验不好,Semantic kernel 来自于微软产品团队实践AGI 技术的技术输出,可以帮助.NET开发者 使用C# 语言快速开发强大的基于大模型的应用。目前在github收获了19k的star。这个项目也是.NET 团队推荐且可能在后续会大力扶持的C# AGI应用框架项目。
AGI 应用开发范式也从Chatbot、RAG、Copilot 进化到Agent。 Semantic kernel 本身就是Agent 开发框架,与此同时,微软研究院推出的Agent开发框架Autogen ,最新版本也支持了C# ,而且C# 版本是基于Semantic kernel实现的。社区还有一个Agent 开发框架是Botsharp,BotSharp 是适用于企业级 LLM 应用程序的开源 AI 框架。该项目涉及自然语言理解、计算机视觉和音频处理技术,旨在推动智能机器人助手在面向业务的系统中的发展和应用。开箱即用的机器学习算法使普通程序员能够更快、更轻松地开发人工智能应用程序。
我们知道C# 语言由微软开发,目前属于.NET 基金会,具有简洁性、高性能、强大的并发处理能力以及丰富的标准库,同时具备高可移植性。在.NET 8 以及最新的.NET 9版本中增加了大量的和AGI 相关的特性。C# 拥有的优秀特性让它具备了在AGI 应用开发领域立足的能力。C# 已经在AGI领域发展并站稳脚跟,.NET社区也在努力建设中。下面我们列出社区中一些资源供大家参考:
- Semantic kernel :https://github.com/geffzhang/awesome-semantickernel/
- Autogen:https://github.com/microsoft/autogen/tree/main/dotnet
- Botsharp:https://botsharp.readthedocs.io/en/latest/
AIDotNet:https://github.com/AIDotNet
Senaprc.AI: https://github.com/Senparc/Senparc.AI
C# 语言在AGI 赛道上能做什么的更多相关文章
- 课上补做:用C语言编程实现ls命令
课上补做:用C语言编程实现ls命令 一.有关ls ls :用来打印当前目录或者制定目录的清单,显示出文件的一些信息等. ls -l:列出长数据串,包括文件的属性和权限等数据 ls -R:连同子目录一同 ...
- C语言堆内存管理上出现的问题,内存泄露,野指针使用,非法释放指针
C语言堆内存管理上出现的问题,内存泄露,野指针使用,非法释放指针 (1)开辟的内存没有释放,造成内存泄露 (2)野指针被使用或释放 (3)非法释放指针 (1)开辟的内存没有释放.造成内存泄露,以下的样 ...
- C语言之漫谈指针(上)
C语言之漫谈指针(上) 在C语言学习的途中,我们永远有一个绕不了的坑,那就是--指针. 在这篇文章中我们就谈一谈指针的一些基础知识. 纲要: 零.谈指针之前的小知识 一.指针与指针变量 二.指针变量的 ...
- C语言程序设计做题笔记之C语言基础知识(上)
C语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行事.并且C是相当灵活的,用于执行计算机程序能完成的几乎 ...
- 为什么很多语言选择在JVM上实现
非常经济地实现跨平台.你的语言编译器后端只需要输出 JVM 字节码就可以.跨平台需要极大的工作量,举个例子,只是独立开发生成本地代码,就需要花费大量精力去针对不同平台和处理器进行优化(比如 Firef ...
- python3+django2 开发易语言网络验证(上)
创作背景: 在某论坛中下载到一套php开发易语言网络验证的教程,照着看下来,花了两天的时间,结果发现教程里开发的网络验证,以及随着教程一起给学员的源码,都存在着根本用不了的bug!我想要看看能不能在原 ...
- C语言/C++编程学习:不做C/C++工作也要学C/C++的原因!
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- java与C语言在字符串结束符上的区别
综述:在C语言中字符串或字符数组最后都会有一个额外的字符‘\0’来表示结束,而在java语言中没有结束符这一概念.具体见下面分析. 1. C 语言 在C语言中字符串和字符数组基本上没有区别,都需要结束 ...
- 16.go语言基础学习(上)——2019年12月16日
2019年12月13日10:35:20 1.介绍 2019年10月31日15:09:03 2.基本语法 2.1 定义变量 2019年10月31日16:12:34 1.函数外必须使用var定义变量 va ...
- Python语言在企业级应用上的十大谬误
英文原文:https://www.paypal-engineering.com/2014/12/10/10-myths-of-enterprise-python/ 翻译原文:http://www.os ...
随机推荐
- git fatal detected dubious ownership in repository 的解决方法
我换了一台电脑,将旧电脑的硬盘换到新电脑上:我装了双系统,切换到另一个系统时:我发现了 git 代码仓库无法执行 git 命令,不断报错 fatal: detected dubious ownersh ...
- 什么是SQL 语句中相关子查询与非相关子查询
1.什么是SQL子查询 要理解相关子查询和非相关子查询,我们得首先理解什么是子查询,子查询是指在一个查询语句中嵌套的另一个查询语句. 子查询可以嵌套在其他查询语句中,如 SELECT.INSERT.U ...
- arduino uno+LCD12864(ST7735S)+蓝牙模块实现贪吃蛇
1.前言: 1.1本实验实现的贪吃蛇能穿越边界,结束游戏的唯一条件是贪吃蛇到达指定长度 1.2本实验所用LCD可能不是LCD12864,LCD12864所用库为u8glib,笔者在词库中并没有找到型号 ...
- VSCode:所选环境中没有可用的Pip安装程序
VSCode:所选环境中没有可用的Pip安装程序 然后我尝试格式化我的代码,VSCode说没有安装autopep8,可以通过Pip安装 . 但是,当我尝试通过Pip安装时,它会说 There is n ...
- golang向上取整、向下取整和四舍五入
一.概述 官方的math 包中提供了取整的方法,向上取整math.Ceil() ,向下取整math.Floor() 二.用法 package main import ( "fmt" ...
- Git命令拾掇
修改commit信息 git commit --amend -m 'The new message' 使用ssh替换https:// 设置某个仓库 git remote set-url origin ...
- SQLServer统计监控SQL执行计划突变的方法
使用动态管理视图(DMVs)来检测SQL执行计划的突变,你需要关注那些能够提供查询执行统计和计划信息的视图.以下是一些可以用于此目的的DMVs以及相应的查询示例: sys.dm_exec_query_ ...
- 逆向WeChat (二)
本篇在博客园的地址https://www.cnblogs.com/bbqzsl/p/18187099 回顾一下现时网上的资源. 原生 https://github.com/duilib, Ultima ...
- VisualStduio如何自定义代码片段
什么是代码片段 代码片段又叫CodeSnippet,可以用来快捷补全代码.其实我们经常使用这个功能. 比如for循环,输入for会弹出这个窗口 我们选择第二个for,再按两次Tab键,编辑器就会自动生 ...
- powershell 设置代理
$env:HTTP_PROXY="http://127.0.0.1:10809" $env:HTTPS_PROXY="http://127.0.0.1:10809&quo ...