基于 chatGPT 的文章阅读助手 # myGPTReader

2023-03-12 22:02:02 +08:00
 bmpidev2019

开源地址: https://github.com/madawei2699/myGPTReader

背景: https://twitter.com/madawei2699/status/1632246398308724737

花了几天时间开发了基于 gpt_index 与 chatGPT 的 slack bot ,功能就如这个帖子里展示的,只不过是在 slack 中交互。如果想体验的话可以加入这个 slack channel: https://join.slack.com/t/bmpidev/shared_invite/zt-1r38f90n5-bOp~RZqoMYiYMOtmKZsbcw

目前实现的功能:

  1. 可发送多个链接(支持普通页面与 RSS 链接),让 chatGPT 基于这些文章内容进行总结、分析处理;
  2. 会自动对链接进行爬取,如果常规爬取不了的站点会启用无头浏览器代理爬取;
  3. slack bot 会自动在问题下的 thread 内异步回复答案;
  4. 不包含链接的内容直接发给 chatGPT 处理;

未来的进一步规划:

  1. 定时自动总结每日订阅的邮件列表或文章信息源;
  2. 支持多种 prompt 模版做自定义的调优;
  3. 可能会支持语音交互;

彩蛋:此项目是与 chatGPT 一块结对开发的,我把交互的 prompt 过程也记录下来了,感兴趣的可围观: https://github.com/madawei2699/myGPTReader/blob/main/docs/chatGPT/CDDR.md

6091 次点击
所在节点    分享创造
43 条回复
gogogo1203
2023-03-12 22:35:15 +08:00
可以把 以前的旧信息提前生成成 vector 存起来,然后用 embeding, 省去 4000token 的麻烦。
ggmood
2023-03-12 22:36:38 +08:00
已 star
u79Ua0lLHcF7PBAg
2023-03-12 22:39:57 +08:00
赞一个。之前看过楼主的 blog ,很牛逼。
conge
2023-03-12 23:01:40 +08:00
与 chatGPT 一块结对开发这件事,对我触动很大。我以前只是问他一些具体的问题,但从来没想过让它从头到尾帮我写代码!

开启了新思路啊!!

大写的服!
haoxuexiaoyao
2023-03-13 00:59:48 +08:00
支持爬取文档么 比如 python3.11 文档
bmpidev2019
2023-03-13 02:31:16 +08:00
@haoxuexiaoyao 可以的,你甚至可以吧一本书的内容用 embedding 处理,目前这个 bot 只是处理单页面,当然也可以一次发送多个 url 让它把这些页面内容全部喂给 chatGPT 去处理。
lopssh
2023-03-13 07:39:23 +08:00
这个可以!
handuo
2023-03-13 07:47:21 +08:00
感谢!平时用 discord bot,可以也移植到 discord 上去
kongkongye
2023-03-13 08:38:07 +08:00
@bmpidev2019 我有个疑问,内容喂了后,问他某个具体的 xxx ,那是先把与 xxx 有关的行按相关程度提取出来,然后当作上下文来问 chatgpt ,但如果只是问整篇文章 /整本书写了什么,那提取的是什么东西呢?
kongkongye
2023-03-13 08:49:05 +08:00
结对开发,是通过一个 chatgpt 会话实现的吗?还是多个 chatgpt 会话?
如果是用 api ,那每次都把之前聊天内容传回去,账单要爆炸。
而且一些小的东西,你非要让 chatgpt 来回答与修正,这等待的时间太浪费,反而会降低效率。
bmpidev2019
2023-03-13 08:55:48 +08:00
@handuo 这也可以,主要是费用的问题,这个适合私有部署,否则人多了账单爆炸,不过增加一个 bot 也容易
bmpidev2019
2023-03-13 08:57:24 +08:00
@kongkongye 一个 task 一个会话完成,任务驱动的,实际效率比自己写还要快,因为对语法和生态掌握的不熟练,所以实现交给 chatgpt 反而很快能完成。
bmpidev2019
2023-03-13 08:58:35 +08:00
@kongkongye 这是 gpt_index 库利用 openai 提供的 embedding 模型完成的,具体你可以看背景提供的链接介绍,并不是把所有内容一股脑喂给模型,那样真账单爆炸了
bugschn
2023-03-13 14:32:31 +08:00
@bmpidev2019 大佬,请问使用 gpt_index 阅读源码是怎样实现的?
hyperzlib
2023-03-13 17:18:04 +08:00
@bmpidev2019 如果需要大量 embedding ,其实可以考虑一下本地运行 BERT 做词向量转换
hyperzlib
2023-03-13 17:18:47 +08:00
@bmpidev2019 BERT 也支持句向量,可以试试 chinese-bert-wwm
bmpidev2019
2023-03-13 18:11:52 +08:00
@bugschn 官方就有 demo ,本文背景里的推文也有我的阅读代码测试可以看看
bmpidev2019
2023-03-13 18:13:17 +08:00
@hyperzlib 不知道这个模型效果和 openai 的相比怎么样,因为少量的话 openai 的 embedding 也不贵,大约五百多万个 token 是 2 美元,这大概是一个小型 repo 的源码大小。
lovestudykid
2023-03-14 03:18:26 +08:00
gpt_index 是怎么实现的呢?这些 embedding 不需要每次都喂给 gpt 吗?长度不超标?
ziyuan
2023-03-14 10:33:25 +08:00
这个不错啊。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/923438

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX