全面解析BotSharp:如何利用.Net和LLMs革新你的业务系统

news2024/12/23 20:43:37

        作为一名关注.Net与AI相关技术的博主,今天我要推荐一个开源项目——BotSharpBotSharp 是一个基于 .Net的智能代理应用程序构建框架,专注于连接大型语言模型(LLMs)到现有业务系统中,以促进会话即平台(Conversation as a Platform, CaaP)的建立。

        作为一个开源的AI代理应用程序框架,BotSharp为业务集成的应用程序提供了与大型语言模型(LLMs)相连接的能力,让开发者更加聚焦于业务本身。

        BotSharp 是一款面向AI机器人平台构建者的开源机器学习框架,它涉及到自然语言理解、计算机视觉和音频处理等众多技术,目的在于推动智能机器人助手在信息系统中的开发和应用。该框架内置了一系列机器学习算法,这让普通开发人员能够更快速、更简便地开发人工智能应用。

        BotSharp  C# 编写,并在 .Net Core 上运行,这是一个完全跨平台的框架。它采取插件和流水线式执行设计,实现了对于插件的完全解耦。C# 作为一种企业级开发语言,广泛应用于信息管理系统中业务逻辑的编码,对企业开发人员更为友好。BotSharp 直接采用 C# 语言编写机器学习算法,这样可以充分发挥 C# 类型语言的特性,系统范围内重构代码将更为简便。

        BotSharp 严格遵守组件化原则,每一个需要的部分都被解耦,因此开发者可以根据需要选择不同的UI/UX,也可以选择不同的LLM提供商。这些都是基于统一接口的模块化设计。           

        BotSharp 提供了高级的代理抽象层,以有效管理企业中的复杂应用场景,允许企业开发者高效地将 AI 集成到业务系统中。

        此外,BotSharp 还可以搭配先前文章介绍的 LlamaSharp 来使用本地模型部署。

深入浅出LLamaSharp:打造智能.NET应用,不需GPU也能玩转LLaMA模型

图片

BotSharp 主要特点包括:

  • 内置多代理和带状态管理的会话机制。

  • 支持多种LLM规划方法处理不同任务。

  • 内建与 RAG 相关的接口,基于Memeory的向量搜索。

  • 支持多个 AI 平台(ChatGPT 3.5 / 4.0,PaLM 2,LLaMA 2,HuggingFace)。

  • 允许负责不同任务的多个代理合作完成复杂的任务。

  • 在一个地方构建、测试、评估和审核您的LLM代理。

  • 内置使用 SvelteKit 编写的 BotSharp 用户界面。

  • 抽象标准的富内容数据结构。与流行的消息渠道(如Facebook Messenger、Slack和Telegram)集成。

  • 提供 RESTful Open API 和 WebSocket 实时通讯。

快速开始:启动后端服务:

PS D:\> git clone https://github.com/dotnetcore/BotSharpPS D:\> cd BotSharpPS D:\BotSharp\> dotnet run -p .\src\WebStarter

运行 Admin UI 项目,参考 BotSharp UI:

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

访问 http://localhost:5015/  查看效果。(连UI都做好了,而且非常精美。简直没谁了!!

在线演示:BotSharp 提供了在线的用户界面演示。

https://botsharp.azurewebsites.net/

图片

图片

图片

图片

核心模块:

核心模块主要由抽象和框架功能实现组成,并结合了一些常用工具。

  •  插件加载器

  •  挂钩

  •  认证

  •  代理资料

  •  对话与状态

  •  路线与规划

  •  模板化

  •  文件存储库

  •  缓存

  •  内容丰富

  •  LLM 供应商

插件: 

BotSharp 使用组件设计,核心被保持在最小化,业务功能由外部组件实现。模块化设计还允许贡献者更好地参与。以下是一些内建插件

数据存储插件

  • BotSharp.Core.Repository

  • BotSharp.Plugin.MongoStorage

LLMs插件

  • BotSharp.Plugin.AzureOpenAI

  • BotSharp.Plugin.GoogleAI

  • BotSharp.Plugin.MetaAI

  • BotSharp.Plugin.HuggingFace

  • BotSharp.Plugin.LLamaSharp

  • BotSharp.Plugin.SemanticKernel

