Langchain使用
一、Agent通用架构
下图正中间的Agent,可以看成是LLM。 所以Agent架构, 其实是以LLM为核心,接入了
- Tools:用于把LLM输出转换成实际调用工具
- Memory:用于让LLM学习通用知识外的。 比如Short-term主要是各agent间的对话上下文; Long-term主要是保存知识信息,用于将来使用
- Planning:用于让LLM迭代形式提升输出质量,类似 flow-engineering
二、Langchain的主要功能
- Agent: 基于用户输入自动判断如何对一系列工具进行灵活调用
- Chains:是对Chain的一系列调用。 每个Chain是对LLM和Prompt的封装。
- SimpleSequentialChain:每个步骤有单一的输入输出,上一步的输出就是下一步的输入
- SequentialChain:多输入多输出,上一步多输出,要实现如何传递下一步输入
- 检索文档:从数据源读取、存储索引、构造检索器、加缓存