我可以理解到用户问到一个准确的问题,他可以通过通过相似度匹配到 TOP N 条相关的文档片段,然后交给 GPT 去总结结论。
但是一直没有理解明白,它是如何总结一篇几十万字文档的。这样也没法仅通过一条片段就可以总结全书啊,请问各位大佬们有知道思路的嘛?
1
Trinityuan OP 比如用户上传了一本市面上没有的 100 万字的小说,问了一句:请总结一下这篇小说讲了一个什么事情。
它是如何准确答出来的呢?感觉这是无法仅凭几篇文档片段就能总结出来的。 |
2
cwyalpha 2023-10-03 17:25:19 +08:00
mapreduce?
|
3
chenlide 2023-10-03 20:21:06 +08:00 5
gpt 的 prompt 肯定是不可能一次接收几十万字的。
他们把你说的几十万字篇文档分成了很多段,比如 1000 字一段。再把每一段经过 text2vec 文本嵌入算法把每一段转化为一个段落小向量(相当于把一段压缩成了向量来存储)。有个很新的东西叫向量数据库,就是存这些向量的。数据库是有查找功能的。 当用户提问时把用户的问题转化为小向量,把用户文本向量拿去和向量数据库的向量计算距离,做相似度匹配,找到距离最近的 K 个向量。取出 K 个向量对应的原文。 把 K 个向量的原文和用户的原问题组成一个 prompt 发给 gpt (字数相比直接接收几十万字少了很多),gpt 再回复 推荐搜一下 langchain &t=603s |
4
Trinityuan OP @cwyalpha 谢谢👍🏻,我去读一下相关文档。
|
5
Trinityuan OP @chenlide 收到,感谢细致的解答,我去调研一下相关文档👍🏻
|