消息/通道插件

  • BotSharp.OpenAPI

  • BotSharp.Plugin.ChatHub

  • BotSharp.Plugin.MetaMessenger

  • BotSharp.Plugin.Twilio

  • BotSharp.Plugin.TelegramBots

  • BotSharp.Plugin.WeChat

RAGs插件

  • BotSharp.Plugin.KnowledgeBase

  • BotSharp.Plugin.Qdrant

视觉插件

  • BotSharp.Plugin.PaddleSharp

工具插件

  • BotSharp.Plugin.RoutingSpeeder

  • BotSharp.Plugin.PizzaBot

UI 插件

  • BotSharp.Plugin.ChatbotUI

文档资料

如果你对BotSharp感兴趣,可以访问官方文档详细信息:

 https://botsharp.readthedocs.io

        如果你认为该项目对你有帮助,不妨给项目点个Star。

        BotSharpSciSharp Stack的成员项目,后者是基于.Net 的开源软件生态系统,用于数学、科学和工程领域。

        通过BotSharp.Net开发者不仅能在现有的应用程序中无缝集成AI功能,同时也能为企业提供强大、可定制的智能助理。当前AI技术的高速发展,为信息管理系统增添了智能的翅膀,让我们拭目以待,BotSharp如何在此基础上继续赋能开发者,掀起新一波技术革新。

        如果本文对您有帮助,欢迎您订阅我的公众号。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2096976.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

模型案例:| 垃圾桶识别模型

导读 2023年以ChatGPT为代表的大语言模型横空出世,它的出现标志着自然语言处理领域取得了重大突破。它在文本生成、对话系统和语言理解等方面展现出了强大的能力,为人工智能技术的发展开辟了新的可能性。同时,人工智能技术正在进入各种应用领…

【Java|Stream流】不可变集合

文章目录 1.什么是不可变集合2.创建不可变集合的方式2.1 List类型2.2 Set2.3 Map 1.什么是不可变集合 不可变集合:不可以被修改的集合 不可变集合优点: 安全性 由于不可变集合不能被修改,所以可以安全地在多个线程之间共享,而不用担心被意外修改&#xf…

H264编码

H264是一种针对视频的压缩编码方式。 一、压缩方法 H264主要基于以下几种方法,将数据进行压缩: 1.帧内预测压缩:解决空间域数据冗余的问题 2.帧间预测压缩:(运动估计与补偿)解决时间域数据冗余的问题 3…

AD5270 AD5271 STM32 SPI驱动设计

