**打造属于你的私人视觉搜索引擎:使用多模态LLM进行图像问答**

110 阅读2分钟
# 打造属于你的私人视觉搜索引擎:使用多模态LLM进行图像问答

## 引言

视觉搜索是现代智能手机用户常见的功能,允许用户通过自然语言搜索照片。借助开源多模态大型语言模型(LLM),我们现在可以为自己的私人照片收藏构建类似的应用程序。这篇文章将介绍如何使用多模态LLM创建私人视觉搜索和图像问答功能。

## 主要内容

### 图像索引创建流程

要创建一个图像搜索应用,首先需要将图像集合进行索引:

1. **图像摘要生成**:使用本地多模态LLM(如Bakllava)对每张照片生成图像摘要。
2. **摘要嵌入**:将图像摘要与原始图像的链接一起嵌入。
3. **图像存储与检索**:将图像摘要存储在Chroma中,以便根据用户输入的问题或关键词检索相关图片。

### LLM和嵌入模型

我们使用Ollama平台的Bakllava模型生成图像摘要和最终的图像问答。可以从[Ollama](https://ollama.ai/)下载最新版本的模型。

### 使用模板的步骤

1. **准备图片**:将照片集放入`/docs`目录中。
2. **创建图像索引**:运行以下命令:
   ```bash
   poetry install
   python ingest.py
  1. 配置与启动应用
    • 安装LangChain CLI:pip install -U langchain-cli
    • 创建或添加到现有项目:langchain app new my-app --package rag-multi-modal-mv-local
    • 运行LangServe实例启动服务:langchain serve

应用程序将运行在本地的http://localhost:8000。可以通过http://127.0.0.1:8000/docs查看所有模板。

代码示例

以下是一个简单的代码示例,演示如何使用LangChain与我们的视觉搜索模板:

from langserve.client import RemoteRunnable

# 使用API代理服务提高访问稳定性
runnable = RemoteRunnable("http://localhost:8000/rag-multi-modal-mv-local")

常见问题和解决方案

  • 模型下载失败:部分地区可能无法访问Ollama,这时可以考虑使用API代理服务。
  • 图像检索不准确:确保图片集合足够大,并且图像摘要与用户输入关键词的相关性高。

总结和进一步学习资源

通过本教程,你可以快速搭建一个私人视觉搜索应用。对于有兴趣进一步学习的读者,推荐以下资源:

参考资料

  1. Ollama 模型库
  2. LangChain 文档与指南

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

---END---