大家好,我是独孤风。

又到了本周的开源项目推荐。近一年多的时间,人工智能迎来了大爆发。GPT相关的大模型的发展让很多领域都发生了巨大的变化。

但是虽然GPT的自然语言识别功能异常的强大,但回答给我们的知识内容并不尽如人意。那么,有没有可以在本地部署搭建的AI知识库项目呢?

今天为大家推荐的就是一个纯中文本地GPT知识库搭建项目,虽然刚刚开源不到半年的时间,标星已经达到了8.8K,

让我们一起来看看吧~

FastGPT

今天为大家推荐的开源项目名为FastGPT。

FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!虽然开源的大模型已经有很多,但是如果基于这些大模型搭建自己的知识库并不容易,需要非常复杂的实现过程。而FastGPT正是为了解决这个问题而诞生的。简单的说我们可以将自己的资料全都喂给它,创建一个属于自己的知识库。它会对资料进行整理,当你询问它问题的时候,就可以直接调用知识库里的资料进行回答,相当于为自己定制了一个大语言模型。

目前FastGPT支持 pdf、word、txt、md 等常用文件,支持 url 读取、CSV 批量导入。而整个搭建过程都可以在页面进行操作,不需要编码调试,极大地降低了技术门槛。FastGPT基本对齐了全球、国产主流AI,如 OpenAI ,清华GML,可集成到各种平台中。FastGPT的部署非常简单,可以使用Docker快速的进行部署。而如果需要做二次开发,也可以很轻松的搭建环境,该项目主要是TS语言开发,准备好NodeJS相关环境就可以了。而且FastGPT的整个配置过程都是支持中文的,非常方便。FastGPT自开源以来发展迅速,已经有非常多的用户基于其搭建了自己的本地知识库,最新版本为4.6.6,大家赶快用起来吧~

功能演示

请参考大数据流动视频号演示介绍。

安装部署

推荐如下的基本配置。

一、安装 Docker 和 docker-compose
# 安装 Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl enable --now docker
# 安装 docker-compose
curl -L https://github.com/docker/compose/releases/download/2.20.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 验证安装
docker -v
docker-compose -v
二、配置文件

依次执行下面命令,创建 FastGPT 文件并拉取docker-compose.ymlconfig.json,执行完后目录下会有 2 个文件。

mkdir fastgpt
cd fastgpt
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/files/deploy/fastgpt/docker-compose.yml
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json
三、启动

修改docker-compose.yml中的OPENAI_BASE_URLCHAT_API_KEY即可,对应为 API 的地址(别忘记加/v1)和 key。随后启动。

# 在 docker-compose.yml 同级目录下执行
docker-compose pull
docker-compose up -d
四、访问 FastGPT

目前可以通过 ip:3000 直接访问(注意防火墙)。登录用户名为 root,密码为docker-compose.yml环境变量里设置的 DEFAULT_ROOT_PSW

使用步骤

首先我们需要创建一个知识库。

知识库创建完之后我们需要上传一点内容。

上传内容这里有四种模式:

  • 手动输入:手动输入问答对,是最精准的数据
  • QA 拆分:选择文本文件,让AI自动生成问答对
  • 直接分段:选择文本文件,直接将其按分段进行处理
  • CSV 导入:批量导入问答对

这里,我们选择 QA 拆分,让 AI 自动生成问答,若问答质量不高,可以后期手动修改。

点击上传后我们需要等待数据处理完成,等到我们上传的文件状态为可用。

点击「应用」按钮来新建一个应用,这里有四个模板,我们选择「知识库 + 对话引导」。

应用创建后来再应用详情页找到「知识库」模块,把我们刚刚创建的知识库添加进去。

添加完知识库后记得点击「保存并预览」,这样我们的应用就和知识库关联起来了。

然后我们就可以愉快的开始聊天啦。

赶紧用起来吧!