硬件设计 AD5270 AD5271 简介:1024位、1%电阻容差误差、SPI接口和50-TP存储器数字变阻器。特性:单通道、1024/256位分辨率;标称电阻:20 kΩ,50 kΩ和100 kΩ;标称电阻容差误差:1%(最…

Android 11添加系统服务,并封装jar包供第三方应用使用

概述: 如果你是做技术支持,有没有遇到这种情况,客户既要实现具备系统权限的功能,但是呢,又不想把自己的应用做成系统应用。这时候你咋办。 我们可以添加一个具备系统权限的服务,不管前台的,还是…

原来这就是 布隆过滤器

1.布隆过滤器的引出 一个有趣的现象 不知道大家有没有发现这么一个现象,当我们在使用一些软件的时候,比如像 CSDN、这种具有推荐算法的应用,他并不会给我们推送我们已经浏览过的内容,这是怎么做到的呢? 说白了就是人…

【物理教学】高中物理速度时间练习

速度时间图像代码 这段代码是一个使用Python编写的脚本,它利用matplotlib库来绘制物理问题中的速度-时间图。代码的主要优点如下: 用户交互:代码通过input函数与用户进行交互,允许用户输入物理问题的参数,如初始速度…

钢结构厂房通风天窗使用场景探讨

钢结构厂房通风天窗作为现代建筑中高效通风的解决方案,广泛应用于多个领域,为各类建筑提供优质的室内环境。成都昱合昇带大家一起探讨通风天窗在不同使用场景下的表现。 1、工业厂房降温 工业厂房是通风天窗典型的应用场景之一。在高温季节或生产过程中产…

苏州科技大学商学院:加强生态保护,推动绿色发展

原标题:苏州科技大学商学院:加强生态保护,推动绿色发展,在美丽中国建设中贡献青春力量 建设美丽中国是全面建设社会主义现代化国家的重要目标,也是激励全国人民为实现中华民族伟大复兴中国梦而共同奋斗的伟大旗帜。中…

CSS3 文本效果(text-shadow,box-shadow,white-space等)文本溢出隐藏并且显示省略号

一 text-shadow text-shadow 属性是 CSS3 中用于为文本添加阴影效果的工具。它可以增强文本的可读性和视觉吸引力,提供丰富的视觉效果 1 语法 text-shadow: offset-x offset-y blur-radius color;offset-x:阴影相对于文本的水平偏移量。可以是正值&am…

STM32CUBEIDE FreeRTOS操作教程(四):timer软件定时器

STM32CUBEIDE FreeRTOS操作教程(四):timer软件定时器 STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例&am…

18047 水仙花数

### 思路 1. 遍历所有的三位数(100到999)。 2. 对于每个数,提取其百位、十位和个位数字。 3. 计算这些数字的立方和。 4. 如果立方和等于原数,则该数是水仙花数,输出该数。 ### 伪代码 1. 遍历i从100到999&#xff1a…

HTTP中常用的4种请求方式——前端如何发送?后端怎么接受?

一.Get请求: 1.什么是Get请求? 2.前后端如何使用Get交互? 2.1.Query参数格式的Get请求 2.2.Path参数格式的Get请求 二.Post请求: 1.什么是Post请求? 2.前后端如何使用Post交互? 三.Put请求&#xf…

数据库操作与集成:使用Python与SQLite、MySQL、PostgreSQL等数据库

目录 引言 一、Python与SQLite的集成 1.1 SQLite简介 1.2 连接SQLite数据库 1.3 创建表 1.4 插入数据 1.5 查询数据 1.6 更新和删除数据 二、Python与MySQL的集成 2.1 MySQL简介 2.2 安装与配置 2.3 连接MySQL数据库 2.4 创建表与插入数据 2.5 查询、更新与删除数…

笔记:《利用Python进行数据分析》之apply的应用

这一节较难,十分灵活,可多花点时间 apply的简单应用 最通用的GroupBy方法是apply。 apply会将待处理的对象拆分成多个片段,然后对各片段调用传入的函数,最后尝试将各片段组合到一起。 回到之前那个小费数据集,假设你…

(四)vForm 动态表单自定义组件、属性

系列文章目录 (一)vForm 动态表单设计器之使用 (二)vForm 动态表单设计器之下拉、选择 (一)vForm 动态表单设计器之使用 文章目录 前言 一、自定义字段组件 1. 获得自定义组件json 2. 源码修改 二、自定义属性面板 1.属性面板文件 2.添加自定义属性 3.为字段组件添加属…

同事用10分钟给公司做了一套数据大屏,实力选手非他莫属!

数据可视化大屏是什么? 数据可视化大屏是一种将大量数据以图形、图表、地图等直观形式展示在大屏幕上。它通常被应用于企业的监控中心、会议室、展厅等场所,用于实时展示企业的关键业务指标、运营数据、市场趋势等信息。 今天给大家分享用JVS-智能BI如何…

DBdoctor快速纳管GBase 8a数据库

目录 如何快速纳管GBase 8a? 1.GBase 8a分析型数据库纳管部署架构 2.一分钟零依赖DBdoctor Server安装 3.快速纳管GBase 8a 重点说明: 针对GBase 8a,DBdoctor提供哪些功能服务? 1.SQL审核 2.深度巡检与报表 3.性能洞察 1&…

WebSocket通信学习笔记

1 简介 WebSocket是一种全双工通信协议,它允许客户端和服务器之间建立持久化的双向连接,从而在不频繁创建HTTP请求的情况下进行实时数据传输。与传统的HTTP协议相比,WebSocket更适合需要实时数据更新的应用场景,如聊天应用、实时…

架构师篇-23、工作坊实战应用架构

复习 ADM - 应用架构【AA】 案例实践 - 应用组件 - 核心模块 案例实践 - xx 项目应用关系 课程内应用架构