首页 > 其他分享 >从0开始入门智能知识库和星火大模型,打造AI客服。

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

时间:2024-03-05 17:33:37浏览次数:24  
标签:wiki compose AI 知识库 fast 星火 gpt OPENAI

介绍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

  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-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.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环境变量一定是得外网能访问到的地址,否则在回复知识库内容的时候会导致引用的文件出现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

知识库微信交流群加:

标签:wiki,compose,AI,知识库,fast,星火,gpt,OPENAI
From: https://www.cnblogs.com/hejiale010426/p/18054498

相关文章

  • 文心一言 VS 讯飞星火 VS chatgpt (208)-- 算法导论15.4 5题
    五、设计一个O($n^2$)时间的算法,求一个n个数的序列的最长单调递增子序列。要写代码的时候,请用go语言。文心一言,抛panic:在Go语言中设计一个O(n^2)时间复杂度的算法来求一个n个数的序列的最长单调递增子序列(LongestIncreasingSubsequence,LIS)可以使用动态规划的方法......
  • AI应用开发之路-准备:发起一个开源小项目 DashScope SDK for .NET
    今年我们有一个眼高手低的计划,打算基于SemanticKernel+DashScope(阿里云模型服务灵积)+Qwen(通义千问大模型),结合园子已有的产品与应用场景,开发面向开发者的AI应用,并将整个过程与大家分享。目前处于准备阶段,这篇博文分享的是遇到的第一个问题,并由此发起一个小开源项目......
  • 使用 explain 索引优化(转)
    使用explain索引优化(转)原文:https://mp.weixin.qq.com/s?__biz=MzkwNjMwMTgzMQ==&mid=2247490262&idx=1&sn=a67f610afa984ecca130a54a3be453ab&source=41#wechat_redirect1、前言对于互联网公司来说,随着用户量和数据量的不断增加,慢查询是无法避免的问题。一般情况下如果出现慢......
  • AI蠕虫是一种虚构的概念,结合了人工智能(AI)和计算机病毒蠕虫(worm)两个概念
     AI蠕虫是一种虚构的概念,结合了人工智能(AI)和计算机病毒蠕虫(worm)两个概念。在现实中,并没有被证实存在真正的AI蠕虫。AI蠕虫通常被描述为一种具有自我学习和自我复制能力的恶意软件,它能够利用人工智能算法进行自我演化和适应,以更有效地传播和感染目标系统。这种想象中的恶意软件......
  • Kubelet安装时子节点出现:kube-proxy-7jxg4 ContainerCreating
    一般分为两种情况主节点问题和kube-proxy问题:1、查看报错:kubectldescribepodkube-proxy-7jxg4-nkube-system2、子节点查看相关报错信息journalctl-ukubelet-f可以看出是创建容器失败:1、可能是docker镜像没有导入2、网络问题,重启看一下cri-docker是否有报错信息......
  • 使用纹理对比度检测检测AI生成的图像
    在本篇文章中我们将介绍如何开发一个深度学习模型来检测人工智能生成的图像大多数用于检测人工智能生成图像的深度学习方法取决于生成图像的方法,或者取决于图像的性质/语义,其中模型只能检测人工智能生成的人、脸、汽车等特定对象。但是这篇论文“RichandPoorTextureContrast......
  • 跨域配置重复 header contains multiple values
    AccesstoXMLHttpRequestat'https://dev2.xxxxxx/stp/home/instruction'fromorigin'https://test1.xxxxxx'hasbeenblockedbyCORSpolicy:Responsetopreflightrequestdoesn'tpassaccesscontrolcheck:The'Access-Control-A......
  • vite+vue3 遇到报错 Uncaught SyntaxError: Cannot use import statement outside a m
    按照报错找到了对应的位置import{createApp}from'/node_modules/.vite/deps/vue.js?v=d0a669cf'importAppfrom'/src/pages/project1/App.vue'//import'./index.css'//importrouterfrom"./router"//createApp(App).mount(&#......
  • 首发锐龙9 8945HS!ROG幻14 Air评测:性能最强的14寸轻薄本
    一、前言:1.5kg就有锐龙98945HS和RTX4060独显这应该目前为止,性能最强的14寸轻薄本!它在15.9mm机身厚度和1.5kg的重量下塞入了锐龙98945HS处理器和RTX4060独显,并且整机性能释放高达100W!能做到如此的,目前也就只有ROG幻14Air这一款。ROG幻14Air首发搭载锐龙98945HS,这款处理......
  • 全网首套完整containerd容器工具教程
    1、Containerd的由来【Docker名噪一时,捐出runC】2013年docker公司在推出docker产品后,由于其对全球技术产生了一定的影响力,Google公司明显感觉到自己公司内部所使用的Brog系统江湖地位受到的威胁,希望Docker公司能够与自己联合打造一款开源的容器运行时作为Docker核心依赖,但Docker......