V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chuangbo
V2EX  ›  OpenAI

一个让 ChatGPT API “学习”超过 4096 tokens 上下文的思路

  •  1
     
  •   chuangbo · 2023-03-03 09:59:01 +08:00 · 7046 次点击
    这是一个创建于 633 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想要将 ChatGPT 应用到某个领域,让它学习专有的上下文是必不可少的。例如,想让 OpenAI 成为智能客服,需要让它学习常见问题的回答。

    然而,ChatGPT API 有一个限制,即一次只能处理 4096 个 tokens 的上下文。这意味着,在每一个对话中都无法将完整的上下文传递给 ChatGPT 。即使 4096 个 tokens 对于放置上下文来说足够,控制成本也是个问题。

    下面介绍的一个开源项目,提供了一个思路。这个项目让 AI 学会了所有 Paul Graham 的文章内容,共计 605,870 个 tokens 。借助这个项目,你可以自由提问,进行自然回答。

    这个项目的基本原理是,通过 Embedding 模型和数据库在大量物料中搜索可能与用户回答相关的段落,然后从这些段落中生成 prompt ,以便 ChatGPT 进行聊天式的回答。如果你对该项目感兴趣,可以在下面的链接中了解更多信息。

    作者介绍项目的 tweet: https://twitter.com/mckaywrigley/status/1631328308116996097

    项目地址: https://github.com/mckaywrigley/paul-graham-gpt
    第 1 条附言  ·  2023-03-05 00:49:29 +08:00

    另外再给大家补充推荐两个参考

    1. llama-index (gpt-index)

    它是一个 Python 工具包,它封装了上面提到的思路,实现了突破 4096 tokens 限制的功能。除此之外,它还有许多功能:

    • 长文本摘要
    • 个人数据库自然语言查询
    • 预测分析 OpenAI API 成本

    项目地址:https://github.com/jerryjliu/gpt_index

    2. OpenAI Cookbook

    它是 OpenAI 官方提供的一系列实用的例子和指南,其中包括了各种场景和功能的演示和代码,让你轻松上手 OpenAI 的强大能力

    项目地址:https://github.com/openai/openai-cookbook

    15 条回复    2023-04-27 09:51:00 +08:00
    rajesh941
        1
    rajesh941  
       2023-03-03 10:14:57 +08:00
    本地有 100 篇文章,能让它学习下吗?
    chuangbo
        2
    chuangbo  
    OP
       2023-03-03 10:30:11 +08:00
    @rajesh941 可以的,这个项目的思路相当于让 OpenAI “学习”了 60 万字的文章,成本只有 0.24 美元。
    shuxiaokai
        3
    shuxiaokai  
       2023-03-03 11:49:56 +08:00
    可以做智能客服,训练好数据集。
    hanbing135
        4
    hanbing135  
       2023-03-03 11:59:38 +08:00
    这个思路很猛啊
    vToExer
        5
    vToExer  
       2023-03-03 12:45:29 +08:00 via Android
    这个思路看起来和 gptindex 相似,都是在外部存放一份数据供 chatgpt 读取使用,以突破 4096 的上下文限制
    leimao
        6
    leimao  
       2023-03-03 12:53:24 +08:00 via iPhone   ❤️ 1
    这个做法很早就有人做了,比如说 BERT 时期的 Universal Sentence Encoder ,可以用来做检索。
    kongkongye
        7
    kongkongye  
       2023-03-03 13:23:16 +08:00
    amazing!!!
    rajesh941
        8
    rajesh941  
       2023-03-03 13:39:55 +08:00
    @chuangbo 感觉挺适合给公务员用的
    mrgeneral
        9
    mrgeneral  
       2023-03-03 13:46:55 +08:00   ❤️ 2
    ChatGPT 官方提供了这个解决方案的,我上周刚研究完,主要是数据安全不太好解决。

    官方提供的思路是:通过关键词对物料进行关联度匹配(官方给的例子是余弦算法),选择关联度高的来做 prompt 。
    mrgeneral
        11
    mrgeneral  
       2023-03-03 17:39:13 +08:00
    @chuangbo 是的
    xiabill
        12
    xiabill  
       2023-03-04 20:57:13 +08:00
    这个有人在实践了嘛
    wodema
        13
    wodema  
       2023-03-05 11:22:14 +08:00
    @xiabill 这个 chatpdf.com 处理 PDF 文件的方式应该就是这样的
    chuangbo
        14
    chuangbo  
    OP
       2023-03-05 12:21:17 +08:00
    @wodema 感觉 ChatPDF 的功能,llama-index 已经实现了,包括提取 PDF 文字,创建索引和查询功能。
    Ervin
        15
    Ervin  
       2023-04-27 09:51:00 +08:00
    embedding 模型有 8191 的 token 限制,我丢了一堆 pdf 进去,就报这个限制
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3600 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:54 · PVG 12:54 · LAX 20:54 · JFK 23:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.