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

一个类似 chatpdf 的项目, 让 gpt 帮你读文档 支持 pdf/epub/md 等多种格式

  •  1
     
  •   wenjie0032 · 2023-03-28 19:34:04 +08:00 · 3596 次点击
    这是一个创建于 610 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在研究 chatpdf.com 类的项目,

    主要功能是通过 gpt 实现: 问题结合文章内容的 ai 对话,

    具体的实现原理是

    1. 利用 embedding 接口对文章内容进行向量化, 存储索引
    2. 提问的问题再次利用 embedding 接口进行向量化
    3. 根据 问题的向量数据在 文章的索引中进行搜索, 找寻到近似的章节
    4. 将 问题和近似的 embedding 一同提交到 complation 接口, 获取到 openai 的回复

    结合以上思路实现了 chatdoc 这个项目, 支持更丰富的文件类型, 如 .pdf, .epub, .docx, .md, .txt, 甚至支持填写链接

    当然程序中会根据不同的文件类型先去解析出文本, 然后再进行上面的索引构建等步骤

    本项目使用到的技术

    1. 语言: 前端 vue, 后端 python
    2. 向量索引构建: llama_index 这个库是对索引构建及 openai 查询的封装, 功能十分丰富
    3. 文件解析: EbookLib, epub2txt, PyPDF2, beautifulsoup4 等

    github: https://github.com/daodao97/chatdoc

    欢迎大家试用并提出改进意见, 如果想要支持更多文件格式也可以留言.

    预览图, UI 还比较丑, css 太难写了😭 (有前端大佬有兴趣一起改进的话那就更好了)

    p

    10 条回复    2023-03-29 14:10:22 +08:00
    fkname
        1
    fkname  
       2023-03-28 19:41:58 +08:00
    听起来不错,已 star
    justin2018
        2
    justin2018  
       2023-03-28 19:53:21 +08:00
    malusama
        3
    malusama  
       2023-03-28 19:59:35 +08:00
    sk 暴露了吧?
    小心被盗用
    wenjie0032
        4
    wenjie0032  
    OP
       2023-03-28 20:04:32 +08:00
    @malusama #3 哈哈, 没事, 那个 key 过期了
    holala
        5
    holala  
       2023-03-28 20:32:04 +08:00
    导一本书那得花多少 token 呀
    wenjie0032
        6
    wenjie0032  
    OP
       2023-03-28 20:38:38 +08:00
    @holala #5 这个要看总的文本大小, 可以格局字数简单估计下 , openai 有在线查看 token 数的功能 https://platform.openai.com/tokenizer
    mxT52CRuqR6o5
        7
    mxT52CRuqR6o5  
       2023-03-28 20:43:30 +08:00
    看图里右边的问答,正确性有点捉急
    wenjie0032
        8
    wenjie0032  
    OP
       2023-03-28 21:00:37 +08:00 via iPhone
    @mxT52CRuqR6o5 #7 还得多调教一下
    kongkongye
        9
    kongkongye  
       2023-03-28 22:06:14 +08:00 via iPhone
    最近都是这种类型的应用
    fenglingyu
        10
    fenglingyu  
       2023-03-29 14:10:22 +08:00
    不错
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6001 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 130ms · UTC 02:33 · PVG 10:33 · LAX 18:33 · JFK 21:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.