可用于智能客服的完全开源免费商用的知识库项目

news2024/9/19 10:52:53

介绍

FastWiki项目是一个高性能、基于最新技术栈的知识库系统,专为大规模信息检索和智能搜索设计。利用微软Semantic Kernel进行深度学习和自然语言处理,结合.NET 8和MasaBlazor前端框架,后台采用.NET 8+MasaFramework+SemanticKernel,实现了一个高效、易用、可扩展的智能向量搜索平台。我们的目标是提供一个能够理解和处理复杂查询的智能搜索解决方案,帮助用户快速准确地获取所需信息。

技术栈

  • 前端框架:MasaBlazor通过HttpClient实现前后分离

  • 后端框架:MasaFramework 基于 .NET 8使用MiniApis实现webApi功能,并且更高的性能

  • 向量搜索引擎:使用 PostgreSQL 的向量插件,优化搜索性能

  • 深度学习与NLP:微软Semantic Kernel,提升搜索的语义理解能力

  • 许可证:Apache-2.0,鼓励社区贡献和使用

特点

  • 智能搜索:借助Semantic Kernel的深度学习和自然语言处理技术,能够理解复杂查询,提供精准的搜索结果。

  • 高性能:通过pgsql的向量插件优化向量搜索性能,确保即使在大数据量下也能快速响应。

  • 现代化前端:使用MasaBlazor前端框架,提供响应式设计和用户友好的界面。

  • 强大的后端:基于最新的.NET 8和MasaFramework,确保了代码的高效性和可维护性。

  • 开源和社区驱动:采用Apache-2.0许可证,鼓励开发者和企业使用和贡献。

项目部分截图介绍

添加知识库:

上传我们的文档:

点击上传或将文档推动到此处(暂仅支持md或txt等文本文件后续会支持pdf等格式)

上传我们的文档下面提供我们的文档模板:

# 为什么选择 MASA Blazor?

## Blazor 是什么?

Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架:

- 使用 C# 代替 JavaScript 来创建信息丰富的交互式 UI。
- 共享使用 .NET 编写的服务器端和客户端应用逻辑。
- 将 UI 呈现为 HTML 和 CSS,以支持众多浏览器,其中包括移动浏览器。
- 与新式托管平台(如 Docker)集成。
  使用 .NET 进行客户端 Web 开发可提供以下优势:
- 使用 C# 代替 JavaScript 来编写代码。
- 利用现有的 .NET 库生态系统。
- 在服务器和客户端之间共享应用逻辑。
- 受益于 .NET 的性能、可靠性和安全性。
- 在 Windows、Linux 和 macOS 上使用 Visual Studio 保持高效工作。
- 以一组稳定、功能丰富且易用的通用语言、框架和工具为基础来进行生成。

## MASA Blazor 是什么?

基于Material Design设计和BlazorComponent的交互能力提供标准的基础组件库。提供如布局、弹框标准、Loading、全局异常处理等标准场景的预置组件。从更多实际场景出发,满足更多用户和场景的需求,缩短开发周期,提高开发效率,并提供一整套Web解决方案 - MASA Blazor Pro。

## 为什么选择 MASA Blazor?

MASA Blazor 基于 Material 设计规范,每一个组件都经过精心设计,具有模块化、响应式和优秀的性能。

MASA Blazor 是由一支专业的全职技术团队进行定期维护升级,高效的响应速度,多元化的解决方案,并提供企业级支持。目前已在知名企业使用,且MASA团队自研的MASA Stack产品线也将持续使用,除了可以保证项目质量,还可以持续的增加新的组件和功能。

MASA Stack 除了为开发者提供众多中台类开源项目,其最基础的组成部分之一 MASA Blazor 也希望可以打造成最实用的组件库。

## Masa Blazor和Token有什么关系?

Token是一个01年的.NET程序员,热爱开源,Token经常对于Masa的开源项目进行贡献开源代码,他们的渊源就像是上天指定的一样,Masa Blazor是一个非常不错的开源项目哦。

## 优势:

