从0开始入门智能知识库和星火大模型,打造AI客服。

介绍FastWiki

FastWiki是一个高性能、基于最新技术栈的知识库系统,旨在为大规模信息检索和智能搜索提供解决方案。它采用微软Semantic Kernel进行深度学习和自然语言处理,在后端使用MasaFramework,前端采用MasaBlazor框架,实现了一个高效、易用、可扩展的智能向量搜索平台。其目标是帮助用户快速准确地获取所需信息,具有智能搜索、高性能、现代化前端、强大的后端等特点。除此之外,FastWiki是开源和社区驱动的项目,采用Apache-2.0许可证,鼓励开发者和企业使用和贡献。

部署FastWiki

下面部署FastWiki将使用docker-compose进行部署,如果不存在环境则先安装docker和docker-compose的环境,由于postgresql需要使用向量插件,自己打包向量插件会过于麻烦,所以FastWiki提供了一键docker-compose的文件,内部提供的postgresql自带了vector插件了,我们只需要执行脚本即可

部署One-Api

One-Api是干什么的:

  • One-Api用于AI的中转站,由于大部分的AI工具仅支持openai的api格式,但是国内的AI的接口格式五花八门,所以我们需要通过One-Api将国内的AI转换成openai的接口格式下面我们开始部署我们的One-Api

将下面的内容复制到一个docker-compose.yml文件中

version: '3.8'
services:one-api:image: justsong/one-apicontainer_name: one-apirestart: alwaysports:- "3000:3000"environment:- TZ=Asia/Shanghaivolumes:- ./data/one-api:/data

我们使用最轻量级的Sqlite版本,启动容器以后打开浏览器访问:http://localhost:3000/

登录系统,默认账号为 root,密码为 123456

  1. 添加渠道

  2. 添加星火大模型的渠道

  3. 获取星火大模型的密钥

    1. 控制台-讯飞开放平台 (xfyun.cn) 在这里申请一个应用和产品,3.5个人用户可以免费领取200万的Token对于测试基本是够用的
  4. 获取到密钥 安装APPID|APISecret|APIKey的格式填写到上面One-Api的密钥当中即可,

  5. 创建One-Api的Token,设置无限额度,然后点击提交。

  6. 点击复制key,然后将key修改下面的compose文件中的OPENAI_CHAT_TOKEN的环境变量的值,OPENAI_CHAT_ENDPOINT的地址则修改成fast-wiki-service能访问的地址,比如你局域网的ip加端口 OPENAI_CHAT_ENDPOINT=http://ip:端口 这样即可。

下载docker-compose.yml

curl -o docker-compose.yml https://raw.githubusercontent.com/239573049/fast-wiki/master/docker-compose.yml

然后打开下载的docker-compose.yml文件,知识库依赖了第三方服务所以不能直接运行,需要修改部分参数。

version: '3.8'  # 可以根据需要使用不同的版本
services:fast-wiki-service:image: registry.cn-shenzhen.aliyuncs.com/fast-wiki/fast-wiki-servicecontainer_name: fast-wiki-serviceuser: rootrestart: alwaysports:- "8080:8080"build: context: .dockerfile: ./src/Service/FastWiki.Service/Dockerfilevolumes:- ./wwwroot:/app/wwwroot/environment:- OPENAI_CHAT_ENDPOINT=https://api.openai.com- OPENAI_CHAT_EMBEDDING_ENDPOINT=https://ai-api.token-ai.cn/- OPENAI_CHAT_TOKEN={您的TokenKey}- OPENAI_CHAT_MODEL=gpt-3.5-turbo- OPENAI_EMBEDDING_MODEL=text-embedding-3-small- ASPNETCORE_ENVIRONMENT=Development- OPENAI_EMBEDDING_TOKEN=sk-CpKIlADEESeOdoXnF58e72A2C8Af4e0c8b52Eb6eE7116c7apostgres: # 当前compose服务名image: registry.cn-shenzhen.aliyuncs.com/fast-wiki/pgvector:v0.5.0 # 拉取的数据库镜像container_name: postgres  # 容器运行的容器名称restart: always  # 开机自启动environment:  # 环境变量POSTGRES_USER: token  # 默认账号POSTGRES_PASSWORD: dd666666 # 默认密码POSTGRES_DB: wiki # 默认数据库TZ: Asia/Shanghai  # 数据库时区volumes:- ./postgresql:/var/lib/postgresql/data # 将PostgreSql数据持久化fast-wiki-server:image: registry.cn-shenzhen.aliyuncs.com/fast-wiki/fast-wiki-servercontainer_name: fast-wiki-serverrestart: always ports:- "2180:8080"build: context: .dockerfile: ./src/Web/FastWiki.Web.Server/Dockerfileenvironment:- FAST_WIKI_SERVICE=http://知识库api的ip:8080 volumes:- ./model.json:/app/model.json

