【langchain】构建检索问答链
文章目录
- 说明
- 1 创建向量存储器(Chroma + textV4Embeddings)【待补充】
- 2 构建检索链(RunnableLamdba 、RunnableParallel)
- 3 提示词模板(PromptTemplate)
- 4 组装完整的 RAG 问答链(LCEL语法连接各种组件)
- 其它
说明
LangChain 是一个用于开发基于大模型(LLM)应用的框架,它提供了丰富的工具和组件来简化 LLM 应用的构建过。
核心概念
-
Components 组件。提供各种基础构建块,如:
PromptTemplate
:用于创建和管理提示词的模板
LLM
和ChatModel
:封装各种大模型的接口
OutputParser
:解析模型输出
Retriever
:实现信息检索功能功能 -
Chains(链)
将多个组件组合成可执行的工作流(Runable
类的才行)
支持顺序执行、并行执行(RunnableParallel
)等不同模式
LCEL(全称:LangChain Expression Language)提供了简洁的链式调用语法 -
Data Connection(数据连接)
提供与外部数据源的连接能力
包括文档加载其、文本分割器、向量存储集成等
支持检索增强生成(RAG,retrieval-Augmented Generation)模式
主要优势
- 模块化设计:各个组件可以灵活组合
- 标准化接口:统一的 API 简化了不同模型和服务的集成
- 内置最佳实践:集成了 LLM 应用开发的最佳实践
- 扩展性强:支持自定义组件和第三方集成