我让 ChatGPT 化身为全知全能的文档小助理,啥姿势她都会......
ChatGPT 虽然只是一个对话型人工智能,但已经震惊了全世界,有人甚至认为人工智能的奇点已经到来。未来一定会有很多人失业,从工业革命开始,每出现一次重大的技术变革,就必然会有一批人失业,我们要直面现实,承认自己的工作会被 AI 代替,你逃避也罢,无视也罢,都没有用,改变不了事实。
虽然目前网上基于 ChatGPT 的产品已经琳琅满目,但很多人还是觉得 ChatGPT 对自己的生活并没有产生多大的影响。但是你忽略了一个事实,ChatGPT 才问世几个月而已,基于 ChatGPT 的应用场景目前还在探索中,很多场景还是把 ChatGPT 当成一个玩具,所以对大家的工作和生活并没有产生重大的影响。
现在我们来想象一个场景,假设有这样一个机器人,它对某个开源项目文档的内容了如指掌,就像一个全知全能的神,你对这个产品的使用有任何疑问,都可以直接问它,它会立刻给你一个准确的答案,这会不会彻底改变你的项目文档使用体验?
现在开源项目的标配都有微信群和 Slack 群或者 Discord 群,你把这个全知全能的神接入这些社群,任何人的任何问题都可以得到及时有效的回复,这该有多爽?
你再想想我们之前都是怎么使用项目文档的,有的文档会提供一个搜索框,你可以直接通过关键词进行搜索,它会给你呈现一大堆跟你的关键词相关的内容,但是究竟这些内容是不是你想要的,你需要自己一个一个点开链接去看一看,找一找,这个筛选和判断过程非常浪费时间和精力。
还有的项目文档更惨,连搜索功能都没有,你需要自己根据目录去判断哪个章节可能有你想要的内容,体验更糟。。。
现在我告诉你还真有这样一个机器人,它大大简化了在项目文档中寻找信息的过程。由于它集成了强大的 ChatGPT,开发人员可以轻松地提出文档涉及的相关项目的问题,并及时得到准确的答案,让你告别耗时的手动搜索。它就是 DocsGPT!!
项目地址:https://github.com/arc53/DocsGPT
我 Fork 了该项目,并将 Web 界面语言改成了中文,英文不太给力的同学可以直接使用我的项目 https://github.com/yangchuansheng/DocsGPT
使用起来非常简单,首先在浏览器中输入访问地址 https://docsgpt.icloudnative.io/ 打开 Web 界面,然后输入自己的 OpenAI API Key:
你可以选择特定的文档来进行提问,比如我这里选择了 Pandas:
默认只支持部分文档,包含 pandas、langchain、python 等。
但是我们可以通过训练其他文档来使它支持任意文档。以我的中文版 DocsGPT 为例,我就拿它训练了一个让前端能够搞全栈的神奇的工具 laf。
有搞云开发的,有可能知道 Unicloud。laf 就是类似 Unicloud 的东西,也是一个一体化的开发平台。
说简单点,让前端搞后端,那么需要几几样东西,首先就是存放东西的数据库,还有就是用来存放图片文件的文件存储,最后就是前端要去调用后端服务的接口。
这三件套,laf 平台都集成了,大大降低了门槛,只要你懂 js,就可以去写后端的业务了,其他都不用你操心。
这是 laf 的官方文档:https://www.lafyun.com/
文档的 GitHub 链接在这里:https://github.com/labring/laf/tree/main/docs
我要做的事情很简单,先把 DocsGPT 和 laf 项目 clone 到本地,然后进入 DocsGPT 项目的 scripts
目录,新建目录 inputs
,再将 laf 项目中的 docs
目录复制到 inputs
目录下。
接下来需要在 scripts 目录下创建一个文件 .env
,输入以下内容:
OPENAI_API_KEY=<your-api-key>
请将 <your-api-key>
替换成你的 OpenAI API Key。
最终执行以下命令就会开始训练:
$ python ingest.py ingest
训练完成后,会生成两个文件:index.faiss
和 index.pkl
。将这两个文件移动到 application
目录即可完工。
最后按照正常的步骤启动 DocsGPT 即可。
为了方便大家快速部署,我还构建了 Docker 镜像,可以直接通过以下命令部署:
$ docker run -d --name docsgpt ghcr.io/yangchuansheng/docsgpt:zh-cn
同时我还提供了一个 Demo 页面,想直接体验的同学可以访问 Demo 页面:https://docsgpt.icloudnative.io/
注意:如果出现异常(比如机器人没有回应),可以清空页面缓存重试。
一个全知全能的 laf 小助理就这样诞生了,爽不爽?
未来我们会尝试将其接入微信群和 Discord 群组,对 laf 感兴趣的同学欢迎加入我们的微信群或者 Discord 群组静静等待:
- Discord 群组链接:https://discord.gg/pSVfU7u5
- wx 群:添加我的个人 wx:cloud-native-yang,然后给我发送暗号:laf
我让 ChatGPT 化身为全知全能的文档小助理,啥姿势她都会......的更多相关文章
- PDF文档小技巧整理一览
1.福昕阅读器文档背景修改为保护眼睛的颜色? 1)文件 -> 偏好设置 -> 访问 -> 勾选 "改变文档颜色" 2)选择 '自定义颜色'->'页面背景颜色 ...
- C# - 操作Word文档小实验
前言 本篇主要记录:VS2019 WinFrm桌面应用程序实现对Word文档的简单操作. 准备工作 搭建WinFrm前台界面 添加必要的控件,如下图 NuGet包管理器 安装Microsoft.Off ...
- Windchill基本业务对象-文档
文档的类型: (1)WTDocumetManster :是文档的主要信息,一个文档只有一条记录:(2)WTDocument:是文档小版本记录,每一个文档小版本都有一条记录: 备注:(1)文档大版本记录 ...
- ElasticSearch文档
1.什么是文档? 程序中大多的实体或对象能够被序列化为包含键值对的JSON对象,键(key)是字段(field)或属性(property)的名字,值(value)可以是字符串.数字.布尔类型.另一个对 ...
- MongoDB(5)- Document 文档相关
Documents MongoDB 的文档可以理解为关系型数据库(Mysql)的一行记录 MongoDB 将数据记录为 BSON 格式的文档 BSON 是 JSON 文档的二进制表示,但它支持的数据类 ...
- NotionAI - 文档领域的ChatGPT,一款 AI 加持的在线文档编辑和管理工具
简介 NotionAI - 文档领域的ChatGPT,一款 AI 加持的在线文档编辑和管理工具 作为国际领先的在线文档编辑和管理工具,Notion受到了广大用户的欢迎,尤其是程序员们.它不仅支持笔记. ...
- Word中使用ChatGPT,写文档如有神助
[部署教程]国内网络可用,最强 ChatGPT 学术论文写作工具原创****付费 简介 Word GPT Plus 是一个集成了 chatGPT 模型的 Word 插件.它允许你基于你在文档中写的内容 ...
- 全网最详细中英文ChatGPT接口文档(一)开始使用ChatGPT——导言
目录 Introduction 导言 Overview 概述 Key concepts 关键概念 Prompts and completions 提示和完成 Tokens 标记/符号 Models 模 ...
- DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义
DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义 今天看到一篇CSS应用的一个友好搜索,我按网页上的代码复制.粘贴后预览时总达不到效果,而直接拷贝他的实例却能达到效果, ...
- 全网最详细中英文ChatGPT-GPT-4示例文档-智能编写Python注释文档字符串从0到1快速入门——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)
目录 Introduce 简介 setting 设置 Prompt 提示 Sample response 回复样本 API request 接口请求 python接口请求示例 node.js接口请求示 ...
随机推荐
- lua面向对象(类)和lua协同线程与协同函数、Lua文件I/O
-- create a class Animal={name = "no_name" , age=0 } function Animal:bark(voice) print(sel ...
- [ABC265B] Explore
Problem Statement Takahashi is exploring a cave in a video game. The cave consists of $N$ rooms arra ...
- 在arm架构的银河麒麟系统部署Redis
以下是在arm架构的银河麒麟系统上部署Redis的详细步骤: 1. 创建文件夹 首先,在合适的位置创建必要的文件夹.在本例中,我们将创建/opt/redis和/usr/src/redis两个文件夹. ...
- 什么是 MySQL JDBC 连接池中最高效的连接检测语句?
在回答这个问题之前,首先我们看看 MySQL 中有哪些常用的 JDBC 连接池: c3p0 DBCP Druid Tomcat JDBC Pool HikariCP 这些连接池中,c3p0 是一个老牌 ...
- Linux驱动开发笔记(六):用户层与内核层进行数据传递的原理和Demo
前言 驱动作为桥梁,用户层调用预定义名称的系统函数与系统内核交互,而用户层与系统层不能直接进行数据传递,进行本篇主要就是理解清楚驱动如何让用户编程来实现与内核的数据交互传递. 温故知新 设备节 ...
- SQL优化三步曲
有一天开发同学反馈线上业务库中有一条SQL执行很满,每次几乎要跑1分钟才结束,希望我们帮忙优化一下,具体SQL如下: SQL优化第一步 - 查看执行计划 对于一个SQL的优化,我们的第一步也是最重要的 ...
- 一个简单的Python暴力破解网站登录密码脚本
目录: 关键代码解释 完整代码 方法一 运行结果 方法二 运行结果 测试靶机为DVWA,适合DVWA暴力破解模块的Low和Medium等级 关键代码解释 url指定url地址 url = " ...
- CF1340F Nastya and CBS 题解
题目大意 给定一个长度为 \(n(n \le 10 ^ 5)\) 的括号序列.要求支持两个操作: 修改某个位置的括号. 询问 \([l, r]\) 区间内的括号序列是否合法. 题目分析 显然,这道题是 ...
- Spring WebFlux 简介
本文基于 Spring Boot 2.6.0 基于之前提到的 Reactor 的出现,使得编写响应式程序成为可能.为此,Spring 的开发团队决定添加有关 Reactor 模型的网络层.这样做的话将 ...
- Programming Abstractions in C阅读笔记:p235-p241
<Programming Abstractions in C>学习第66天,p235-p241总结. 一.技术总结 1.backtracking algorithm(回溯算法) (1)定义 ...