今天阳光很暖
LangChain 系列 9:支持图片和音频的多模态聊天数字人 LangChain 系列 9:支持图片和音频的多模态聊天数字人
上一章使用 Whisper 把语音转换成文字,再交给 Qwen3 回答。这个过程可以实现语音输入,但 Qwen3 实际接收到的仍然只有文字。 如果还希望程序理解图片,就需要增加真正的多模态模型。本文在 M1 Max 上部署 mlx-comm
2025-12-26
LangChain 系列 8:Gradio 聊天界面与本地语音输入 LangChain 系列 8:Gradio 聊天界面与本地语音输入
上一章完成了一个可以保存多轮历史的聊天机器人,但它只能在终端中运行。普通用户更习惯在网页里输入消息,也希望直接使用麦克风说话。 本文为聊天机器人增加 Gradio 页面,并使用 MLX Whisper 在 Apple Silicon 上完成
2025-12-19
LangChain 系列 7:实战开发一个有记忆的聊天机器人 LangChain 系列 7:实战开发一个有记忆的聊天机器人
前面已经学习了本地模型、OpenAI 兼容接口、消息、提示词模板和输出解析器,但每个示例基本都只完成一次调用。 真正的聊天机器人还要解决一个问题:用户说完第一句话后,模型能不能在第二轮继续理解前面的内容? 例如: 用户:我叫小明。 助手:你
2025-12-12
LangChain 系列 6:输出解析器与结构化输出 LangChain 系列 6:输出解析器与结构化输出
前面已经学习了消息和提示词模板。前面的示例向模型发送问题后,得到的主要还是一段自然语言。 自然语言适合人阅读,但程序更希望得到稳定的数据。例如,程序需要的天气信息可能是: { "city": "北京", "conditio
2025-12-05
LangChain 系列 5:提示词模板从基础到 ICL LangChain 系列 5:提示词模板从基础到 ICL
上一篇介绍了 LangChain 中的消息。我们已经知道,聊天模型接收的通常不是一段孤立文字,而是由 SystemMessage、HumanMessage、AIMessage 等对象组成的消息列表。 接下来会遇到另一个问题:消息结构可以固定
2025-11-21
LangChain 系列 4:消息与消息类型从入门到多轮对话 LangChain 系列 4:消息与消息类型从入门到多轮对话
前两篇已经完成了本地 Qwen3 部署,并分别使用 OpenAI Python SDK 和 LangChain 调用了这个模型。 调用 ChatOpenAI 时,既可以直接传入一个字符串,也可以传入一个消息列表。字符串适合一次独立的问题;当
2025-11-15
LangChain 系列 3:用 OpenAI 兼容接口连接本地 Qwen3 LLM LangChain 系列 3:用 OpenAI 兼容接口连接本地 Qwen3 LLM
上一篇已经使用 MLX-LM 直接加载本地 Qwen3-14B-AWQ-4bit-MLX,并完成了一次中文生成测试。 直接加载模型适合验证模型文件和推理环境,但业务代码会和 MLX-LM 绑定在一起。后续学习 LangChain 时,更常见
2025-11-09
LangChain 系列 2:在 M1 Max 上本地部署 Qwen3-14B MLX 大模型 LangChain 系列 2:在 M1 Max 上本地部署 Qwen3-14B MLX 大模型
在开始写 LangChain 代码之前,先要准备一个可以稳定调用的大模型。 如果模型本身还不能正常加载,后面遇到问题时,就很难判断究竟是 LangChain 代码写错了,还是模型、运行环境、网络接口出了问题。因此,本系列先从最底层开始:把模
2025-11-05
LangChain 系列 1:先搞懂 LangChain、LangGraph、LangSmith 是什么 LangChain 系列 1:先搞懂 LangChain、LangGraph、LangSmith 是什么
1. 为什么有了大模型还需要应用框架1.1 大模型不是完整应用Qwen、DeepSeek、GPT、Claude 这类大模型,主要负责理解输入和生成内容。 如果只是写一个简单问答程序,直接调用模型接口就可以: 用户问题 -> 模型 -> 模型
2025-11-01