框架
Spring:封装了Java EE开发的复杂性,如依赖注⼊、事务管理、MVC。开发者不需要⼿动管理对象⽣命周期或处理繁琐的Servlet API。
libcurl:封装了⽹络协议的复杂性(HTTP, FTP, SMTP 等)。开发者不需要使⽤底层的socket API来⼿动构建HTTP请求。
LangChain:封装了与不同 LLM(OpenAI, Anthropic 等)、向量数据库(Chroma, Pinecone)、⼯具(Tools)交互的复杂性。开发者不需要为每个供应商编写不同的 API 调⽤代码。
LangChain为不同大模型提供了统一的接入方式,也封装了底层的复杂向量数据库的接入方式
框架功能:
• 架构:让我们知道代码应该组织成什么样⼦。
• 质量:让我们能判断 AI ⽣成的代码是否合格。
• 安全:框架内置的最佳实践和模式能规避许多基础⻛险。
• 集成:让我们能⾼效地将 AI ⽣成的“零件”组装到经过验证的、可靠的⼤系统中。
LLM驱动的应用程序框架
Python生态
丰富的库支持
1.机器学习框架
2.数据处理的库
3.web和api的集成
4.向量数据库客户端多
5.模型提供商sdk
主流的6大使用原生LLM的场景问题
1.幻觉问题:回答不合理的答案,如吞噬电池喝水排出
Redis本身提供了一些接入接口,a() b() c() z()调不通(被LLM幻觉出来的接口)
2.统一提示词
3.切换模型 GPT、Gemini、DeepSeek(封装好统一的接入方式)
4.编码时,需要获取对应的能力,更希望通过接口来完成,接口可以提供结构化数据(JSON、XML、HTML)
5.大模型训练截止日期 GPT-5 2024.9.30(无法获取实时日期)---解决---->(工具:搜索引擎)[联网搜索]
6.针对非常专业对的知识(医学),只能参考LLM的结果
LangChain
讲解
用于开发大语言模型(LLM)驱动的应用程序的框架。通过将⾃然语⾔处理
(NLP)流程拆解为标准化组件 ,让开发者能够⾃由组合并⾼效定制⼯作流。
以链式(Chain)的⽅式整合多个组件
Agent(智能体):自动推导
NLP:自然语言处理流程(读取文档、切割文本、将文本转换为向量[嵌入]、存储向量->接收用户问题、转换成向量、搜索相关文本段、将问题和文本段组合发送给大预言模型[LLM]、解析模型输出并返回答案等)
LangGraph
LangChain链式无法满足复杂应用的开发---解决--->LangGraph
例如:用户提交客服工单:链式局限性
1.用户提供错误信息,链式流程单向,结果让整个链失败
2.僵化的流程
3.手动维护系统状态(节点执行到哪里了?收集用户信息?流程是否完成?)
4.想要人工参与AI流程困难
如何解决:
1.打破链式思维,手动写一堆if-else

LangGraph改进:

技术特点
图结构
-
灵活控制:支持节点自我循环(信息不完整就重试)和动态路由(根据分类走不同流程)。
-
自带记忆:自动维护状态对象,能记住对话历史和中间信息,支持长时任务。
-
高可靠性:支持任务中断恢复(持久执行)和人工介入修改。
-
工程化:提供可视化调试工具和生产级部署能力。