- 丰富组件:包含Vuetify 1:1还原的基础组件,以及很多实用的预置组件和.Net深度集成功能,包括Url、面包屑、导航三联动,高级搜索,i18n等。
- UI设计语言:设计风格现代,UI 多端体验设计优秀。
- 专业示例:MASA Blazor Pro提供多种常见场景的预设布局。
- 简易上手:丰富详细的上手文档,免费的视频教程(制作中)。
- 社区活跃鼓励:用户参与实时互动,做出贡献加入我们,构建最开放的开源社区。
- 长期支持:全职团队维护,并提供企业级支持。

点击下一步数据处理:

在这里我们提供了直接拆分和问答拆分(暂未实现)

我们修改了自定义处理的参数,这个数值会影响到文档拆分,如果拆分得当回复的效果会更好,如果拆分过大会导致token消耗太大可能导致欠费,然后我们再点击下一步:

在这里我们可以看到所有的需要上传的文件,在这里的步骤是先将文件上传到服务器,然后会将数据添加到后台,并且进行向量化数据,这个过程会比较长具体看文档内容。

上传完成以后列表会显示上传的数据,点击查看可以查看到拆分的文档的所有数据

点击查看详情能看到所有的信息

点击应用->创建应用:

打开应用然后店家选择知识库,将刚刚添加的知识库于当前应用绑定,然后点击保存修改,,这样对话的时候就会搜索绑定的知识库了,在这里我们也可以修改一些应用参数,比如开场白或角色的prompt定义:

然后我们点击聊天,然后输入我们的知识库的内容

问:Masa Blazor和Token有什么关系?

我们可以看到以上知识库的回复效果,如果你是直接提问Gpt的话就不把你知道Token是谁!知识库再一定情况下能弥补AI的欠缺,再比如定制我们的企业文档的时候只需要吧文档全部给知识库然后将应用做成一个对话我们就可以为客户提供一个体验更好的文档小助手,甚至于可以替代非常多的客服人力成本。

文章转载自:tokengo

原文链接:https://www.cnblogs.com/hejiale010426/p/18042409

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

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

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

相关文章

深入理解Java泛型及其在实际编程中的应用

第1章:泛型的起源与重要性 大家好,我是小黑,在Java里,泛型(Generics)是一种不可或缺的特性,它允许咱们在编码时使用类型(Type)作为参数。这听起来可能有点绕&#xff0c…

LeetCode 2581.统计可能的树根数目:换根DP(树形DP)

【LetMeFly】2581.统计可能的树根数目:换根DP(树形DP) 力扣题目链接:https://leetcode.cn/problems/count-number-of-possible-root-nodes/ Alice 有一棵 n 个节点的树,节点编号为 0 到 n - 1 。树用一个长度为 n - 1 的二维整数数组 edges…

文件基础和文件fd

文章目录 预备知识C语言的文件接口系统调用文件fd 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到网站。 预备知识 我们平时说文件就是说文件里…

园区停车管理系统的设计与实现

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一 、设计说明 1.1 选题…

第十四篇【传奇开心果系列】Python的文本和语音相互转换库技术点案例示例:深度解读Azure Cognitive Services个性化推荐系统

传奇开心果博文系列 系列博文目录Python的文本和语音相互转换库技术点案例示例系列 博文目录前言一、个性化推荐系统介绍和关键功能以及优势解说二、雏形示例代码三、个性化推荐示例代码四、实时推荐示例代码五、多种推荐算法示例代码六、易于集成示例代码七、数据安全和隐私保…

minio多版本

