.NET 社区 AI 开源新星 BotSharp 强势登场

586 阅读4分钟

前言

大模型热潮下.NET领域迎来众多重磅开源项目。

对话即平台(CaaP)作为AI未来方向,催生了BotSharp这一开源机器学习框架。

它为.NET开发提供了构建CaaP的整套工具,开箱即用,助力快速集成到应用系统,推动 .NET 在AI领域的发展。

项目介绍

BotSharp是一个功能丰富的开源机器学习框架,涵盖自然语言理解、计算机视觉和音频处理技术,帮助我们在信息系统中创建智能机器人助手。

它兼容ChatGPT、Gemini、LLaMA、Claude Sonnet、HuggingFace等主流AI平台,使用C#开发,支持跨平台运行。

采用插件和流水线流执行设计,实现插件解耦,支持不同UI/UX和LLM提供商选择,基于统一接口实现模块化。

另外,BotSharp提供高级代理抽象层,便于企业开发人员将AI集成到业务系统中,有效应对复杂应用场景。

项目功能

多代理与对话管理:内置多代理系统,能处理复杂对话场景,包括状态管理,使多个功能模块协同工作,提升用户体验。

任务规划:支持多种大型语言模型(LLM)规划方法,灵活应对不同任务,提高系统处理信息的效率。

知识检索:内置RAG(Retrieval-Augmented Generation)接口,支持基于记忆的向量搜索,有效管理知识库。

多平台支持:兼容ChatGPT 3.5/4.0、Gemini 2、LLaMA 3、Claude Sonnet 3.5、HuggingFace等AI平台。

协同工作:多个具有不同职责的代理协同完成复杂任务。

一站式开发:提供开箱即用的环境,可在同一平台完成构建、测试、评估与审计,提高开发和运营效率。

用户界面:内置的BotSharp UI使用SvelteKit编写,提供友好的用户界面。

内容集成:抽象化的标准富内容数据结构,可与Facebook Messenger、Slack和Telegram等消息渠道集成。

项目技术

跨平台:基于C#和.NET Core,支持多平台部署。

模块化:插件与管道流执行设计,实现完全解耦,便于定制UI/UX和选择LLM提供商。

C#机器学习:利用C#类型语言特性,便于系统级代码重构,直接在C#中应用机器学习算法。

项目插件

BotSharp的插件系统采用组件化设计,保持核心功能精简,业务功能通过外部组件拓展。

内置插件涵盖多个方面:

数据存储:支持MongoDB、LiteDB、腾讯云对象存储等多种方式。

LLM插件:兼容Azure OpenAI、OpenAI、Anthropic AI、Google AI、Meta AI、HuggingFace等AI平台接口。

消息/渠道:涵盖ChatHub、Meta Messenger、Twilio、Telegram、微信等多渠道支持。

知识检索:配备知识库和向量数据库插件。

视觉处理:如PaddleSharp插件。

其他工具:包含仪表板、路由加速器、音频处理、邮件处理、文件处理、HTTP处理、SQL驱动、WebDriver、Python解释器等实用工具。

用户界面:提供Chatbot UI插件。

项目使用

通过项目地址下载源码并启动项目,分为前端UI和后端API。

1、运行后端服务

PS D:\> git clone https://github.com/dotnetcore/BotSharp
PS D:\> cd BotSharp

Windows

PS D:\BotSharp\> dotnet run --project .\src\WebStarter\WebStarter.csproj -p SolutionName=BotSharp

Linux

$ dotnet run --project ./src/WebStarter/WebStarter.csproj -p SolutionName=BotSharp

2、运行 UI 项目

PS D:\> git clone https://github.com/SciSharp/BotSharp-UI
PS D:\> cd BotSharp-UI
PS D:\> npm install
PS D:\> npm run dev

3、项目启动

通过访问 http://localhost:5015/

项目效果

1、首页

2、路由

3、代理列表

4、会话列表

项目地址

GitHub:github.com/SciSharp/Bo…

总结

以上仅展示了 BotSharp项目的部分功能。更多实用特性和详细信息,请大家访问项目地址。

希望通过本文能为 AI开发方面提供有价值的参考。欢迎在评论区留言交流,分享您的宝贵经验和建议。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

优秀是一种习惯,欢迎大家留言学习!