> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# SightRAG：视觉检索增强生成
- URL: https://www.hubwiz.com/blog/sightrag-visual-retrieval-augmented-generation/
- Published: 2026-08-12T04:33:39.000Z
- Updated: 2026-10-13T15:19:15.000Z
- Description: 保安为找一个人要看数小时的录像。零售经理要走遍货架通道检查陈列是否合规。放射科医生要翻遍数百张图像寻找类似的病例。仓库工人要一页一页地翻文件夹，寻找正确的托盘。
- Author: admin
- Tags: RAG, SIGHTRAG, #Import 2026-10-14 14:41

每家公司都有成千上万张图片。监控摄像头、产品照片、医疗图片、卫星图片、仓库库存图片、流水线图片。

但要找到足够精确的视觉信息，仍然是一件痛苦的事。

保安为找一个人要看数小时的录像。零售经理要走遍货架通道检查陈列是否合规。放射科医生要翻遍数百张图像寻找类似的病例。仓库工人要一页一页地翻文件夹，寻找正确的托盘。

我们改变了搜索文档和文本的方式，但视觉数据在很大程度上仍然靠人工搜索。

这正是 [SightRAG](https://github.com/VK-Ant/sightrag?ref=hubwiz.com) 要解决的问题。

![None](https://www.hubwiz.com/blog/content/images/2026/08/1-EDdN4xT7RzlCJr6XoCX6uw.png)

## 1、SightRAG 是什么

三行代码。指向你的数据。用简单的英语提问。找到答案。

```
from sightrag import SightRAG

rag = SightRAG()
rag.index("./photos/")
results = rag.query("find person near exit")
rag.show(results)

```

就这样。支持图片文件夹、视频文件和实时摄像头流。返回带边界框、置信度分数和时间戳的匹配图像。

无需训练。无需标注。无需定制流水线。安装即搜索。

![None](https://www.hubwiz.com/blog/content/images/2026/08/1-ykGnGSNJqVuK8kxjmYNSyw-1.png)

## 2、适用场景

### 2.1 零售——货架智能

```
rag = SightRAG(ocr=True)
rag.index("./store_cameras/")
rag.query("find empty shelf")
rag.query("find Calgon 2kg")        # OCR reads the label
rag.query("find misplaced product")

```

在一家零售连锁店里，一个门店有 50 台摄像头。摄像头每小时拍摄一次货架照片。SightRAG 为它们建立索引。经理搜索

***"find empty shelf near dairy"（找乳制品区附近的空货架）***

就能得到带时间戳的精确图像。不用再走地板巡查。

OCR 用于扫描产品标签。包装上实际写着

***"Find Calgon"（找 Calgon）***

过去耗时数小时的库存盘点，现在只需几秒。

![None](https://www.hubwiz.com/blog/content/images/2026/08/1-Yc1DcPcQN5z5_CoRpt7kWQ.jpeg.png)

### 2.2 安防——找到是谁，找到何时

```
rag = SightRAG()
rag.index("./cctv/entrance_cam.mp4")
results = rag.query(reference="./suspect_photo.jpg")

```

播放 CCTV 录像。用一张参考照片搜索，SightRAG 会返回该人物出现的每一帧，并带有精确的时间戳。

***"嫌疑人于凌晨 2:15 出现在入口摄像头。7 号摄像头，凌晨 1:45。"***

保安过去要花 4 小时逐帧翻看。现在，只需要一次查询。

### 2.3 制造——缺陷检测

```
rag = SightRAG(detector="grounding-dino")
rag.index("./assembly_line/")
rag.query("find cracked surface")
rag.query("find misaligned component")

```

Grounding DINO 可以找到你提到的任何缺陷。没有 COCO 类别限制。无需微调。输入你要找的东西即可。

对于复杂的纹理缺陷，可以通过 DetectorBase 接口接入你自己微调过的模型。嵌入、索引、检索、可视化这些其余工作都由 SightRAG 完成。

### 2.4 医疗——相似病例检索

```
rag = SightRAG(detector=MyTumorDetector(), embedder=BiomedCLIP())
rag.index("./patient_scans/")
results = rag.query(reference="./new_scan.dcm")

```

放射科医生查看新扫描。搜索医院数据库。SightRAG 显示三个视觉上最相似的历史病例。这不是诊断，而是一个每个病例能省下 30 分钟人工搜索的参考工具。

自带你的医学检测模型，使用你自己的领域专用嵌入器。SightRAG 把它们串联起来。

## 3、内部工作原理

SightRAG：模块化视觉 RAG 流水线。它不把你锁定在某个特定的 AI 模型或数据库上，你可以自定义每一步，但整体工作流保持不变。

SightRAG 为图像、视频或摄像头流的每一帧建立索引。第一步是**使用检测模型**，例如 YOLO、Grounding DINO 或你自己的检测器，来检测感兴趣的目标或区域。这些区域可以是人、车辆、产品、医学发现、制造组件，或者你的检测器能够识别的任何其他东西，具体取决于你的用例。

如果启用了 OCR，则会对检测到的区域执行**文本提取**。视觉信息和产品标签、序列号、车牌号、包裹 ID、警示标志以及其他可见文本都会被提取并存储。这意味着你可以按外观搜索，也可以按可搜索的文本搜索。

随后，每个检测到的区域都会使用视觉-语言模型（如 CLIP、BiomedCLIP、RemoteCLIP 或其他兼容的嵌入模型）转换为向量嵌入。这些嵌入编码了图像区域的语义含义，支持通过自然语言搜索，或通过提供另一张参考图像来搜索。

这些嵌入连同元数据、OCR 结果、边界框、时间戳和源文件信息一起存储在**向量数据库**中。SightRAG 支持 SQLite 这样的轻量级本地存储，也支持 Qdrant 这样的可扩展向量数据库，让同一个工作流可以从笔记本电脑扩展到企业级部署。

当用户提交查询时，SightRAG 使用同一个嵌入模型把文本或参考图像转换为嵌入。然后在向量数据库中做最近邻搜索，找到最佳匹配。结果包含置信度分数，以及视频和对应图像区域的元数据与时间戳。

最后，SightRAG 通过显示带边界框、OCR 文本、相似度分数和时间戳的匹配图像/视频帧来可视化结果，让用户很容易理解每条结果为什么被返回。

***关键在于各阶段之间互不依赖。你可以更换检测器、嵌入模型、OCR 引擎、向量数据库或可视化层，而不会影响流水线的其他部分。无论你是在构建零售分析系统、搜索医学图像、检查制造缺陷，还是分析安防录像，工作流都是一样的，底层模型可以按你的领域进行适配。***

## 4、独特之处

它不是模型，而是一个系统。大多数视觉 AI 工具提供给你的只是一个模型。SightRAG 提供给你的是把任何模型、任何存储和任何查询接口连接起来的流水线。模型会变。系统不变。

它以本地优先。你的数据留在你的电脑上。没有云端 API。没有遥测。不会收集任何数据。开源，每一行代码都可读。医疗、国防和政府团队可以放心使用，无需担心合规问题。

它开箱即快。SightRAG 会自动检测已安装的 TensorRT、ONNX、OpenVINO、PyTorch，并选择最快的后端。OCR 在索引时运行，而不是在查询时。多模态理解是可选的，只有你主动要求才启用。默认情况下，查询在 50 毫秒内返回。

它"识字"。OCR 在索引过程中扫描产品标签、标志、车牌和文档。包装上的文字实际写着"Calgon 2kg"。这不是视觉相似，这是真正的读取。

它适用于所有领域。Grounding DINO 支持文本描述对象检测。无需训练数据。

***"Find rust on bridge surface"（找桥面上的锈蚀）***

可以作用于基础设施照片。焊接点裂纹定位可以作用于电路板。输入你想要什么。它就能定位。

## 5、它做不到什么

**诚实比功能清单更重要。**

SightRAG 无法取代领域专家模型来检测细微缺陷。对于纹理异常、微裂纹和色差，需要针对领域数据微调过的模型。SightRAG 不内置这些模型，但它通过可插拔架构支持它们。

SightRAG 目前还无法理解复杂的空间关系。"find person near exit"（找人靠近出口）会分别检测人和出口。"near"（靠近）这种空间理解能力在路线图上。

CLIP 与文本查询的相似度分数在 0.15 到 0.35 之间。这对 CLIP 来说是正常的，但面对一个期望分数接近 1.0 的用户，看起来就不对了。评分是对的。只是绝对数值并非不言自明。

## 6、快速上手

***用 SightRAG 入门只需几行代码。***

```
!pip install sightrag
from sightrag import SightRAG
rag = SightRAG()
rag.index("./photos/")
results = rag.query("find person")
rag.show(results)

```

无论你是在搜索图像集合、分析视频档案，还是围绕实时摄像头流进行构建，SightRAG 都为视觉检索提供了一个简单且可扩展的基础。

---

原文链接：[SightRAG: Visual RAG for Images, Video, and Camera Feeds](https://medium.com/gopenai/sightrag-visual-rag-for-images-video-and-camera-feeds-a0a5b39d233e?ref=hubwiz.com)

汇智网翻译整理，转载请标明出处

> **这是「RAG / 数据 / 文档智能」专题的一部分。**完整地图见：[RAG / 数据 / 文档智能完全指南](https://www.hubwiz.com/blog/rag-data-stack/)