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

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

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

2026/7/22 14:52:51 阅读更多 →
万物皆方程:当神经网络开始“听懂”物理定律

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

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

2026/7/23 8:25:59 阅读更多 →

最新新闻

agno v2.8.0 正式上线:评测体系大升级,工具执行匹配更严格,环境回放能力全面增强

agno v2.8.0 正式上线:评测体系大升级,工具执行匹配更严格,环境回放能力全面增强

2026年7月23日,agno 发布了 v2.8.0 最新版本。 这次更新的重点非常集中,主要围绕三个方向展开: 评分与评测能力增强环境隔离与批量回放能力增强工具执行、判分安全性与可靠性进一步收紧 从更新内容来看,v2.8.0 不只是新增了几个…

2026/7/24 9:05:59 阅读更多 →
MSP430 ADC10_B模块实战:从低功耗配置到温度传感器校准

MSP430 ADC10_B模块实战:从低功耗配置到温度传感器校准

1. MSP430 ADC10_B模块:从入门到精通的实战指南 在嵌入式开发,尤其是电池供电的低功耗应用里,模数转换器(ADC)的性能和功耗往往是决定系统成败的关键。我接触过不少MCU的ADC模块,但MSP430的ADC10_B模块以其…

2026/7/24 9:05:59 阅读更多 →
LMZ电源模块PCB设计与焊接工艺全解析:从热管理到回流焊实战

LMZ电源模块PCB设计与焊接工艺全解析:从热管理到回流焊实战

1. 项目概述:为什么LMZ电源模块的PCB与焊接工艺如此关键?在工业控制、通信基站这些对电源稳定性要求极高的领域里,一颗小小的电源模块往往是整个系统稳定运行的“心脏”。我接触过不少项目,初期为了赶进度,PCB布局和焊…

2026/7/24 9:05:59 阅读更多 →
电力系统功率预测技术演进与市场影响分析

电力系统功率预测技术演进与市场影响分析

1. 电力行业变革前夜:功率预测为何成为命门? 2026年即将实施的电网调度新规,被业内称为"史上最严换岗令"。这个看似普通的岗位调整政策,实则直指电力系统运行的核心痛点——功率预测精度。在山西某新能源场站&#xff0…

2026/7/24 9:05:59 阅读更多 →
【2027最新】基于SpringBoot+Vue的养老保险管理系统管理系统源码+MyBatis+MySQL

【2027最新】基于SpringBoot+Vue的养老保险管理系统管理系统源码+MyBatis+MySQL

博主介绍:🌟 个人简介 CSDN特邀作者 | 掘金优质创作者,深耕Java生态与现代Web开发技术栈。专业领域涵盖Java企业级开发、Spring Boot微服务架构、前后端分离解决方案,以及学术项目的工程化实践。 📊 影响力数据 全平台…

2026/7/24 9:05:59 阅读更多 →
三个月翻倍:46.66 万亿 Token 背后,AI 产业正在发生什么

三个月翻倍:46.66 万亿 Token 背后,AI 产业正在发生什么

先看数据。 根据全球最大的 AI 模型 API 聚合平台 OpenRouter 的统计,2026 年二季度,平台周度 Token 调用量从 4 月初的约 21 万亿,飙升到 6 月 15 日的 46.66 万亿。三个月,翻了一倍多。 这不是某一个模型的爆发,而是…

2026/7/24 9:04:59 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值,并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

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

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

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

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

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

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

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

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

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

2026/7/23 17:49:47 阅读更多 →

月新闻