【开源项目推荐】——纯中文本地GPT知识库搭建项目.assets的更多相关文章

  1. VUE2.0 脚手架搭建项目,如何配置本地IP地址访问项目,详解

    1.首先找到config文件夹目录下的 index.js文件 // Various Dev Server settings //host: 'localhost' //将localhost进行替换成 ...

  2. vue2.0项目实战(2)使用 vue-cli 搭建项目

    Vue-cli是官方推荐的快速构建单页应用的脚手架.官方给的建议,如果你是初次尝试Vue,哪就老老实实用普通的书写引入js文件,这里牵扯太多的东西,例如webpack .npm .nodejs 等等, ...

  3. luffy项目:基于vue与drf前后台分离项目(1)

    """ 1.业务逻辑:登录注册 - 主页(基础信息展示) - 课程页(复杂信息展示)- 课程订单生产与支付 - 上线订单生成 2.实际项目开发的技术点: git版本控制 ...

  4. Python实战项目1-开发流程需求分析/基础环境搭建

    软件开发流程 # 真正的企业里软件从立项到交付整个过程 -立项:确定公司要开发这个软件 公司高层 -软件来源 -产品经理设计出来的---->互联网项目 互联网公司 -用户(医院,政府部门,企业. ...

  5. 28款GitHub最流行的开源机器学习项目,推荐GitHub上10 个开源深度学习框架

    20 个顶尖的 Python 机器学习开源项目 机器学习 2015-06-08 22:44:30 发布 您的评价: 0.0 收藏 1收藏 我们在Github上的贡献者和提交者之中检查了用Python语 ...

  6. 必须Mark!43个优秀的Swift开源项目推荐

    摘要:拥有着苹果先天生态优势的Swift自发布以来,各种优秀的开源项目便层出不穷.本文作者站在个人的角度,将2014年Swift开源项目做了一个甄别.筛选,从工具.存储.网络.界面.框架到Demo以及 ...

  7. 【转】43个优秀的Swift开源项目推荐

    作为一门集百家之长的新语言,Swift拥有着苹果先天的生态优势,而其在GitHub上各种优秀的开源项目也层出不穷.本文作者@SwiftLanguage从2014年6月苹果发布Swift语言以来,便通过 ...

  8. 开源项目推荐:e-example / Springboot+bootstrap + ……

    前言: 我想要找一个 springboot + bootstrap 的例子介绍,然后搜索到了这个开源项目. 所有能跑起来的项目都有研究价值,看看这个项目的文档.目前正好满足我想要的功能.推荐 正文: ...

  9. GitHub Python项目推荐|瓦力Devops开源项目代码部署平台持续部署

    GitHub Python项目推荐|walle - 瓦力 Devops开源项目代码部署平台 项目热度 标星(star):8418 (很不错的实用项目,大神作品,建议关注) 标星趋势 关注(watch) ...

  10. 必须Mark!43个优秀的Swift开源项目推荐(转)

    作为一门集百家之长的新语言,Swift拥有着苹果先天的生态优势,而其在GitHub上各种优秀的开源项目也层出不穷.本文作者@SwiftLanguage从2014年6月苹果发布Swift语言以来,便通过 ...

随机推荐

  1. GCD Inside: GCD 宏

    1 __OBJC__ __OBJC__宏的定义在 GCD 源码中找不到,它定义在 LLVM 的源码中: // initPreprocessor.cpp static void InitializeSt ...

  2. 为什么FPGA中推荐使用独热码?

    独热码只有一个比特位不同,所以在进行比较的时候: 假如我们要判断状态机是否处于某状态S1,代码如下 格雷码:assign S1 = (STATUS == 2'b01) 二进制码:assign S1 = ...

  3. go基础-接口

    一.概述 接口是面向对象编程的重要概念,接口是对行为的抽象和概括,在主流面向对象语言Java.C++,接口和类之间有明确关系,称为"实现接口".这种关系一般会以"类派生图 ...

  4. Linux中execl函数详解与日常应用!

    Linux中execl函数详解与日常应用 execl是Linux系统中的一个系统调用,用于执行指定路径下的可执行文件.本文将详细介绍execl函数的使用方法和参数含义,并探讨其在日常开发中的常见应用场 ...

  5. HarmonyOS第一课_构建更加丰富的页面

    管理组件状态 概述 组件内的状态管理:@State 从父组件单向同步状态:@Prop 与父组件双向同步状态:@Link 跨组件层级双向同步状态:@Provide 和@Consume 概述 在应用中,界 ...

  6. [ARC168E] Subsegments with Large Sums

    题目链接 看到严格选 \(k\) 个,不难想到 WQS二分.定义 \(f(x)\) 为分成 \(x\) 段,最多有多少个超过 \(S\) 的.然后你会发现他不是凸的.因为他有很多平段,比如把两个很小的 ...

  7. HDU-3591 混合背包

    The trouble of Xiaoqian Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/ ...

  8. storeToRefs()的作用和使用

    store 是一个用 reactive 包装的对象,这意味着不需要在 getters 后面写 .value,就像 setup 中的 props 一样,如果你写了,我们也不能解构它: <scrip ...

  9. DRF过滤器

    https://www.django-rest-framework.org/api-guide/filtering 一般情况下,我们可以重写DRF视图类的get_queryset()方法来实现查询结果 ...

  10. 聊聊ChatGLM-6B部署与微调的深入理解

    ChatGLM的部署,主要是两个步骤: 在Github上下载chatglm的库文件 在Hugging Face上下载模型参数与配置文件 ChatGLM包 从Github上看ChatGLM项目文件的结构 ...