自由的羽毛 发表于 2024-5-13 01:23:28

从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-api
    container_name: one-api
    restart: always
    ports:
      - "3000:3000"
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - ./data/one-api:/data我们使用最轻量级的Sqlite版本,启动容器以后打开欣赏器访问:http://localhost:3000/
登录体系,默认账号为 root,密码为 123456。

[*]添加渠道

[*]https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172145196-361709025.png

[*]添加星火大模子的渠道

[*]https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172139705-643936876.png

[*]获取星火大模子的密钥

[*]控制台-讯飞开放平台 (xfyun.cn) 在这里申请一个应用和产物,3.5个人用户可以免费领取200万的Token对于测试根本是够用的

[*]获取到密钥 安装APPID|APISecret|APIKey的格式填写到上面One-Api的密钥当中即可,
https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172132189-46144283.png
[*]创建One-Api的Token,设置无限额度,然后点击提交。

[*]https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172127132-1137422399.png

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

[*]https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172121390-2050776252.png

下载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-service
    container_name: fast-wiki-service
    user: root
    restart: always
    ports:
      - "8080:8080"
    build:
      context: .
      dockerfile: ./src/Service/FastWiki.Service/Dockerfile
    volumes:
      - ./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-CpKIlADEESeOdoXnF58e72A2C8Af4e0c8b52Eb6eE7116c7a

postgres: # 当前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-server
    container_name: fast-wiki-server
    restart: always
    ports:
      - "2180:8080"
    build:
      context: .
      dockerfile: ./src/Web/FastWiki.Web.Server/Dockerfile
    environment:
      - FAST_WIKI_SERVICE=http://知识库api的ip:8080
    volumes:
      - ./model.json:/app/model.jsonFastWikiService环境变量参数:

[*]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
https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172110362-2015065168.png
https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172106781-2127351630.png

[*]点击知识库->创建知识库 点击添加。

[*]https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172102890-694836805.png

[*]点击创建的知识库:

[*]https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172057927-1258808341.png

[*]点击导入文件
https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172052451-443509601.png
[*]拖动需要上传的.md/.pdf/.txt的文件到这里,然后点击下一步,一直到上传数据,

[*]https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172049174-1591477527.png

[*]上传数据,点击上传,上传完成关闭弹窗。

[*]https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172043654-585198928.png

[*]数据上传以后服务会在后台进行量化,期待上传完成以后点击应用,然后创建应用

[*]https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172039579-336625934.png

[*]创建应用,然后打开创建的应用
1.https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172030809-72971319.png
[*]绑定知识库,点击选择知识库然后点击需要绑定的知识库,在关闭弹窗,然后点击保存修改即可。https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172026768-1239159569.png
[*]修改电话基础模子,修改为添加的SparkDesk-v3.5然后点击保存修改即可

[*]https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172022153-1608221627.png

[*]打开聊天然后提问上传的文档的内容,如许就可以针对性规范AI了,还可以设置超出知识库返回的时候回复内容!
https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172016632-1606281871.png
开源地址

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
知识库微信交换群加:
https://img2024.cnblogs.com/blog/2415052/202403/2415052-20240305172009740-1528517885.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 从0开始入门智能知识库和星火大模子,打造AI客服。