FastWikiService环境变量参数:

  • QUANTIZE_MAX_TASK:量化任务的最大并发数,默认为3
  • OPENAI_CHAT_ENDPOINT:OpenAI API的地址
  • OPENAI_CHAT_EMBEDDING_ENDPOINT: Embedding API的地址
  • OPENAI_CHAT_TOKEN: OpenAI API的Token
  • OPENAI_CHAT_MODEL: 对话的模型,默认gpt-3.5-turbo
  • OPENAI_EMBEDDING_MODEL: Embedding的模型,默认text-embedding-3-small
  • OPENAI_EMBEDDING_TOKEN: Embedding的Token, 默认为空,为空则使用对话的Token

FastWiki.Web.Server环境变量参数:

  • FAST_WIKI_SERVICE:FastWikiService的地址,默认为http://localhost:5124

请注意FAST_WIKI_SERVICE环境变量一定是得外网能访问到的地址,否则在回复知识库内容的时候会导致引用的文件出现404.

FastWiki为你提供了免费的向量Api,这个地址和token仅支持向量(并且对于ip进行限流)。

创建自定义模型的json以便支持国产模型,文件需要于docker-compose.yml同级:

model.json

{"ChatModel": [{"label": "gpt-3.5-turbo","value": "gpt-3.5-turbo"},{"label": "gpt-4-0125-preview","value": "gpt-4-0125-preview"},{"label": "gpt-4-1106-preview","value": "gpt-4-1106-preview"},{"label": "gpt-4-1106-vision-preview","value": "gpt-4-1106-vision-preview"},{"label": "gpt-4","value": "gpt-4"},{"label": "gpt-4-32k","value": "gpt-4-32k"},{"label": "gpt-3.5-turbo-0125","value": "gpt-3.5-turbo-0125"},{"label": "SparkDesk-v3.5","value": "SparkDesk-v3.5"}],"EmbeddingModel": [{"label": "text-embedding-3-small","value": "text-embedding-3-small"}]
}

SparkDesk-v3.5则是星火大模型。

上面文件创建好了以后执行,然后就可以访问http://localhost:2180/

docker-compose up -d

登录系统默认账号admin密码Aa123456

  1. 点击知识库->创建知识库 点击添加。

  2. 点击创建的知识库:

  3. 点击导入文件

  4. 拖动需要上传的.md/.pdf/.txt的文件到这里,然后点击下一步,一直到上传数据,

  5. 上传数据,点击上传,上传完成关闭弹窗。

  6. 数据上传以后服务会在后台进行量化,等待上传完成以后点击应用,然后创建应用

  7. 创建应用,然后打开创建的应用
    1.

  8. 绑定知识库,点击选择知识库然后点击需要绑定的知识库,在关闭弹窗,然后点击保存修改即可。

  9. 修改电话基础模型,修改为添加的SparkDesk-v3.5然后点击保存修改即可

  10. 打开聊天然后提问上传的文档的内容,这样就可以针对性规范AI了,还可以设置超出知识库返回的时候回复内容!

开源地址

Github: https://github.com/239573049/fast-wiki

Gitee: https://gitee.com/hejiale010426/fast-wiki

在线文档:https://docs.token-ai.cn/

体验地址:https://chat.token-ai.cn/chat/share-chat?id=939b3ad2f853422db0d781bcb19a8bf1

知识库微信交流群加:

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

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

相关文章

Swing程序设计(11)动作事件监听器,焦点事件监听器

文章目录 前言一、事件监听器是什么?二、详细展开 1.动作事件监听器2.焦点事件监听器总结 前言 如果你是坚持从Swing程序第一篇看到了这里,恭喜你,Swing程序设计简单地落下了帷幕,关于Swing程序更深的了解,可以自行学习…

MySQL性能优化-范式设计和反范式设计

范式化设计 范式化设计背景 范式是数据表设计的基本原则,又很容易被忽略。很多时候,当数据库运行了一段时间之后,我们才发现数据表设计得有问题。重新调整数据表的结构,就需要做数据迁移,还有可能影响程序的业务逻辑…

【Axure高保真原型】输入宽高控制图片尺寸

今天和大家分享输入图片宽高控制图片尺寸的原型模板,在输入框里输入图片的宽和高,图片会自动设置成对应数值的尺寸,包括了按比例或者自由设置两种方式,具体效果可以观看下方视频或者打开预览地址体验。 【原型效果】 【Axure高保…

数据库SQLite

1.简单创建一个数据库和删除一个数据库 <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:orientation"vertical">&l…

wordpress外贸独立站

WordPress外贸电商主题 简洁实用的wordpress外贸电商主题&#xff0c;适合做外贸跨境的电商公司官网使用。 https://www.jianzhanpress.com/?p5025 华强北面3C数码WordPress外贸模板 电脑周边、3C数码产品行业的官方网站使用&#xff0c;用WordPress外贸模板快速搭建外贸网…

Windows Media Player (Win10)

Windows Media Player &#xff08;Win10&#xff09;服务器运行失败 先关闭掉【Windows Media Player】组件&#xff0c;但是要重启计算机 重启计算机后&#xff0c;再开启【Windows Media Player】组件√起来 可以使用了&#xff01;&#xff01;&#xff01;

前缀和和差分以及练习题目

