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/7/20 18:42:59 阅读更多 →
蓝牙配对与安全机制-第2章第2题-传统PIN配对如何处理配对请求的验证

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

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

2026/7/20 18:41:58 阅读更多 →
万物皆方程:当神经网络开始“听懂”物理定律

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

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

2026/7/20 18:41:58 阅读更多 →

最新新闻

终极指南:如何用SketchUp STL插件实现3D设计到打印的无缝衔接 [特殊字符]

终极指南:如何用SketchUp STL插件实现3D设计到打印的无缝衔接 [特殊字符]

终极指南:如何用SketchUp STL插件实现3D设计到打印的无缝衔接 🚀 【免费下载链接】sketchup-stl A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export. 项目地址: https://gitcode.com/gh_mirrors/sk/sketchu…

2026/7/21 9:35:49 阅读更多 →
高级爵士舞《Take My Hand》模块化学习与工程化训练指南

高级爵士舞《Take My Hand》模块化学习与工程化训练指南

在技术领域,命令行界面(CLI)通常与系统管理、开发工具和自动化脚本相关联。然而,将CLI的概念与舞蹈网课相结合,可以引申出一种高效、结构化的学习方式,即通过一系列清晰的指令和步骤来掌握复杂的舞蹈动作。…

2026/7/21 9:35:49 阅读更多 →
Ayaneo Next 2 顶配版售价涨至 5299 美元,此前因内存成本飙升暂停预购

Ayaneo Next 2 顶配版售价涨至 5299 美元,此前因内存成本飙升暂停预购

Ayaneo Next 2 顶配版售价大幅上涨《PC Gamer》发现,Ayaneo 网站上的 Next 2 产品列表中,其顶配版售价达到了 5299 美元。而在今年早些时候,Ayaneo 暂停预购前,同样配备 128GB 内存和 2TB 存储的配置售价为 4299 美元。内存成本飙…

2026/7/21 9:35:49 阅读更多 →
Adobe-GenP 3.0 终极指南:免费激活Adobe全家桶的简单教程

Adobe-GenP 3.0 终极指南:免费激活Adobe全家桶的简单教程

Adobe-GenP 3.0 终极指南:免费激活Adobe全家桶的简单教程 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 还在为Adobe Creative Cloud高昂的订阅费用烦恼…

2026/7/21 9:35:49 阅读更多 →
WaveTools深度解析:逆向工程实现原理与游戏性能调优架构

WaveTools深度解析:逆向工程实现原理与游戏性能调优架构

WaveTools深度解析:逆向工程实现原理与游戏性能调优架构 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools WaveTools是一款基于C#和WPF框架开发的开源游戏优化工具,专门为《鸣潮》PC版…

2026/7/21 9:35:49 阅读更多 →
自顶向下设计:XYZ轴机械模组建模与运动仿真全流程实战

自顶向下设计:XYZ轴机械模组建模与运动仿真全流程实战

如果你是一名机械工程师、产品设计师,或者正在学习3D建模的学生,最近是否被一个看似简单却总也绕不过去的问题困扰: 面对一个由多个运动部件组成的复杂机械装置(比如一台3D打印机、一个机械臂,甚至是一个简单的升降平…

2026/7/21 9:34:49 阅读更多 →

日新闻

Octane Render与C4D汉化版安装与优化指南

Octane Render与C4D汉化版安装与优化指南

1. Octane Render与C4D的黄金组合:为什么选择这个方案?在三维创作领域,渲染器的选择往往决定了作品的最终呈现质量和工作效率。作为Cinema 4D(C4D)用户,Octane Render的GPU加速特性与实时预览功能&#xff…

2026/7/21 0:00:19 阅读更多 →
GPMC接口设计:异步/同步模式与多路复用配置实战

GPMC接口设计:异步/同步模式与多路复用配置实战

1. GPMC接口设计:从硬件连接到软件配置的全局视角在嵌入式系统开发中,尤其是基于TI Sitara系列如AM263x这类高性能微控制器的项目里,外部存储器的扩展几乎是绕不开的一环。无论是存放大量非易失性代码的NOR Flash,还是作为高速数据…

2026/7/21 0:00:19 阅读更多 →
UE5 GAS框架下RPG被动技能系统:从核心原理到实战实现

UE5 GAS框架下RPG被动技能系统:从核心原理到实战实现

1. 项目概述:UE5 GAS RPG被动技能的核心价值在UE5里用GAS(Gameplay Ability System)做RPG游戏,主动技能像是你手里的武器,按一下打一下,逻辑直接,反馈也快。但被动技能,它更像是你身…

2026/7/21 0:00:19 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/21 8:48:31 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 5:34:47 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/21 8:25:39 阅读更多 →

月新闻