今天阳光很暖
RAG 系列 6:使用 Chroma 实现持久化向量检索 RAG 系列 6:使用 Chroma 实现持久化向量检索
上一篇使用 FAISS 完成了本地向量检索。FAISS 主要管理向量和位置编号,原始文本、业务 ID 与 Metadata 通常需要由应用额外维护。 这一篇改用 Chroma 原生 API。Chroma 可以在一个 Collection 中
2026-02-19
RAG 系列 5:使用 FAISS 实现本地向量检索 RAG 系列 5:使用 FAISS 实现本地向量检索
上一篇比较了 FAISS、Chroma 和 Milvus。这一篇先使用最轻量的 FAISS,不启动数据库服务,并通过 LangChain 的 FAISS 封装管理向量、原文和元数据。 我们会让本地 Qwen3-Embedding-0.6B
2026-02-12
RAG 系列 4:向量数据库基础与 FAISS、Chroma、Milvus 选型 RAG 系列 4:向量数据库基础与 FAISS、Chroma、Milvus 选型
上一篇使用 CSV 保存了 100 条评论及其 Embedding,然后在查询时逐行读取向量、计算余弦相似度并排序。这个方法容易理解,也能帮助我们验证语义搜索的完整过程,但数据量继续增加后会遇到几个问题: 每次查询都要扫描全部向量。 向量
2026-02-05
RAG 系列 3:使用 Qwen3 Embedding 实现评论数据语义搜索 RAG 系列 3:使用 Qwen3 Embedding 实现评论数据语义搜索
上一篇已经完成 Qwen3-Embedding-0.6B 的本地部署,也分别使用了 LangChain 的 embed_documents() 和 embed_query()。前文只比较了几句话,这一篇把这些知识放进一个更接近真实使用场景的
2026-01-29
RAG 系列 2:本地部署 Qwen3 Embedding 并接入 LangChain RAG 系列 2:本地部署 Qwen3 Embedding 并接入 LangChain
本文开始使用真正的 Embedding 模型。我们会下载 Qwen/Qwen3-Embedding-0.6B,使用 SentenceTransformer 生成 1024 维向量,比较几句话的语义相似度,最后通过 LangChai
2026-01-23
RAG 系列 1:Embeddings 从向量到语义相似度 RAG 系列 1:Embeddings 从向量到语义相似度
RAG 的第一步不是直接搭建知识库,而是先理解文本怎样变成可以检索和比较的向量。 本文讨论的是文本 Embedding 模型。它对外的使用方式与聊天模型不同:输入仍然是文字,但输出不再是回答,而是一串浮点数: 输入:苹果是一种常见的水果。
2026-01-09
LangChain 系列 9:综合案例:支持图片和音频的多模态聊天数字人 LangChain 系列 9:综合案例:支持图片和音频的多模态聊天数字人
上一篇使用 Whisper 把语音转换成文字,再交给 Qwen3 回答。这个过程可以实现语音输入,但 Qwen3 实际接收到的仍然只有文字。 如果还希望程序理解图片,就需要增加真正的多模态模型。本文在 M1 Max 上部署 mlx-comm
2025-12-26
LangChain 系列 8:综合案例:聊天界面与本地语音输入 LangChain 系列 8:综合案例:聊天界面与本地语音输入
上一篇完成了一个可以保存多轮历史的聊天机器人,但它只能在终端中运行。普通用户更习惯在网页里输入消息,也希望直接使用麦克风说话。 本文为聊天机器人增加 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
3 / 35