minio的多版本是怎么实现的 1、界面上传3次1M文件,可以显示3个版本的 2、在文件名1M目录下会有3个uuid为名的目录 3、其中的xl.meta文件可以使用xl-meta工具解析,这里会记录详细的版本信息 {"Versions": [{"Header": {"Flag…

快速下载Huggingface的大语言模型

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Huggingface是什么?二、基于官方huggingface-cli下载(基础,断线风险)1.安装hf下载环境2.配置环境变量3.注册…

Container killed on request. Exit code is 143

Bug信息 WARN YarnAllocator: Container marked as failed: container_e33_1480922439133_0845_02_000002 on host: hdp4. Exit status: 143. Diagnostics: Container killed on request. Exit code is 143 Container exited with a non-zero exit code 143 Killed by externa…

css 面试 px,rem,em 区别

一、px是决定单位&#xff0c;一旦设置了就无法因为适应页面大小而改变。 二、em和rem 是相对长度单位&#xff0c; 相对于px更具有灵活性&#xff0c;更适用于响应式布局。 三、em是相对于其父元素来设置字体大小的&#xff0c;一般都是以<body>的“font-size”为基准…

Java核心-异常处理

上一次学完了Java的核心类与API&#xff0c;这次来学习异常处理。我们都知道&#xff0c;Java语言具有健壮性和安全性&#xff0c;而异常处理机制就是其重要保证。如下 一、类型 错误(Error)和异常(Exception)。这里只讨论 Exception 类型的异常处理。 1、错误(Error) Err…

浏览器卡顿解决办法 —— DNS设置

1.Windows - 设置 2.网络和Internet 3.以太网 - 更改适配器选项 4.点击你现在用的网络 (WLAN或以太网)&#xff0c;右键属性 5.双击IPv4协议&#xff0c;DNS地址首选114.114.114.114 南京信风网络科技有限公司&#xff0c;成立于2000年&#xff0c;是一家位于中国南京的高…

LeetCode215.数组中的第K个最大元素

题目 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 输入: [3,2,1,5,6,4], …

基于springboot + vue实现的前后端分离-在线旅游网站系统(项目 + 论文)

项目介绍 本旅游网站系统采用的数据库是MYSQL &#xff0c;使用 JSP 技术开发&#xff0c;在设计过程中&#xff0c;充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。 技术选型 后端: SpringBoot Mybatis 数据库 : MyS…

大模型日报|今日必读的6篇大模型论文

大家好&#xff0c;今日必读的大模型论文来啦&#xff01; 1.中科院、国科大新研究&#xff1a;进行自我感知、更接近人类的AI “机器能思考吗&#xff1f;”这个问题和评估机器是否能达到人类智能水平的图灵测试&#xff0c;是人工智能&#xff08;AI&#xff09;的核心问题…

Stable Diffusion 模型分享:Realistic Stock Photo(真实的库存照片)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 条目内容类型大模型基础模型SDXL 1.0来源CIVITAI作者PromptSharingSamaritan文件名称reali…

java 获取package下的所有类名

1、获取指定包的路劲 2、根据路劲获取所有实体类的.class文件 3、我们使用ClassLoader来获取资源的URL&#xff0c;然后根据URL获取对应的文件夹。最后&#xff0c;我们使用过滤器来筛选出所有以".class"结尾的文件 获取entity包下所有的实体进行映射 1.包的路劲…

android程序员面试笔试宝典,Android开发社招面试总结

部分面试常问的面试专题 一、Java篇 1.多线程并发&#xff1b; sleep 和 wait 区别join 的用法线程同步&#xff1a;synchronized 关键字等线程通信线程池手写死锁 2.Java 中的引用方式&#xff0c;及各自的使用场景 3.HashMap 的源码 4.GC(垃圾回收)是什么&#xff1f;如何…

浅谈 Linux 网络编程 - Server 端模型、sockaddr、sockaddr_in 结构体

文章目录 前言前置知识Server 端核心模型 【重点】相关函数 【重点】socket 函数bind 函数listen 函数accept 函数close 函数 sockaddr 数据结构 【重点】 前言 本文主要是对 Linux 网络编程中&#xff0c;Server 端的模型、相关函数 以及 sockaddr、sockaddr_in 结构体做介绍…

用node写后端环境运行时报错Port 3000 is already in use

解决方法:关闭之前运行的3000端口,操作如下 1.WindowR输入cmd确定,打开命令面板 2.查看本机端口详情 netstat -ano|findstr "3000" 3.清除3000端口 taskkill -pid 41640 -f 最后再重新npm start即可,这里要看你自己项目中package.joson的启动命令是什…

VBA_MF系列技术资料1-390

MF系列VBA技术资料1-390 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-0…