V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
bmpidev2019
V2EX  ›  分享创造

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

  •  
  •   bmpidev2019 ·
    madawei2699 · 2023-03-12 22:02:02 +08:00 · 5611 次点击
    这是一个创建于 382 天前的主题,其中的信息可能已经有所发展或是发生改变。

    开源地址: 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

    第 1 条附言  ·  2023-03-23 10:50:58 +08:00
    近期更新的功能:

    1 、通过 slash 命令展示多种 prompt 模版,并能够根据消息上下文进行交互回复;
    2 、每日热榜新闻定时推送,并与 chatGPT 一块读新闻;
    3 、可以读取整部电子书( epub 、pdf 、docx 、txt 、markdown ),与 chatGPT 一块读书;
    4 、多国语音交互,可通过语音(英文、汉语、德语与日语)与 chatGPT 聊天或读新闻。

    slack bot 体验频道: https://join.slack.com/t/bmpidev/shared_invite/zt-1rk3md1lz-Fy9Id7ZgmSsdIO2pZaPYxg
    第 2 条附言  ·  2023-03-24 08:48:42 +08:00
    第 3 条附言  ·  2023-03-26 09:37:17 +08:00
    YouTube 直播回放:基于 chatGPT 的应用开发
    https://youtube.com/live/XZIogwFU7jE?feature=share
    43 条回复    2023-03-25 12:06:14 +08:00
    gogogo1203
        1
    gogogo1203  
       2023-03-12 22:35:15 +08:00
    可以把 以前的旧信息提前生成成 vector 存起来,然后用 embeding, 省去 4000token 的麻烦。
    ggmood
        2
    ggmood  
       2023-03-12 22:36:38 +08:00 via iPhone
    已 star
    NathanZeng
        3
    NathanZeng  
       2023-03-12 22:39:57 +08:00
    赞一个。之前看过楼主的 blog ,很牛逼。
    conge
        4
    conge  
       2023-03-12 23:01:40 +08:00   ❤️ 1
    与 chatGPT 一块结对开发这件事,对我触动很大。我以前只是问他一些具体的问题,但从来没想过让它从头到尾帮我写代码!

    开启了新思路啊!!

    大写的服!
    haoxuexiaoyao
        5
    haoxuexiaoyao  
       2023-03-13 00:59:48 +08:00
    支持爬取文档么 比如 python3.11 文档
    bmpidev2019
        6
    bmpidev2019  
    OP
       2023-03-13 02:31:16 +08:00 via iPhone
    @haoxuexiaoyao 可以的,你甚至可以吧一本书的内容用 embedding 处理,目前这个 bot 只是处理单页面,当然也可以一次发送多个 url 让它把这些页面内容全部喂给 chatGPT 去处理。
    lopssh
        7
    lopssh  
       2023-03-13 07:39:23 +08:00 via Android
    这个可以!
    handuo
        8
    handuo  
       2023-03-13 07:47:21 +08:00 via Android
    感谢!平时用 discord bot,可以也移植到 discord 上去
    kongkongye
        9
    kongkongye  
       2023-03-13 08:38:07 +08:00
    @bmpidev2019 我有个疑问,内容喂了后,问他某个具体的 xxx ,那是先把与 xxx 有关的行按相关程度提取出来,然后当作上下文来问 chatgpt ,但如果只是问整篇文章 /整本书写了什么,那提取的是什么东西呢?
    kongkongye
        10
    kongkongye  
       2023-03-13 08:49:05 +08:00
    结对开发,是通过一个 chatgpt 会话实现的吗?还是多个 chatgpt 会话?
    如果是用 api ,那每次都把之前聊天内容传回去,账单要爆炸。
    而且一些小的东西,你非要让 chatgpt 来回答与修正,这等待的时间太浪费,反而会降低效率。
    bmpidev2019
        11
    bmpidev2019  
    OP
       2023-03-13 08:55:48 +08:00 via iPhone
    @handuo 这也可以,主要是费用的问题,这个适合私有部署,否则人多了账单爆炸,不过增加一个 bot 也容易
    bmpidev2019
        12
    bmpidev2019  
    OP
       2023-03-13 08:57:24 +08:00 via iPhone
    @kongkongye 一个 task 一个会话完成,任务驱动的,实际效率比自己写还要快,因为对语法和生态掌握的不熟练,所以实现交给 chatgpt 反而很快能完成。
    bmpidev2019
        13
    bmpidev2019  
    OP
       2023-03-13 08:58:35 +08:00 via iPhone
    @kongkongye 这是 gpt_index 库利用 openai 提供的 embedding 模型完成的,具体你可以看背景提供的链接介绍,并不是把所有内容一股脑喂给模型,那样真账单爆炸了
    bugschn
        14
    bugschn  
       2023-03-13 14:32:31 +08:00
    @bmpidev2019 大佬,请问使用 gpt_index 阅读源码是怎样实现的?
    hyperzlib
        15
    hyperzlib  
       2023-03-13 17:18:04 +08:00   ❤️ 1
    @bmpidev2019 如果需要大量 embedding ,其实可以考虑一下本地运行 BERT 做词向量转换
    hyperzlib
        16
    hyperzlib  
       2023-03-13 17:18:47 +08:00   ❤️ 1
    @bmpidev2019 BERT 也支持句向量,可以试试 chinese-bert-wwm
    bmpidev2019
        17
    bmpidev2019  
    OP
       2023-03-13 18:11:52 +08:00 via iPhone
    @bugschn 官方就有 demo ,本文背景里的推文也有我的阅读代码测试可以看看
    bmpidev2019
        18
    bmpidev2019  
    OP
       2023-03-13 18:13:17 +08:00 via iPhone
    @hyperzlib 不知道这个模型效果和 openai 的相比怎么样,因为少量的话 openai 的 embedding 也不贵,大约五百多万个 token 是 2 美元,这大概是一个小型 repo 的源码大小。
    lovestudykid
        19
    lovestudykid  
       2023-03-14 03:18:26 +08:00
    gpt_index 是怎么实现的呢?这些 embedding 不需要每次都喂给 gpt 吗?长度不超标?
    ziyuan
        20
    ziyuan  
       2023-03-14 10:33:25 +08:00
    这个不错啊。。
    gogogo1203
        21
    gogogo1203  
       2023-03-14 11:21:50 +08:00   ❤️ 3
    @lovestudykid 针对开源库 doc 用 chatgpt 来做应答, 现在最主流的方式。1. 把所有 doc 用 chatgpt 转化成 pgvector, 存到数据库。2. 用户搜索 query ,用 chatgpt 转化成 pgvector. 3. 用 chatgpt 返回的 query vector 在数据库里搜索相似 4. 把相关的内容作为 context 上传到 chatgpt.
    lovestudykid
        22
    lovestudykid  
       2023-03-14 11:27:13 +08:00
    @gogogo1203 这种我了解过,看了下文档,的确还是这样的方式。更好的方式应该是用自己的数据做一下 fine tune 吧
    gogogo1203
        23
    gogogo1203  
       2023-03-14 14:25:27 +08:00
    相关性自己可以调啊. 给 AI 喂什么, 以什么 prompt 来喂,出什么结果,AI 给的结果怎么提纯再给到用户。 这些都是 prompt engineers 需要做的事。
    NeedforV2
        24
    NeedforV2  
       2023-03-14 14:44:37 +08:00
    有些牛 B
    hyperzlib
        25
    hyperzlib  
       2023-03-14 16:14:33 +08:00   ❤️ 1
    @gogogo1203 补充一下,elasticsearch 也适合用来做句向量索引
    bmpidev2019
        26
    bmpidev2019  
    OP
       2023-03-23 10:51:41 +08:00 via iPhone
    最近更新了一大波功能,见附言更新👆
    metalvest
        27
    metalvest  
       2023-03-23 13:04:54 +08:00
    好像爬取链接的时候钻得不够深


    @myGPTReader
    http://www.livingneighborhoods.org/ 请用中文讲解这个网站中有关土地诊断的部分

    抱歉,我只能使用英语进行回答。该网站的土地诊断部分提供了一些工具和资源,帮助人们评估和改善他们所居住的社区的土地使用情况。这些工具包括土地利用调查表、土地利用图、土地利用规划和设计指南等。此外,该网站还提供了一些案例研究和实践经验,以帮助人们更好地理解和应用土地诊断的概念和方法。总之,该网站旨在促进可持续的社区发展和土地利用规划。


    @myGPTReader
    http://www.livingneighborhoods.org/packets/diagnosis-phase.htm 请用中文总结这个网页

    这个网页介绍了一个建立社区的生成代码,强调了维护整体性和修复受损地区的重要性。第二阶段是对土地的诊断,包括寻找整体性、介绍诊断概念、识别整体结构、发现宝贵的地方、修复受损空间、识别中心和潜在中心等。通过精确地记录和定位这些地方,可以为建立新的整体性社区奠定基础。该网页还提供了开发者的信息和理论背景。


    给网站首页,然后问里面的内容给出的回答和给里面链接的网页得到的回答完全不一样
    bmpidev2019
        28
    bmpidev2019  
    OP
       2023-03-23 14:20:16 +08:00 via iPhone
    @metalvest 对某些网页来说可能有这个问题,但爬多级页面也有成本方面的考虑
    goodniuniu
        29
    goodniuniu  
       2023-03-23 15:12:14 +08:00
    此链接不再有效
    要加入此工作区,你需要向最初邀请你的人员请求一个新链接。
    psyer
        30
    psyer  
       2023-03-23 16:48:47 +08:00
    starred
    bmpidev2019
        31
    bmpidev2019  
    OP
       2023-03-24 08:48:59 +08:00 via iPhone
    @goodniuniu 更新了,看 append
    m4d3bug
        32
    m4d3bug  
       2023-03-24 10:28:15 +08:00 via Android
    老实说我没懂怎么部署,请大佬明示
    haoxuexiaoyao
        33
    haoxuexiaoyao  
       2023-03-24 10:54:26 +08:00
    LuXiaoR
        34
    LuXiaoR  
       2023-03-24 11:00:46 +08:00
    有权限问题,作者怎么才能开通呢
    bmpidev2019
        35
    bmpidev2019  
    OP
       2023-03-24 12:41:38 +08:00 via iPhone
    @goodniuniu 链接已更新,还是之前的链接,但是重定向到最新的了
    bmpidev2019
        36
    bmpidev2019  
    OP
       2023-03-24 12:41:52 +08:00 via iPhone
    @haoxuexiaoyao 重新试试
    bmpidev2019
        37
    bmpidev2019  
    OP
       2023-03-24 12:42:18 +08:00 via iPhone
    @m4d3bug 周末 YouTube 直播演示,文档没时间细写
    bmpidev2019
        38
    bmpidev2019  
    OP
       2023-03-24 12:43:02 +08:00 via iPhone
    @LuXiaoR 看 channel 里置顶有介绍,在申请 channel 里去找 bot 申请,自动下放权限
    goodniuniu
        39
    goodniuniu  
       2023-03-24 16:09:08 +08:00
    @bmpidev2019 加入了,谢谢。彩蛋内容很精彩,谢谢分享。请问如何申请开通 PDF 阅读分析功能呢?
    bmpidev2019
        40
    bmpidev2019  
    OP
       2023-03-24 16:40:18 +08:00 via iPhone
    @goodniuniu slack channel 置顶有申请方式,找 bot 自动给权限
    haoxuexiaoyao
        41
    haoxuexiaoyao  
       2023-03-24 21:23:53 +08:00
    @bmpidev2019 此链接不再有效
    要加入此工作区,你需要向最初邀请你的人员请求一个新链接。
    bmpidev2019
        42
    bmpidev2019  
    OP
       2023-03-25 05:32:45 +08:00 via iPhone
    @haoxuexiaoyao 更新了
    m4d3bug
        43
    m4d3bug  
       2023-03-25 12:06:14 +08:00 via Android
    @bmpidev2019 坐等个直播回放
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3000 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:44 · PVG 22:44 · LAX 07:44 · JFK 10:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.