• Stars
    star
    2,166
  • Rank 21,290 (Top 0.5 %)
  • Language
    C#
  • License
    Apache License 2.0
  • Created almost 7 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The AI Agent Framework in .NET

The Open Source AI Agent Application Framework

Connect LLMs to your existing application focused on your business

Discord QQ群聊 Apache 2.0 NuGet Build status Documentation Status

"Conversation as a platform (CaaP) is the future, so it's perfect that we're already offering the whole toolkits to our .NET developers using the BotSharp AI BOT Platform Builder to build a CaaP. It opens up as much learning power as possible for your own robots and precisely control every step of the AI processing pipeline."

BotSharp is an open source machine learning framework for AI Bot platform builder. This project involves natural language understanding, computer vision and audio processing technologies, and aims to promote the development and application of intelligent robot assistants in information systems. Out-of-the-box machine learning algorithms allow ordinary programmers to develop artificial intelligence applications faster and easier.

It's written in C# running on .Net Core that is full cross-platform framework, the plug-in and pipeline flow execution design is adopted to completely decouple the plug-ins. C# is a enterprise grade programming language which is widely used to code business logic in information management related system. More friendly to corporate developers. BotSharp adopts machine learning algrithm in C# directly. That will facilitate the feature of the typed language C#, and be more easier when refactoring code in system scope.

BotSharp is in accordance with components principle strictly, decouples every part that is needed in the platform builder. So you can choose different UI/UX, or pick up a different LLM providers. They are all modulized based on unified interfaces. BotSharp provides an advanced Agent abstraction layer to efficiently manage complex application scenarios in enterprises, allowing enterprise developers to efficiently integrate AI into business systems.

Some Features

  • Built-in multi-agents and conversation with state management.
  • Support multiple LLM Planning approaches to handle different tasks.
  • Built-in RAG related interfaces, Memeory based vector searching.
  • Support multiple AI platforms (ChatGPT 3.5 / 4.0, PaLM 2, LLaMA 2, HuggingFace).
  • Allow multiple agents with different responsibilities cooperate to complete complex tasks.
  • Build, test, evaluate and audit your LLM agent in one place.
  • Build-in BotSharp UI written in SvelteKit.
  • Abstract standard Rich Content data structure. Integrate with popular message channels like Facebook Messenger, Slack and Telegram.
  • Provide RESTful Open API and WebSocket real-time communication.

Quick Started

  1. Run backend service
 PS D:\> git clone https://github.com/dotnetcore/BotSharp
 PS D:\> cd BotSharp
 # For Windows
 PS D:\BotSharp\> dotnet run --project .\src\WebStarter\WebStarter.csproj -p SolutionName=BotSharp
 # For Linux
 $ dotnet run --project ./src/WebStarter/WebStarter.csproj -p SolutionName=BotSharp
  1. Run Admin UI project, reference to BotSharp 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

Access http://localhost:5015/

Online Demo with UI

Core Modules

The core module is mainly composed of abstraction and framework function implementation, combined with some common tools.

  • Plugin Loader
  • Hooking
  • Authentication
  • Agent Profile
  • Conversation & State
  • Routing & Planning
  • Templating
  • File Repository
  • Caching
  • Rich Content
  • LLM Provider

Plugins

BotSharp uses component design, the kernel is kept to a minimum, and business functions are implemented by external components. The modular design also allows contributors to better participate. Below are the bulit-in plugins:

Data Storages

  • 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.Plugin.SparkDesk

Messaging / Channel

  • BotSharp.OpenAPI
  • BotSharp.Plugin.ChatHub
  • BotSharp.Plugin.MetaMessenger
  • BotSharp.Plugin.Twilio
  • BotSharp.Plugin.TelegramBots
  • BotSharp.Plugin.WeChat

RAGs

  • BotSharp.Plugin.KnowledgeBase
  • BotSharp.Plugin.Qdrant

Visions

  • BotSharp.Plugin.PaddleSharp

Tools

  • BotSharp.Plugin.Dashboard
  • BotSharp.Plugin.RoutingSpeeder
  • BotSharp.Plugin.WebDriver
  • BotSharp.Plugin.PizzaBot

UIs

  • BotSharp.Plugin.ChatbotUI

Documents

Read the docs: https://botsharp.readthedocs.io?wt.mc_id=AI-MVP-5005183

If you feel that this project is helpful to you, please Star the project, we would be very grateful.

Member project of SciSharp STACK which is the .NET based ecosystem of open-source software for mathematics, science, and engineering.

More Repositories

1

TensorFlow.NET

.NET Standard bindings for Google's TensorFlow for developing, training and deploying Machine Learning models in C# and F#.
C#
3,224
star
2

LLamaSharp

A C#/.NET library to run LLM (🦙LLaMA/LLaVA) on your local device efficiently.
C#
2,508
star
3

NumSharp

High Performance Computation for N-D Tensors in .NET, similar API to NumPy.
C#
1,362
star
4

Numpy.NET

C#/F# bindings for NumPy - a fundamental library for scientific computing, machine learning and AI
C#
685
star
5

Keras.NET

Keras.NET is a high-level neural networks API for C# and F#, with Python Binding and capable of running on top of TensorFlow, CNTK, or Theano.
C#
594
star
6

Pandas.NET

Pandas port for C# and F#, data analysis tool, process multi-dim array in DataFrame.
C#
569
star
7

SiaNet

An easy to use C# deep learning library with CUDA/OpenCL support
C#
380
star
8

SciSharp-Stack-Examples

Practical examples written in SciSharp's machine learning libraries
C#
318
star
9

SharpCV

A Computer Vision library for C# and F# that combines OpenCV and NDArray together in .NET Standard.
C#
292
star
10

Torch.NET

.NET bindings for PyTorch. Machine Learning with C# / F# with Multi-GPU/CPU support
C#
276
star
11

Gym.NET

openai/gym's popular toolkit for developing and comparing reinforcement learning algorithms port to C#.
C#
120
star
12

CherubNLP

Natural Language Processing in .NET Core
C#
114
star
13

SciSharp

SciSharp STACK is focused on building tools for Machine Learning development.
Vue
105
star
14

SciSharpCube

Quickly experience all the latest features of SciSharp Machine Learning tools in docker container.
Jupyter Notebook
95
star
15

BotSharp-UI

Build, test and manage your AI Agents in the central place.
SCSS
82
star
16

ICSharpCore

Jupyter kernel in C# .NET Core which is the standard interface for SciSharp STACK.
C#
76
star
17

Plot.NET

.NET wrapper of plotly.js for ICSharpCore
C#
63
star
18

Bigtree.Algorithm

Machine Learning algorithm library in .NET Core
C#
62
star
19

Tensor.NET

A lightweight and high-performance tensor library which provides numpy-like operations but .NET style interfaces. It supports generic tensor, Linq, C# native slices and so on. (Qushui student project))
C#
59
star
20

Matplotlib.Net

.NET wrapper for the Python plotting library Matplotlib
C#
53
star
21

dotnet-mysql-replication

C# Implementation of MySQL replication client
C#
49
star
22

scikit-learn.net

Machine Learning in .NET Core.
C#
39
star
23

CodeMinion

A code generator framework capable of auto-generating the APIs of several SciSharp libraries.
C#
34
star
24

OpenAIGym.NET

A toolkit for developing and comparing reinforcement learning algorithms.
C#
27
star
25

Ludwig.NET

Ludwig is a toolbox that allows to train and test deep learning models without the need to write code.
C#
26
star
26

SciSharp.Models

Image Classification, Time Series, Transformer, Object Detection
Jupyter Notebook
25
star
27

Microcharts.Matplotlib

Microcharts.Matplotlib is a wrapper of Microcharts for Data Science and Machine Learning
C#
22
star
28

protobuf.Text

Text format support for protobuf
C#
21
star
29

GGMLSharp

Use GGML with C#/.NET
C#
19
star
30

SharpPythonCompiler

A compiler which can transform the convention of C# code to the convention of Python
C#
19
star
31

SpaCy.NET

.NET wrapper of spaCy (Industrial-strength NLP)
18
star
32

tensorflow-net-docs

Tensorflow.NET documentation
C#
16
star
33

unity-ml-agents.net

C#
15
star
34

NumSharp.Lite

NumSharp compact version without full datatype supported.
C#
11
star
35

TensorFlow.NET.OpencvAdapter

A library which enables using tensorflow.net with opencvsharp. It reuses the memory to provide a good performance.
C#
9
star
36

PillowSharp

The friendly PIL fork (Python Imaging Library) in C#.
9
star
37

SciSharpStudio

SciSharp Studio is a web based AI/ ML development tool.
HTML
6
star
38

qdrant-csharp

Qdrant .NET Client
C#
6
star
39

TensorDebuggerVisualizers

The Sheet Viewer, which provides instant view of the contents of the sheet when debugging.
C#
5
star
40

ChillXML

2
star