Agent 30天速成|Day7 笔记
今日总学习目标替换Day3内存FAISS掌握Chroma持久化向量库本地磁盘落地、支持元数据过滤、MMR去重检索搭建多模态RAG图文统一向量空间、SigLIP图文嵌入、图片文本混合知识库检索扩展统一工具网关新增「图文检索工具」接入Day6 ReAct动态Agent打通完整多模态智能体链路文本对话图片检索计算器分层Redis记忆每日时长分配全天8h理论笔记阅读2.5h代码编写调试4h复盘面试背诵1.5h一、核心理论教学笔记Chroma向量库全解析替代FAISS1.1 FAISS痛点 Chroma优势Day3 FAISS仅内存存储重启丢失向量、无元数据、不支持过滤、无内置去重逻辑Chroma专为LLM RAG设计核心优势持久化本地磁盘程序重启向量不丢失开箱即用无需部署服务内置三层客户端内存临时、本地持久、远程服务异步客户端原生支持元数据过滤按文档来源、类型、上传时间筛选检索MMR最大边际相关性检索避免返回高度重复片段提升多样性统一Collection集合隔离文本库、图片库分开存储互不干扰同步/异步双API完美适配项目全异步架构1.2 Chroma三大客户端模式客户端类型 存储位置 适用场景EphemeralClient 内存 单元测试、临时调试PersistentClient 本地文件夹磁盘 单机本地知识库、学习项目AsyncHttpClient 远程Chroma服务 多实例分布式线上服务1.3 核心检索能力基础相似度检索返回文本/图片片段距离分数Metadata条件过滤filter{“type”:“image”,“source”:“产品手册”}MMR去重检索平衡相似度与多样性适合长文档问答批量增删改查支持文档/图片批量入库、指定ID删除2. 多模态RAG基础MM-RAG2.1 跨模态嵌入核心原理SigLIP传统文本Embedding只能编码文字SigLIP/CLIP构建统一共享向量空间图片输入 → 视觉编码器 → 图片向量文字描述/用户提问 → 文本编码器 → 文本向量语义相近的图文向量距离更近实现以文搜图、以图搜文双向检索2.2 多模态RAG完整流程知识库预处理文本分块、图片提取SigLIP向量存入同一Chroma集合附加typetext/image元数据用户输入文字/图片生成多模态向量Chroma跨模态相似度召回可过滤只返回图片或文本图文检索结果统一拼接进Prompt交由大模型结合图文信息回答2.3 多模态RAG解决的业务痛点手册截图、流程图、产品配图无法被纯文本RAG检索用户描述图片内容无法匹配对应图文资料图文混合知识库统一存储、统一检索不用两套向量库3. 多模态工具网关扩展在Day6网关基础上新增multimodal_search工具标准化输入query文字检索词图文通用search_typeall/text/image 三种检索模式top_k返回片段数量use_mmr是否开启去重检索网关统一封装SigLIP向量化、Chroma检索、元数据过滤逻辑上层ReAct Agent无需关心图文底层差异。今日完整串联链路整合前6天全部能力用户提问支持图文描述Redis读取分层记忆自动滑动窗口摘要压缩ReAct循环Thought-Action-ObservationThought判断是否需要检索图文知识库/数学计算Action调用统一工具网关计算器/多模态检索网关执行Chroma图文检索或计算返回Observation自我反思判断信息是否充足循环迭代汇总所有工具结果输出最终回答对话持久化存入Redis记忆二、今日学习重点Chroma持久化向量库增删改查、元数据过滤、MMR去重检索SigLIP本地图文嵌入模型调用实现跨模态向量生成扩展工具网关封装统一图文检索工具改造ReAct Agent支持自动调用多模态知识库对比FAISS与Chroma落地差异掌握生产级本地向量库选型三、今日难点 解决方案难点1SigLIP本地模型下载慢、CPU推理卡顿解决方案提前缓存模型权重到本地离线加载推理开启torch.no_grad()关闭梯度大幅提速学习阶段缩小图片尺寸降低算力消耗难点2图文向量混在一起检索大量无关图片/文本解决方案入库时添加type元数据区分图文工具支持search_type过滤按需只查文本/图片设置相似度分数阈值过滤低相关结果难点3Chroma持久化后向量膨胀、查询变慢解决方案按业务拆分多个Collection文本库、图片库分离定期清理过期无用文档释放向量存储检索开启MMR减少重复冗余片段难点4ReAct分不清何时该查文本、何时查图片解决方案System提示词明确规则描述图表/截图/产品配图调用image检索理论知识调用text检索Few-shot示例演示图文区分调用逻辑工具返回时区分图文来源模型下一轮可精准判断四、完整练习代码基于Day1~Day6扩展新增依赖安装pip install chromadb torch transformers pillow scikit-learn多模态向量库 chroma_mm_store.pyimport asyncioimport chromadbfrom chromadb.utils.embedding_functions import create_langchain_embeddingimport torchfrom PIL import Imagefrom transformers import AutoProcessor, AutoModelimport numpy as npfrom typing import List, Dict, Optional 1. SigLIP多模态嵌入本地模型 device “cuda” if torch.cuda.is_available() else “cpu”processor AutoProcessor.from_pretrained(“google/siglip-so400m-patch14-384”)siglip_model AutoModel.from_pretrained(“google/siglip-so400m-patch14-384”).to(device).eval()def text_to_vector(text: str) - List[float]:“”“文本转多模态向量”“”with torch.no_grad():inputs processor(texttext, return_tensors“pt”).to(device)vec siglip_model.get_text_embedding(**inputs)return vec.squeeze().cpu().numpy().tolist()def image_to_vector(img_path: str) - List[float]:“”“图片转多模态向量”“”img Image.open(img_path).convert(“RGB”)with torch.no_grad():inputs processor(imagesimg, return_tensors“pt”).to(device)vec siglip_model.get_image_embedding(**inputs)return vec.squeeze().cpu().numpy().tolist() 2. 持久化Chroma多模态向量库封装 class MultiModalChromaStore:definit(self, persist_path“./chroma_mm_db”, coll_name“mm_kb”):# 本地持久化客户端self.client chromadb.PersistentClient(pathpersist_path)self.collection self.client.get_or_create_collection(namecoll_name,metadata{“hnsw:space”: “cosine”} # 使用余弦相似度)# 批量插入文本 async def add_text(self, text_list: List[str], source: str 文档): ids [ftxt_{i} for i in range(len(text_list))] vecs [text_to_vector(t) for t in text_list] metas [{type: text, source: source} for _ in text_list] self.collection.add( embeddingsvecs, documentstext_list, metadatasmetas, idsids ) # 插入单张图片 async def add_image(self, img_path: str, desc: str, source: str 图片库): vec image_to_vector(img_path) self.collection.add( embeddings[vec], documents[desc], metadatas[{type: image, source: source, img_path: img_path}], ids[fimg_{img_path.replace(/,_)}] )

