Bootstrap

多模态LLM在幻灯片问答中的应用

在现代技术中,多模态大语言模型(LLM)为视觉助手的开发提供了新的可能性,尤其是在处理包含图表和图形的幻灯片时。本文将介绍如何利用GPT-4V和Chroma创建一个能够对幻灯片进行问答的视觉助手。

实际应用场景

多模态LLM可以通过分析幻灯片中的图像来回答相关问题。例如,在一个关于DataDog公司Q3财报的幻灯片中,用户可以询问“DataDog有多少客户?”或“DataDog平台在FY20、FY21和FY22的同比增长率是多少?”。

技术选型考虑因素

  1. 图像处理:使用GPT-4V对每张幻灯片进行图像摘要。
  2. 存储与检索:将图像摘要嵌入到Chroma中,并根据用户问题检索相关幻灯片。
  3. 存储选项:默认使用本地文件存储和Chroma,但在生产环境中可以选择使用Redis等远程存储。

代码实现思路

  1. 环境设置

    • 设置OPENAI_API_KEY以访问OpenAI GPT-4V。
    • 如果使用UpstashRedisByteStore,设置UPSTASH_URLUPSTASH_TOKEN
  2. 安装与运行

    • 安装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
  3. 代码示例

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

通过以上步骤,我们可以创建一个强大的多模态问答系统,帮助用户从复杂的幻灯片中提取有用的信息。

;