LangChain 核心概念
LangChain是 2022年10月 ,由哈佛大学的 Harrison Chase (哈里森·蔡斯)发起研发的一个开源框架,用于开发由大语言模型(LLMs)驱动的应用程序。
顾名思义,LangChain中的“Lang”是指language,即⼤语⾔模型,“Chain”即“链”,也就是将⼤模型与外部数据&各种组件连接成链,以此构建AI应⽤程序。
类似于SpringAI、Spring Boot框架 LangChain ≠ LLMs LangChain 之于 LLMs,类似 Spring 之于 Java LangChain 之于 LLMs,类似 Django、Flask 之于 Python
为什么用langchain
Section titled “为什么用langchain”同样能够使用GPT、GLM4等大模型API进行开发,搭建智能体、问答系统等,但是Langchain使得开发变得简化、学习成本更低、搭建现成的链式组装,用于完成特定的高级任务。
涉及prompt构建、LLM接入、记忆管理、工具调用、RAG、智能体开发等模块。
学习的最好方式做项目。
Langchain
Section titled “Langchain”Langchain
Section titled “Langchain”langchain:构成应用程序认知架构的Chains、Agents、Retrieval strategies等
langchain-community:第三方集成,Model I/O、Retrieval、Tool & Toolkit;合作伙伴包 langchain-openai、langchain-anthropic等
langchain-core:基础抽象和LangChain表达式语言(LCEL)
Langchain 就是AI应用组装套件,封装一堆的API,langchain琐碎的知识点特别多。
LangGraph
Section titled “LangGraph”LangGraph 可以看作基于LangChain的api的进一步封装,能够协调多个Chain、Agent、Tools完成更复杂的任务,实现更高级的功能。
LangSmith
Section titled “LangSmith”https://docs.smith.langchain.com/
仪表盘
链路追踪,提供6大功能:Debugging(调试)、Playground(沙盒)、Prompt Management(提示管理)、Annotation(注释)、Testing(测试)、Monitoring(监控)等,与LangChain无缝集成,帮助从原型阶段过渡到生产阶段。
LangServe
Section titled “LangServe”将LangChain的可运行项和链部署为RESTAPI,使其可以通过网络进行调用。
总结:LangChain当中,最有前途的两个模块就是:LangGraph,LangSmith。
LangChain能做RAG,例如LlamaIndex;Agent发力:LangGraph,运维、监控:LangSmith
大模型应用开发
Section titled “大模型应用开发”基于RAG架构的开发
Section titled “基于RAG架构的开发”背景:知识冻结、幻觉
检索增强生成,Retrieval- Augmented- Generation
基于知识库,根据知识库的内容、与大模型。通过知识reranker 重排给出相似度最高的知识,解决幻觉问题
追求 回答高精度 和 高相关性 的场景中特别适合使用reranker,例如专业知识库或者客服系统等应用。 不适合:引入reranker会增加召回时间,增加检索延迟。服务对 响应时间要求高 时,使用reranker可能不合适
基于Agent架构的开发
Section titled “基于Agent架构的开发”充分利用 LLM 的推理决策能力,通过增加 规划 、 记忆 和 工具 调用的能力,构造一个能够独立思考、 逐步完成给定目标的智能体。
Agent = LLM + Memory + Tools + Planning + Action
大模型作为大脑,决策中枢。
记忆:短期记忆、长期记忆
不同模型支持记忆的上下文token数量不同
1 个英⽂字符 ≈ 0.3 个 token。 1 个中⽂字符 ≈ 0.6 个 token
大模型应用开发4个场景
Section titled “大模型应用开发4个场景”纯prompt
Section titled “纯prompt”对话式
Agent + Function Calling
Section titled “Agent + Function Calling”A I互动提要求,对接外部函数
考试,在书籍上找相关内容,根据题目组成答案
Fine-tuning 精调/微调
Section titled “Fine-tuning 精调/微调”LoRA、全量、等
LangChain核心组件
Section titled “LangChain核心组件”模型 I/O、检索、链、Agents、记忆、回调
Model I/O
Section titled “Model I/O”标准化各个大模型的输入和输出,包含输入模版、模型本身、格式化输出
Chains
Section titled “Chains”Chain:“链条”,用于将多个模块串联起来组成一个完整的流程
Memory
Section titled “Memory”Memory:记忆模块,用于保存对话历史或上下文信息,以便在后续对话中使用
Agents
Section titled “Agents”Agents,对应着智能体,是 LangChain 的高阶能力,它可以自主选择工具并规划执行步骤。
Retrieval
Section titled “Retrieval”etrieval:对应着RAG,检索外部数据,然后在执行生成步骤时将其传递到 LLM。步骤包括文档加载、切割、Embedding等
Callbacks
Section titled “Callbacks”回调机制,监控和分析运行情况,LangSmith