相关新闻

如何优化Tmax-9B-MLX-4bit的聊天模板:掌握Qwen3.5 XML工具调用格式

如何优化Tmax-9B-MLX-4bit的聊天模板:掌握Qwen3.5 XML工具调用格式

如何优化Tmax-9B-MLX-4bit的聊天模板:掌握Qwen3.5 XML工具调用格式 【免费下载链接】Tmax-9B-MLX-4bit 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/Tmax-9B-MLX-4bit Tmax-9B-MLX-4bit是基于Qwen3.5架构的4bit量化模型,通过优化…

2026/10/26 22:35:02 阅读更多 →
蓝牙配对与安全机制-第2章第2题-传统PIN配对如何处理配对请求的验证

蓝牙配对与安全机制-第2章第2题-传统PIN配对如何处理配对请求的验证

传统 PIN 配对如何处理配对请求的验证?—— 配对请求校验流程与防伪实践 难度:⭐⭐⭐ 进阶 | 场景:社招一面/二面、协议栈岗 | 高频:🔥🔥🔥 适合级别:中级(3-5 年)| 建议阅读时间:9 分钟 技术基线:Bluetooth Core Spec(BR/EDR Legacy Pairing) 前言 上一题讲…

2026/10/24 23:56:58 阅读更多 →
万物皆方程:当神经网络开始“听懂”物理定律

万物皆方程:当神经网络开始“听懂”物理定律

神经网络在物理学中的应用已远超早期“万能函数逼近器”的范畴,发展出了多种深度融合物理规律的新型架构与范式。下面从求解方程、学习算子、尊重对称性、保持结构、加速模拟、分析实验数据等维度,梳理当前主流及前沿的物理神经网络。1. 物理信息神经网络…

2026/10/25 16:19:15 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/25 22:36:10 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/26 4:52:12 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/26 5:00:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/26 3:16:46 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 13:21:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →