在现代技术中,多模态大语言模型(LLM)为视觉助手的开发提供了新的可能性,尤其是在处理包含图表和图形的幻灯片时。本文将介绍如何利用GPT-4V和Chroma创建一个能够对幻灯片进行问答的视觉助手。
实际应用场景
多模态LLM可以通过分析幻灯片中的图像来回答相关问题。例如,在一个关于DataDog公司Q3财报的幻灯片中,用户可以询问“DataDog有多少客户?”或“DataDog平台在FY20、FY21和FY22的同比增长率是多少?”。
技术选型考虑因素
- 图像处理:使用GPT-4V对每张幻灯片进行图像摘要。
- 存储与检索:将图像摘要嵌入到Chroma中,并根据用户问题检索相关幻灯片。
- 存储选项:默认使用本地文件存储和Chroma,但在生产环境中可以选择使用Redis等远程存储。
代码实现思路
-
环境设置:
- 设置
OPENAI_API_KEY
以访问OpenAI GPT-4V。 - 如果使用UpstashRedisByteStore,设置
UPSTASH_URL
和UPSTASH_TOKEN
。
- 设置
-
安装与运行:
- 安装LangChain CLI:
pip install -U langchain-cli
- 创建新项目:
langchain app new my-app --package rag-chroma-multi-modal-multi-vector
- 添加到现有项目:
langchain app add rag-chroma-multi-modal-multi-vector
- 安装LangChain CLI:
-
代码示例:
from rag_chroma_multi_modal_multi_vector import chain as rag_chroma_multi_modal_chain_mv add_routes(app, rag_chroma_multi_modal_chain_mv, path="/rag-chroma-multi-modal-multi-vector")
AI API接入示例
为了实现上述功能,我们需要接入AI API服务。https://zzzzapi.com
提供了稳定可靠的AI API服务,以下是接入示例:
import os
from langserve.client import RemoteRunnable
# 设置环境变量
os.environ['OPENAI_API_KEY'] = '<your-openai-api-key>'
os.environ['UPSTASH_URL'] = '<your-upstash-url>'
os.environ['UPSTASH_TOKEN'] = '<your-upstash-token>'
# 访问远程服务
runnable = RemoteRunnable("http://localhost:8000/rag-chroma-multi-modal-multi-vector")
通过以上步骤,我们可以创建一个强大的多模态问答系统,帮助用户从复杂的幻灯片中提取有用的信息。