3 Tweets 98 reads May 05, 2023
补充一下,#LangChain 里还有一种方式叫refine,指的是原文切分小块后,先将第一块摘要,然后将第一块摘要和第二块原文放在一起再摘要,得出的摘要再和第三块原文放在一起再进行摘要,以此类推。以下是他们的区别:👇🧵
refine和递归的区别在于:递归是针对每一块进行摘要,再对多个摘要进行二次、三次摘要。这种形式在非常大的文档面前(也就是树高比较高的情况下)会有比较严重的信息丢失。
而refine是不断地将原文“汇入”摘要,对于长文本这种形式丢失信息可能较少(需要实测对比下)。
拿LIamaIndex的两张图来说明:
另外,对于refine需要调用LLM的次数会比递归要多,成本会更高。并且递归是可以并行化加快摘要速度的,而refine只能串行化执行。
这是 #langchain 中几种摘要类型的示例代码:
python.langchain.com
这是几种类型的讲解:
docs.langchain.com

Loading suggestions...