type
status
date
slug
summary
tags
category
icon
password
LangChain Document有4种基础的处理模型:stuff,map_reduce,refine,map_rerank
LangChain版本0.0.342(这版本号取的一坨答辩💩)
说大白话就是不同的文本处理的方式。官方文档写的很清楚,比很多教程清楚多了。了解背后的思想,你就可以直接手撸了,便于更精细的控制代码(折腾)。
本教程采用Map-Reduce的方式搭建长文本摘要功能。
也断断续续用过LangChain,但是总是不太顺手。版本迭代也快。最新的文档显示支持语法,终于像个Chain了,写起来直观的知道数据的流向,很像之前一些数据pipeline框架的语法。
它就是LCEL(LangChain Expression Language)
用他的话说,就是有以下好处:
- 统一的接口,可以按一定条件组合(类似数据pipeline)
- 方便的批处理
- 支持异步执行
- 运行时可配置
- logging直接可以到LangSmith
目前,网络上教程几乎没有(不敢说没有)使用LCEL实现的长文本摘要教程,几乎都是抄来抄去使用
load_summarize_chain
。我们中,哦不,我们不吃这一套。步骤(简要)
- 首先,
import tensorflow as torch
。
这里采用之前私有部署的模型。如果调用大公司的API,请留意信息安全。
- 文本分块(Chunking)略
- Map chain
- Collapse chain(关键,压缩多个长文本到合适长度)
- Reduce Chain
- 串起来
- 使用: