AI大模型应用开发学习-8【20251026】

学习内容:

✅ LangChain基本概念

  • Models, Prompts, Memory, Indexes, Chains, Agents
  • LangChain中的tools (serpapi, llm-math)
  • LangChain中的Memory
  • LECL构建任务链
    ✅ LangChain实战
  • CASE:动手搭建本地知识智能客服(理解ReAct)
  • CASE:工具链组合设计 (LangChain Agent)
  • CASE:搭建故障诊断Agent(LangChain Agent)
  • CASE:工具链组合设计 (LCEL)
    ✅ AI Agent对比

学习产出:

LangChain多任务协作

1. 核心功能概述

这是一个结合了LangChain框架和原始OpenAI客户端API的工具链应用,主要实现了文本分析和文本到JSON转换的功能,同时支持流式输出和思考过程显示。

2. 系统架构

2.1 双客户端设计
  • LangChain OpenAI客户端:用于与LangChain框架集成
  • 原始OpenAIClient:用于实现高级功能(如流式调用和enable_thinking)
2.2 工具定义与调用流程
  • 工具注册 → 任务处理 → 工具调用(可选)→ 结果汇总

3. 关键组件分析

3.1 配置管理
  • 从环境变量动态加载ModelScope API密钥和基础URL
  • 支持灵活的部署环境配置
3.2 工具函数实现
文本分析工具
  • 实现字数、字符数、行数统计
  • 基于关键词匹配的简易情感分析
  • 返回结构化JSON结果
文本转JSON工具
  • 支持多种格式解析:纯JSON、键值对格式
  • 自动类型转换(布尔值、数字、空值等)
  • 完善的错误处理机制
3.3 工具调用系统
格式转换层
  • 将LangChain Tool对象自动转换为OpenAI函数调用格式
  • 保持功能一致性的同时提升调用灵活性
工具映射表
  • 建立函数名到实际实现的映射关系
  • 支持动态添加和管理工具

4. 高级特性

4.1 流式处理
  • 实现了完整的流式响应处理
  • 实时输出模型思考过程和结果
4.2 思考模式(enable_thinking)
  • 通过extra_body参数启用
  • 展示模型决策过程的详细信息
  • 增强了模型行为的可解释性
4.3 错误处理机制
  • 全面的异常捕获和处理
  • 用户友好的错误信息展示

5. 工作流程详解

5.1 第一轮交互
  1. 接收用户任务描述
  2. 转换工具格式并发送给模型
  3. 实时处理流式响应
  4. 提取思考内容和工具调用信息
5.2 工具执行阶段
  1. 解析工具调用参数
  2. 执行对应的工具函数
  3. 记录工具执行结果
5.3 第二轮交互
  1. 将工具结果加入对话历史
  2. 再次调用模型生成最终回答
  3. 实时输出最终思考和回答内容

6. 应用场景

  • 文本分析:情感分析、文本统计
  • 数据转换:结构化文本转JSON
  • 智能问答:不需要工具的普通问答

7. 设计亮点

  • 框架兼容性:同时支持LangChain和原始API的最佳特性
  • 可扩展性:易于添加新工具和功能
  • 用户体验:实时反馈和详细的过程可视化
  • 健壮性:完善的错误处理和边界情况考虑

Q & A

Q:怎么避免大模型生成的代码“假装”实现某个功能?比如要调用大模型,它会编造大模型生成的结果而不实际调用。
1)人工检查
2)看下大模型完成后的回复总结

Q:Text2SQL调用的模型多大比较合适?哪个模型比较好?
qwen3-coder-plus 是目前最好的模型
480B-A30B
30B-A3B

Q:small to big这种检索策略是不是很消耗token?经常是本地化部署使用吗?
Serpapi工具是相当于爬虫吗?(网页搜索)

Q:调用 SQLDatabaseToolkit 如何让它的回答中文,有没有地方设置 Prompt
可以找到 langchain的源码,将prompt改成中文

Q:ML/DL是不是最好也掌握,感觉自己现在知识不扎实,都会一点都不精通?还是全部精力都放在LLM上?希望老师分享一下意见。
ML/DL => 打造专业的工具,用垂直的样本进行训练,解决特定的问题
(训练特定的模型,掌握特征工程)
LLM => 更灵活的与用户沟通,调用专业的工具 (RAG, Text2SQL,Agent搭建)

Q:博士软件文字需求 能用AI生成原型界面吗
可以的

Q:Zero-shot-react 应该怎么理解
zero-shot 0样本,不需要通过示例进行学习(1-shot, few-shot)
让LLM根据自己的经验来判断
react = reasoning + action

Q:除了serpapi,还有其他的选择吗?
DuckDuckGO

Q:langchain和现在的ai agent有什么区别,agent也是LLM+一些列工具+记忆模块
langchain 就是帮你打造AI Agent

Q:服务多个用户的话 是只能用那个RAG模式吗?
每个用户都有对应的实例

Q:langchain、coze、dify都可以搭建智能体有什么区别?感觉langchain不能在网页搭建吗?只能在py里调用?
langchain 不是搭建网页,是一个后端的应用
coze, dify:低代码(拖拉拽在页面上可视化的方式进行编排)
langchain:高代码

Q:langchain搭建RAG和搭建agent有啥区别,感觉是一回事呀,都要配置知识库?
RAG 本身也是一种Agent类型
Agent:
1)基于知识库的回答智能体
2)Text2SQL

Q:langchain集成的工具会自动更新么?在哪里有使用说明?
你如果pip install -U 更新langchain,工具可能会有更新

Q:这种模式会不会影响大模型的推理能力
ReAct 是降低幻觉的一种方式

Q:ReAct是已经集成在langchain里面了吗?有没有优劣之分呢?ReAct是调用哪个LLM?
对的,已经集成了,实际上我们用 代码就可以

Q:react 和大模型的推理过程是指的同一个事情吗
对的额,ReAct是大模型推理的一种方式,先 Reasoning,再Action

Q: 使用langchain封装的工具,怎么抉择使用哪一种,大模型会自动选择吗?
工具需要指定的,给出一个list
LLM会从给定的范围list中,自主进行判断

Q:ReAct 和 COT 是一回事吗
ReAct是一种CoT

Q:对于产品来说coze的使用场景会比Longchain更实用?
coze:低代码 (可视化,直观,好上手;需要人自己来做,没有AI帮搭建)
LangChain:高代码(搞定一切,但是需要有一些门槛,好在我们可以用cursor/claude code 帮你写代码)

Q:Longchain似乎很快就不能用了?
官方推荐的是LangGraph

Q:coze工作流不能太复杂
对的!

Q:规划使用哪些工具是一次性规划出要使用的所有工具还是逐步规划的?
逐步规划
Agent => Question, Thinking, Action, Action input, Observation
plan(A=>B=>C=D) + exc

Q:langchan、langgraph也支持多模态吧
支持LLM,LLM可以是多模态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值