共计 1616 个字符,预计需要花费 5 分钟才能阅读完成。
在 ChatGPT 相关 API 推出之后,各种工具如雨后春笋一般层出不穷,这篇文章就列举一些日常使用到的工具。
myreader.io[1]
myReader 主页
这款工具的作者是 @madawei2699.github 主页地址为 https://t.co/adJBYWbjkF,这款工具是一款基于 Slack 的机器人,提供了如下功能:
在线读取任意网页内容包括视频(YouTube),并根据这些内容回答你提出的相关问题或总结相关内容
支持读取电子书与文档(支持 PDF、EPUB、DOCX、Markdown、TXT),并根据这些内容回答你提出的相关问题或总结相关内容
定时发送每日热榜新闻,无论新闻是中文还是其他语言,它都能使用 chatGPT 用中文自动总结新闻的内容,方便快速获取热点新闻信息
支持 prompt 模版,能根据消息历史记录的上下文回答你的问题,甚至能和你玩游戏
支持多国语音交互(英文、中文、德语与日语),它会根据你的语言使用相关语言的声音来回答你的问题,从而帮助你训练外语能力,可以理解为它是你的私人外教
具体功能演示可以参考我的 AI 阅读助手[2]。
chatpdf[3]
ChatPDF 主页
这个可以看作是一个 PDF 辅助阅读的工具,用户上传自己的 PDF 之后,可以以对话的方式与工具进行交互,快速获取 PDF 文件的内容。
ChatPaper[4]
专注于“科研狗”的工具,通过 ChatGPT 实现对论文进行总结,帮助“科研人”进行论文初筛(目前不支持针对论文内容进行对话)。
ChatPaper 主页
另外相关的工具还有润色工具、审稿工具、审稿回复工具[5]。
最后,这篇文章——ChatGPT 应用开发小记 [6] 中提到的 基于 chatGPT 的应用类型 的分类也有借鉴意义。
原理
之前准备写一篇专门介绍上述工具类的原理介绍(其实 ChatGPT 的 插件——chatgpt-retrieval-plugin),但是后来查看了几个项目的源码之后发现,这类工具的主要原理其实比较直观:
解析相关输入为文本
将文本分句后获取句子的 embedding(这一步目前处理的处理方式大都是根据长度截断)并存储至数据库
用户输入转换为 embedding,并在数据库中召回相关性最高的句子集合
将召回的句子与用户输入句子组装为 ChaptGPT 的输入,获取输出
上述思路虽然直观,但要获取更好的结果,其实除了第三步,其余每一步都有优化的空间:
文本解析可以针对不同类型的数据针对性解析
文本分句方式可以采取特殊标点进行分句,同时句子 embedding 也有很多可选生成方法
召回的句子与用户输入句子组装为 ChaptGPT 的输入,结合任务特定的 prompt,获取更适合任务的输出
具体流程图可以参考 gpt-langchain-pdf[7]:
gpt-langchain-pdf
点击【阅读原文 】,查看@madawei2699 大佬写的ChatGPT 应用开发小记。
参考资料
[1]myreader.io: https://www.myreader.io/
[2]我的 AI 阅读助手: https://www.bmpi.dev/self/my-gpt-reader/
[3]chatpdf: https://www.chatpdf.com/
[4]ChatPaper: https://chatpaper.org/
[5]润色工具、审稿工具、审稿回复工具: https://github.com/kaixindelele/ChatPaper
[6]ChatGPT 应用开发小记: https://www.bmpi.dev/dev/chatgpt-development-notes/my-gpt-reader/
[7]gpt-langchain-pdf: https://github.com/mayooear/gpt4-pdf-chatbot-langchain/blob/main/visual-guide/gpt-langchain-pdf.png