蓝桥杯备赛系列 倒计时50天&#xff01; 前缀和和差分 知识点 前缀和数组&#xff1a; 假设原数组用a[i]表示&#xff0c;前缀和数组用sum[i]表示&#xff0c;那么sum[i]表示的是原数组前i项之和&#xff0c;注意一般用前缀和数组时&#xff0c;原数组a[i]的有效下标是从1开…

最强照片AI无损放大工具

使用人工智能的能力来放大图像&#xff0c;同时为惊人的结果添加自然的细节。 使用深度学习技术&#xff0c;A.I.GigaPixEL可以放大图像并填满其他调整大小的产品所遗漏的细节。 下载地址&#xff1a;最强照片AI无损放大工具.zip

太阳能供电井盖-物联网智能井盖监测系统-旭华智能

在这个日新月异的科技时代&#xff0c;城市的每一个角落都在悄然发生变化。而在这场城市升级的浪潮中&#xff0c;智能井盖以其前瞻性的科技应用和卓越的安全性能&#xff0c;正悄然崭露头角&#xff0c;变身马路上的智能“眼睛”&#xff0c;守护城市安全。 传统的井盖监测系统…

展示模型展台的高度一般为多少---模大狮模型网

展示模型展台的高度一般取决于多个因素&#xff0c;包括展示物品的大小、展台的设计风格、展览场地的限制等。一般来说&#xff0c;展示模型展台的高度可以根据以下几点考虑&#xff1a; 展示物品的大小&#xff1a;如果展示物品比较大或需要竖立展示&#xff0c;展台的高度可能…

【学位论文】上海交通大学 研究生学位论文 本地保存

上海交大研究生学位论文网&#xff1a;http://thesis.lib.sjtu.edu.cn/ &#xff08;只能校内访问或SJTU VPN访问&#xff09; 如果希望下载论文&#xff0c;需要参考&#xff1a;https://github.com/olixu/SJTU_Thesis_Crawler 安装过程 安装过程的几个坑&#xff1a; &a…

【Redis】RedisTemplate和StringRedisTemplate的区别

两者的关系是 StringRedisTemplate 继承 RedisTemplate 。 两者的数据是不共通的&#xff1a;也就是说 StringRedisTemplate 只能管理 StringRedisTemplate 里面的数据&#xff0c;RedisTemplate 只能管理 RedisTemplate 中的数据。 RedisTemplate 看这个类的名字后缀是 Temp…

Cesium实战三:飞行航线动画

飞行航线追踪 可视化从旧金山到哥本哈根的真实航班。 1、获取点位数据&#xff1a;构建飞行跟踪器 – Cesium (cesium.com) 2、在地图上添加飞行点位&#xff1a;循环遍历点位数据&#xff0c;利用Entity直接添加点至地图上。 //添加飞行点位 const addFlightPoint () >…

彻底搞懂CPU特权级

程序员在用户程序开发过程中,会遇到两个基本概念即用户态和内核态&#xff0c;我们所说的模式切换&#xff0c;就是用户态和内核态之间的切换。 用户态和内核态其实是CPU的特权级&#xff0c;所以模式的切换就是CPU特权级的切换&#xff0c;模式等同于特权级&#xff0c;不同的…

Cesium 问题:[Violation]‘requestAnimationFrame‘ handler took 58ms

文章目录 问题分析解决问题 Cesium 在引入页面后,控制台弹出提示信息: [Violation]requestAnimationFrame handler took 58ms分析 这个警告信息表明使用 requestAnimationFrame 方法时,其处理函数执行所需的时间超过了一定阈值,从而触发了警告。requestAnimationFrame 方…

Java+SpringBoot:制造企业质量管理的双引擎

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…

mysql高可用架构设计

一、主从架构 主从架构一般如下所示 这里从节点一般设置成只读&#xff08;readonly&#xff09;模式。这样做&#xff0c;有以下几个考虑&#xff1a; 有时候一些运营类的查询语句会被放到备库上去查&#xff0c;设置为只读可以防止误操作&#xff1b; 防止切换逻辑有 bug&a…

Linux——进程池

Linux——进程池 池化技术进程池信道模拟任务进程退出一个bug 今天我们来学习一下管道的应用——进程池。如果有没看过上一篇管道的小伙伴可以点击这里&#xff1a; https://blog.csdn.net/qq_67693066/article/details/136371517 池化技术 我们首先要了解一下池化技术&#x…

StarRocks实战——特来电StarRocks应用实践

目录 一、为何引入StarRocks 二、主要应用场景 三、封装或扩展 四、集群监控预警 五、总结规划展望 5.1 使用经验分享 5.2 下一步计划 5.2.1 StarRocks集群自动安装 5.2.2 StarRocks集群高可用架构 原文大佬的这篇StarRocks应用实践有借鉴意义&#xff0c;这里摘抄下来…

Socket网络编程(三)——TCP快速入门

目录 概述TCP连接可靠性1. 三次握手过程2. 四次挥手过程3. 为什么挥手需要四次&#xff1f; 传输可靠性TCP核心APITCP传输初始化配置&建立连接客户端创建Socket建立连接服务端创建ServerSocket监听连接ServerSocket 和 Socket的关系 Socket基本数据类型传输客户端数据传输服…