开源了 VectorHub,用文件和网页进行 GPT Embedding,并且能够分享给他人使用,发挥你创意的时候到了! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
ligz
V2EX    程序员

开源了 VectorHub,用文件和网页进行 GPT Embedding,并且能够分享给他人使用,发挥你创意的时候到了!

  •  1
     
  •   ligz 2023-07-13 09:22:29 +08:00 3695 次点击
    这是一个创建于 892 天前的主题,其中的信息可能已经有所发展或是发生改变。

    vectorhub

    目前已实现的功能:

    • 通过上传文件 GPT embedding
    • 通过输入网页 URL 进行 GPT embedding
    • 创建 vector 数据,后续可以多次使用
    • 直接使用他人创建好的 vector 数据
    • 100% 代码开源

    我在今年四月的时候,开源了 ChatFile 项目,收获了 2.4K 的 stars, 该项目的目的是上传文件进行 GPT 的 Embedding ,能够上传 PDF 、Epub 、Markdown 、Text 、Zip 等等一些系列格式的文件做到 ChatPDF 之类的效果。

    新的项目设计的初衷是,ChatFiles 在之前开源后,收到了很多用户的上传文件使用 Embedding ,但是这些 Embedding 并不能被所有人重复使用,这样就形成了大量的浪费,大家都在给 OpenAI 交重复的钱。

    例如我在 https://chat.vectorhub.org 中 Embedding 了 https://github.com/k88hudson/git-flight-rules/blob/master/README.md 的材料。

    并提供了一些快速的开始问题,那么其它用户就不需要再次花钱 embedding 就可以使用该数据。

    大家也可以想一想还有什么有趣的可以进行 embedding 的。可以用你的 API Key embedding 然后所有人一起使用。也可以在这个帖子讨论,后续项目的进展在 我的推特 上更新。

    目前项目还在初期,大家可以多多提提 bug 。新的项目地址: https://github.com/guangzhengli/vectorhub

    vectorhub

    22 条回复    2023-07-13 19:37:39 +08:00
    ql562482472
        1
    ql562482472  
       2023-07-13 09:41:27 +08:00
    请问一下是不是可以理解为在模型的上下文上添加了一些资料?在我们的对话中可以有更详尽的参考?还是添加了一种新的思维方式啊,或者是一些 prompt ?主要是不明白这是个啥 所以想请教一下
    SWALLOWW
        2
    SWALLOWW  
       2023-07-13 09:50:34 +08:00
    我也没懂,能不能举例一个使用场景
    zzh161
        3
    zzh161  
       2023-07-13 09:53:19 +08:00
    翻了半天,这个怎么设置代理?一定要代理本机所有流量?
    Seanfuck
        4
    Seanfuck  
       2023-07-13 09:54:04 +08:00
    问题是每个人用的文件或网页不同,这个不同于模型能通用
    hyperzlib
        5
    hyperzlib  
       2023-07-13 10:10:46 +08:00
    顺便提一嘴,如果要本地搭建、低成本向量搜索,也可以试试 BERT 的 Embedding 。
    ligz
        6
    ligz  
    OP
       2023-07-13 10:46:15 +08:00   1
    @SWALLOWW
    @ql562482472

    @SWALLOWW
    @ql562482472

    举个例子,我基于 https://github.com/k88hudson/git-flight-rules/blob/master/README.md 这个 Git 操作手册进行 Embedding 创建了 vector 数据后,就可以问 ChatGPT 基于这个文档材料相关的问题。例如问 I want to undo rebase/merge ,它就会回复 To undo a rebase or merge, you can reset your branch to the original HEAD pointer using the ORIG_HEAD variable. Use the command "git reset --hard ORIG_HEAD" to recover your branch to its state before the rebase/merge. 这段话是基于材料的上下文,而不是 GPT 的自由发挥。

    再比如我上传朱自清的《背影》这篇文章,我问橘子是谁买的?可以得到回复是父亲买的。

    所以这个功能是基于上传材料的上下文得到 GPT 的回答,而不是纯粹的 GPT 问答。

    ![Snipaste_2023-07-12_09-30-40]( https://cdn.jsdelivr.net/gh/guangzhengli/PicURL@master/uPic/Snipaste_2023-07-12_09-30-40.png)
    ligz
        7
    ligz  
    OP
       2023-07-13 10:48:18 +08:00
    @zzh161 什么代理?
    zzh161
        8
    zzh161  
       2023-07-13 11:08:22 +08:00
    @ligz 访问 open ai 用的代理,国内的服务器大多不能直连吧
    pkoukk
        9
    pkoukk  
    /div>   2023-07-13 11:25:56 +08:00   1
    @SWALLOWW #2 智能客服、QA 机器人。
    pkoukk
        10
    pkoukk  
       2023-07-13 11:29:55 +08:00
    langchain 好用么?
    ligz
        11
    ligz  
    OP
       2023-07-13 11:47:07 +08:00
    @Seanfuck 如果有趣或者细分领域还是有帮助的,例如上传法律条文、上传一些面试题之类的
    ligz
        12
    ligz  
    OP
       2023-07-13 11:49:47 +08:00
    @pkoukk #10 LangChain 还是可以的,这个项目所有和 OpenAI / Azure Openai 集成的代码都是用的 LangChain ,想要学习 LangChain 写 AI 应用的小伙伴可以拉代码看看。

    如果不想用 Python 写 AI 应用,我觉得 LangChainJs 是唯一选择。
    mMartin
        13
    mMartin  
       2023-07-13 11:49:56 +08:00
    这不就知识库么
    hahastudio
        14
    hahastudio  
       2023-07-13 13:22:12 +08:00
    关于 embedding 能否共享,我觉得大不了再存一个 model 名字就好了,顶多就是同一段文字有好几个 vector 结果,相当于是大型缓存
    但有几个问题:
    1. 可能同一篇文章不同的应用切出来的片不一样,有潜在浪费
    2. 需要假定传上来的都是可以放在公有领域的文字,不然别人付费了 paywall 做了 embedding 然后我没花钱也能拿到结果?
    easychen
        15
    easychen  
       2023-07-13 13:34:39 +08:00   1
    我也觉得这块可以搞搞,还注册了 vechub.cn 感觉还是给 embedding 定义一个开放格式,然后分享这个格式的文件比较好。这样各种聊天客户端可以直接支持,用户只需要去下载文件导入就能直接使用。
    connectsixboy
        16
    connectsixboy  
       2023-07-13 14:42:27 +08:00
    获取的 embedding 短时间内可以用,但是 OpenAI 更新模型之后,之前的获取的 embedding 是不是就失效了啊?
    ligz
        17
    ligz  
    OP
       2023-07-13 15:31:44 +08:00
    @hahastudio embedding 共享的商业化我也感觉有点难,感觉细分领域自己创建独有业务领域的 embedding 数据给别人使用还是很有前景的
    ligz
        18
    ligz  
    OP
       2023-07-13 15:33:38 +08:00
    @connectsixboy 理论上模型变化很大会造成失效,但是 OpenAI 最近都是更新 gpt 模型,text-embedding 模型更新频率很慢。
    flyingfz
        19
    flyingfz  
       2023-07-13 15:36:04 +08:00
    建议要加上 **模型** 类型。
    相信大部分人,由于各种原因,应该是没办法调用 open ai 的接口的,
    替代的方案,可以自己部署类似 BERT 或者 text2vec 的各种模型。
    rpman
        20
    rpman  
       2023-07-13 15:39:16 +08:00
    如何区分不同的 chunking 方式?
    EthanLiu1993
        21
    EthanLiu1993  
       2023-07-13 16:36:33 +08:00   1
    厉害,很早之前就关注了 chatFile ,晚上回去再看看这个
    ligz
        22
    ligz  
    OP
       2023-07-13 19:37:39 +08:00
    @rpman 暂时都是用的同一个 chunking ,大概 2000 tokens 一个 chunk 。
    关于     帮助文     自助推广系统     博客     API     FAQ     Solana     2290 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 01:49 PVG 09:49 LAX 17:49 JFK 20:49
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86