跳转至

Summarization 文本摘要

假设您有一组文档(PDF、概念页面、客户问题等)并且您想要总结内容。

RAG 核心流程步骤

过程
1. 下载页面内容如果文件打的话就进行分块处理
2. 构建 自定义prompt + 初始化 LLM
3. 通过构建 prompt + llm + chain_type 构建新的 chain
4. 通过run的方式获取最终的摘要结果

# 最终可以选择输出的3种模式

- 1.Stuff 只需将所有文档塞入一个提示中即可这是最简单的方法
    - chain_type="stuff" 有的全局概要的感觉
- 2.Map-Reduce 
    - map - 对分割的文件快进行 文本摘要
    - reduce - 将每个map生成的摘要 合并为一个全局摘要
    chain_type="map_reduce" 有点全面分析总结的感觉
- 3.Refine: 类似 Map-Reduce功能
    - 细化文档链通过循环输入文档并迭代更新其答案来构建响应
    - 对于每个文档它将所有非文档输入当前文档和最新的中间答案传递给 LLM 链以获得新答案
    - chain_type="refine"   有点类似精度的感觉


    需要对分割后的数据进行向量化并存储
    - 文本相似度检索内容 retriever.invoke 


- 4.Chain stuff_chain 需要由 prompt + llm 构建
    - 基于内容检索内容做总结回答 rag_chain.invoke

Prompt 可以自定义PromptTemplate
LLM 可以自定义不同的接口平台OpenAIOllamaFacebook AI 团队)、ChatAnthropicAnthropic 公司)、ChatCohereCohere Technologies 公司
rag_chain 可以加入 history 上下文记忆并且还支持 多回话
回答可以流式输出 rag_chain.stream


回到顶部