中文|[English](https://github.com/AIDotNet/AntSK/blob/main/README.en.md)
# AntSK
## 使用.Net8+Blazor+SemanticKernel 打造的AI知识库/智能体
## ⭐核心功能
- **语义内核 (Semantic Kernel)**:采用领先的自然语言处理技术,准确理解、处理和响应复杂的语义查询,为用户提供精确的信息检索和推荐服务。
- **内存内核 (Kernel Memory)**:具备持续学习和存储知识点的能力,AntSK 拥有长期记忆功能,累积经验,提供更个性化的交互体验。
- **知识库**:通过文档(Word、PDF、Excel、Txt、Markdown、Json、PPT)等形式导入知识库,可以进行知识库问答,支持本地bge-embedding 向量模型 ,以及bge-rerank 重排模型。
- **文生图**:集成**StableDiffusion** 本地模型,可以进行文生图。
- **GPTs 生成**:此平台支持创建个性化的GPT模型,尝试构建您自己的GPT模型。
- **API接口发布**:将内部功能以API的形式对外提供,便于开发者将AntSK 集成进其他应用,增强应用智慧。
- **API插件系统**:开放式API插件系统,允许第三方开发者或服务商轻松将其服务集成到AntSK,不断增强应用功能。
- **.Net插件系统**:开放式dll插件系统,允许第三方开发者或服务商轻松将其业务功能通过标准格式的代码生成dll后集成到AntSK,不断增强应用功能。
- **联网搜索**:AntSK,实时获取最新信息,确保用户接受到的资料总是最及时、最相关的。
- **模型管理**:适配和管理集成不同厂商的不同模型。并且支持**llama.cpp**所支持的gguf类型,以及**llamafactory**所支持的模型离线运行
- **国产信创**:AntSK支持国产模型,和国产数据库,可以在信创条件下运行
- **模型微调**:规划中,基于llamafactory进行模型微调
## ⛪应用场景
AntSK 适用于多种业务场景,例如:
- 企业级知识管理系统
- 自动客服与聊天机器人
- 企业级搜索引擎
- 个性化推荐系统
- 智能辅助写作
- 教育与在线学习平台
- 其他有意思的AI App
## ✏️功能示例
### 在线演示
[文档地址](http://antsk.cn/)
[体验地址](https://antsk.ai-dotnet.com/)
```
默认账号:test
默认密码:test
由于云服务器配置较低,无法运行本地模型,所以把系统设置权限关闭了,大家看看界面即可,要使用本地模型,请下载自行使用
请勿在演示站点上传敏感信息
```
### 其他功能示例
[视频示例](https://www.bilibili.com/video/BV1zH4y1h7Y9/)
[在线文档:http://antsk.cn](http://antsk.cn)
## ❓如何开始?
在这里我使用的是Postgres 作为数据存储和向量存储,因为Semantic Kernel和Kernel Memory都支持他,当然你也可以换成其他的。
模型默认支持openai、azure openai、讯飞星火、阿里云积、 和llama支持的gguf本地模型 以及llamafactory的本地模型,如果需要使用其他模型,可以使用one-api进行集成。
配置文件中的Login配置是默认的登录账号和密码
需要配置如下的配置文件
## 1️⃣使用docker-compose
提供了pg版本 **appsettings.json** 和 简化版本(**Sqlite+disk**) **docker-compose.simple.yml**
从项目根目录下载**docker-compose.yml**,然后把配置文件**appsettings.json**和它放在统一目录,
这里已经把pg的镜像做好了。在docker-compose.yml中可以修改默认账号密码,然后你的**appsettings.json**的数据库连接需要保持一致。
然后你可以进入到目录后执行
```
docker-compose up -d
```
来启动AntSK
## 2️⃣如何在docker中挂载本地模型,和模型下载的目录
```
# 非 host 版本, 不使用本机代理
version: '3.8'
services:
antsk:
container_name: antsk
image: registry.cn-hangzhou.aliyuncs.com/AIDotNet/antsk:v0.3.1
ports:
- 5000:5000
networks:
- antsk
depends_on:
- antskpg
restart: always
environment:
- ASPNETCORE_URLS=http://*:5000
volumes:
- ./appsettings.json:/app/appsettings.json # 本地配置文件 需要放在同级目录
- D://model:/app/model
- D://model:/root/.cache/modelscope/hub/AI-ModelScope #使用Llamafactory时需要挂载 否则初始化的环境重启后会丢失
networks:
antsk:
```
以这个为示例,意思是把windows本地D://model的文件夹挂载进 容器内/app/model 如果是这样你的appsettings.json中的模型地址应该配置为
```
model/xxx.gguf
```
## 3️⃣配置文件的一些含义
```
{
"DBConnection": {
"DbType": "Sqlite",
"ConnectionStrings": "Data Source=AntSK.db;"
},
"KernelMemory": {
"VectorDb": "Disk",
"ConnectionString": "Host=;Port=;Database=antsk;Username=;Password=",
"TableNamePrefix": "km-"
},
"LLamaSharp": {
"RunType": "GPU",
"FileDirectory": "D:\\Code\\AI\\AntBlazor\\model\\"
},
"Login": {
"User": "admin",
"Password": "xuzeyu"
},
"BackgroundTaskBroker": {
"ImportKMSTask": {
"WorkerCount": 1
}
}
}
```
```
//支持多种数据库,具体可以查看SqlSugar,MySql,SqlServer,Sqlite,Oracle,PostgreSQL,Dm,Kdbndp,Oscar,MySqlConnector,Access,OpenGauss,QuestDB,HG,ClickHouse,GBase,Odbc,OceanBaseForOracle,TDengine,GaussDB,OceanBase,Tidb,Vastbase,PolarDB,Custom
DBConnection.DbType
//连接字符串,需要根据不同DB类型,用对应的字符串
DBConnection.ConnectionStrings
//向量存储的类型,支持 Postgres、Disk、Memory、Qdrant、Redis、AzureAISearch
//Postgres、Redis需要配置 ConnectionString
//Qdrant 和AzureAISearch 的 ConnectionString 使用 Endpoint|APIKey
KernelMemory.VectorDb
//本地模型使用的运行方式 GUP CPU ,如果用在线API 这个随意使用一个即可
LLamaSharp.RunType
//本地模型路径,用于在选择llama时可以快速选择目录下的模型,以及保存下载的模型
LLamaSharp.FileDirectory
//默认管理员账号密码
Login
//导入异步处理的线程数,使用在线API可以高一点,本地模型建议1 否则容易内存溢出崩掉
BackgroundTaskBroker.ImportKMSTask.WorkerCount
```
## ⚠️找不到样式问题解决:
AntSK/src/AntSK下执行:
```
dotnet clean
dotnet build
dotnet publish "AntSK.csproj"
```
再去AntSK/src/AntSK/bin/Release/net8.0/publish下
```
dotnet AntSK.dll
```
然后启动就有样式了
DB我使用的是CodeFirst模式,只要配置好数据库链接,表结构是自动创建的
## ✔️使用llamafactory
```
1、首先需要确保你的环境已经安装了python和pip,如果使用镜像,例如p0.2.4版本已经包含了 python全套环境则无需此步骤
2、进入模型添加页面选择llamafactory
3、点击初始化,可以检查pip install 环境是否完成
4、选择一个喜欢的模型
5、点击启动,这会开始从魔塔下载模型,你可能需要有一个较为漫长的等待
6、等待模型下载完毕后,在请求地址输入 http://localhost:8000/ 这里默认是使用8000端口
7、点击保存,然后就可以开始聊天了
8、很多人会问 LLamaSharp与llamafactory有什么区别?其实这两者LLamaSharp是llama.cpp的 dotnet实现,但是只支持本地gguf模型, 而llamafactory 支持的模型种类更多,但使用的是python的实现,其主要差异在这里,另外llamafactory具有模型微调的能力,这也是我们下一步需要重点集成的部分。
```
## 🤝 贡献
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/AIDotNet/AntSK/pulls)
如果你想贡献,可以创建一个[拉取请求](https://github.com/AIDotNet/AntSK/pulls), 或给我们[错误报告](https://github.com/AIDotNet/AntSK/issues/new).
## 💕 贡献者
这个项目的存在要感谢所有的贡献者。
<a href="https://github.com/AIDotNet/AntSK/g
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于.Net8+AntBlazor+SemanticKernel 和KernelMemory 打造的AI知识库/智能体,支持本地离线AI大模型。可以不联网离线运行 核心功能 语义内核 (Semantic Kernel):采用领先的自然语言处理技术,准确理解、处理和响应复杂的语义查询,为用户提供精确的信息检索和推荐服务。 内存内核 (Kernel Memory):具备持续学习和存储知识点的能力,AntSK 拥有长期记忆功能,累积经验,提供更个性化的交互体验。 知识库:通过文档(Word、PDF、Excel、Txt、Markdown、Json、PPT)等形式导入知识库,可以进行知识库问答,支持本地bge-embedding 向量模型 ,以及bge-rerank 重排模型。 文生图:集成StableDiffusion 本地模型,可以进行文生图。 GPTs 生成:此平台支持创建个性化的GPT模型,尝试构建您自己的GPT模型。 API接口发布:将内部功能以API的形式对外提供,便于开发者将AntSK 集成进其他应用,增强应用智慧。 API插件系统:开放式API插件系统,允许第三方开发
资源推荐
资源详情
资源评论
收起资源包目录
基于.Net8+AntBlazor+SemanticKernel 和KernelMemory 打造的AI知识库/智能体 (428个子文件)
ExeclHelper.cs 37KB
Repository.cs 17KB
KMService.cs 16KB
ChatService.cs 15KB
KernelService.cs 15KB
ChatView.razor.cs 14KB
XmlCommentHelper.cs 14KB
AddModel.razor.cs 13KB
OpenApiService.cs 12KB
SparkDeskChatCompletion.cs 10KB
SDHelper.cs 10KB
KmsDetail.razor.cs 9KB
SparkDeskTextCompletion.cs 9KB
QAHandler.cs 8KB
ImportKMSService.cs 8KB
KMExcelHandler.cs 7KB
ConvertUtils.cs 7KB
InitExtensions.cs 7KB
LLamaFactoryService.cs 6KB
DelegateBackgroundTaskBroker.cs 6KB
BackgroundTaskBroker.cs 6KB
AddApp.razor.cs 5KB
FunctionService.cs 5KB
Native.cs 5KB
Structs.cs 5KB
FunList.razor.cs 4KB
RightContent.razor.cs 4KB
Program.cs 4KB
IRepository.cs 4KB
BgeEmbeddingConfig.cs 4KB
OpenAIHttpClientHandler.cs 4KB
AntSKAuthProvider.cs 3KB
KMSController.cs 3KB
AppOpen.razor.cs 3KB
KmsList.razor.cs 3KB
ModelDown.razor.cs 3KB
AddKms.razor.cs 3KB
Apps.cs 3KB
BackgroundTaskBrokerServiceCollectionExtensions.cs 3KB
Index.Razor.cs 3KB
ModelList.razor.cs 3KB
AddUser.razor.cs 2KB
BegRerankConfig.cs 2KB
ModelDownDetail.razor.cs 2KB
MockChatCompletion.cs 2KB
MockTextCompletion.cs 2KB
DependencyInjection.cs 2KB
FileController.cs 2KB
ProcessWrapper.cs 2KB
AppList.razor.cs 2KB
AddApi.razor.cs 2KB
UserList.razor.cs 2KB
ApiList.razor.cs 2KB
DateTimeExtension.cs 2KB
BackgroundTaskHostedService.cs 2KB
AntSKOcrEngine.cs 2KB
OpenAIResult.cs 2KB
HuggingfaceTextEmbeddingGenerator.cs 2KB
LLamaConfig.cs 2KB
RepoFiles.cs 2KB
Apis.cs 2KB
LLMFactoryTextCompletion.cs 2KB
Kmss.cs 2KB
SqlSugarHelper.cs 2KB
ProjectService.cs 1KB
FormModel.cs 1KB
ChartService.cs 1KB
ListItemDataType.cs 1KB
UserInfo.razor.cs 1KB
AIModels.cs 1KB
HfModel.cs 1KB
BackGroundTaskHandler.cs 1KB
CurrentUser.cs 1KB
LayoutModel.cs 1KB
ImageUtils.cs 1KB
KmsConstantcs.cs 1KB
DateTimeConverter.cs 1KB
KmsDetails.cs 1KB
KmsDetailList.razor.cs 1KB
Chats.cs 1KB
Chat.razor.cs 1KB
AIModelType.cs 1021B
ProfileService.cs 998B
AuthComponentBase.cs 950B
Users.cs 912B
FunctionTest.cs 905B
ImportKMSTaskReq.cs 889B
MapperExtend.cs 879B
AccountService.cs 871B
StableDiffusionEventArgs.cs 849B
Login.razor.cs 848B
IChatService.cs 833B
LongToDateTimeConverter.cs 797B
MapperRegister.cs 786B
Advanced.razor.cs 742B
UserService.cs 736B
TestFunctionImport.cs 731B
OpenController.cs 726B
HttpService.cs 711B
ServiceDescriptionAttribute.cs 700B
共 428 条
- 1
- 2
- 3
- 4
- 5
资源评论
hakesashou
- 粉丝: 6768
- 资源: 1679
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于深度学习的所有权分心驾驶(行为疲劳+行为危险)预警系统采用YOLOv5+Deepsort实现所有权的危险驾驶行为的预警监测.zip
- 411jsp心理健康测试咨询网站毕业课程源码设计+论文资料
- 基于yolo的csgo AI.zip
- 基于javaWeb实现学生选课管理系统源码+数据库文件+文档说明
- 安卓逆向分析工具集合:包含baksmali-2.5.2.jar、classes-dex2jar.jar、jadx-gui-1.2.0-no-jre-win.exe
- 基于JavaWeb的大学生选课管理系统源码+数据库(毕业设计项目)
- 基于yolov7的姿势检测.zip
- java毕业设计-基于SSM的公租房维保系统【代码+论文+PPT】
- 基于yolov5识别算法实现的DNF自动脚本.zip
- 410asp电子政务网站设计毕业课程源码设计+论文资料+开题报告+答辩ppt资料全
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功