百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

利用GPT4-V及Langchain实现多模态RAG

liuian 2025-06-03 23:29 25 浏览

多模态RAG将是2024年AI应用架构发展的一个重要趋势,在前面的一篇文章里提到llama-index在这方面的尝试《利用GPT4-V及llama-index构建多模态RAG应用》,本文[1]中将以另一主流框架langchain为例介绍多模态RAG的实现。

大体流程:

1)使用多模态embedding(如 CLIP)处理图像和文本
2)对于图像和文本均使用向量检索
3)将原始图像和文本块传递给多模态 LLM(GPT4-V)进行答案合成

具体实现:

  1. 安装依赖。
! pip install pdf2image
! pip install pytesseract
! apt install poppler-utils
! apt install tesseract-ocr
#
! pip install -U langchain openai chromadb langchain-experimental # (newest versions required for multi-modal)
#
# lock to 0.10.19 due to a persistent bug in more recent versions
! pip install "unstructured[all-docs]==0.10.19" pillow pydantic lxml pillow matplotlib tiktoken open_clip_torch torch

2.下载数据(测试文档点阅读原文查看)。

import os
import shutil
#os.mkdir("Data")
! wget "https://www.getty.edu/publications/resources/virtuallibrary/0892360224.pdf"

3.提取图像并保存在所需路径中

path = "/content/Data/"
#
file_name = os.listdir(path)

4.使用 Unstructured 中的 partition_pdf 方法提取文本和图像。

# Extract images, tables, and chunk text
from unstructured.partition.pdf import partition_pdf


raw_pdf_elements = partition_pdf(
    filename=path + file_name[0],
    extract_images_in_pdf=True,
    infer_table_structure=True,
    chunking_strategy="by_title",
    max_characters=4000,
    new_after_n_chars=3800,
    combine_text_under_n_chars=2000,
    image_output_dir_path=path,

5.按类型对文本元素进行分类

tables = []
texts = []
for element in raw_pdf_elements:
    if "unstructured.documents.elements.Table" in str(type(element)):
        tables.append(str(element))
    elif "unstructured.documents.elements.CompositeElement" in str(type(element)):
        texts.append(str(element))
#
print(len(tables)
print(len(texts))


#### Response
2
194

6.图像存储在文件路径

from PIL import Image
Image.open("/content/data/figure-26-1.jpg")

7.对文档进行多模态embedding入库(图片及文字)。

在这里,使用了 OpenClip 多模态embedding。为了获得更好的性能,使用了更大的模型(在
langchain_experimental.open_clip.py 中设置)。

model_name = "ViT-g-14" checkpoint = "laion2b_s34b_b88k"

import os
import uuid


import chromadb
import numpy as np
from langchain.vectorstores import Chroma
from langchain_experimental.open_clip import OpenCLIPEmbeddings
from PIL import Image as _PILImage


# Create chroma
vectorstore = Chroma(
    collection_name="mm_rag_clip_photos", embedding_function=OpenCLIPEmbeddings()
)


# Get image URIs with .jpg extension only
image_uris = sorted(
    [
        os.path.join(path, image_name)
        for image_name in os.listdir(path)
        if image_name.endswith(".jpg")
    ]
)


# Add images
vectorstore.add_images(uris=image_uris)


# Add documents
vectorstore.add_texts(texts=texts)


# Make retriever
retriever = vectorstore.as_retriever()

8.检索增强生成

上面的vectorstore.add_images 方法将以 base64 编码字符串的形式存储/检索图像,然后将这些信息传递给 GPT-4V。

import base64
import io
from io import BytesIO


import numpy as np
from PIL import Image




def resize_base64_image(base64_string, size=(128, 128)):
    """
    Resize an image encoded as a Base64 string.


    Args:
    base64_string (str): Base64 string of the original image.
    size (tuple): Desired size of the image as (width, height).


    Returns:
    str: Base64 string of the resized image.
    """
    # Decode the Base64 string
    img_data = base64.b64decode(base64_string)
    img = Image.open(io.BytesIO(img_data))


    # Resize the image
    resized_img = img.resize(size, Image.LANCZOS)


    # Save the resized image to a bytes buffer
    buffered = io.BytesIO()
    resized_img.save(buffered, format=img.format)


    # Encode the resized image to Base64
    return base64.b64encode(buffered.getvalue()).decode("utf-8")




def is_base64(s):
    """Check if a string is Base64 encoded"""
    try:
        return base64.b64encode(base64.b64decode(s)) == s.encode()
    except Exception:
        return False




def split_image_text_types(docs):
    """Split numpy array images and texts"""
    images = []
    text = []
    for doc in docs:
        doc = doc.page_content  # Extract Document contents
        if is_base64(doc):
            # Resize image to avoid OAI server error
            images.append(
                resize_base64_image(doc, size=(250, 250))
            )  # base64 encoded str
        else:
            text.append(doc)
    return {"images": images, "texts": text}

使用 RunnableParallel 对输入进行格式化,同时为 ChatPromptTemplates 添加图像支持。

from operator import itemgetter


from langchain.chat_models import ChatOpenAI
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnableLambda, RunnablePassthrough,RunnableParallel




def prompt_func(data_dict):
    # Joining the context texts into a single string
    formatted_texts = "\n".join(data_dict["context"]["texts"])
    messages = []


    # Adding image(s) to the messages if present
    if data_dict["context"]["images"]:
        image_message = {
            "type": "image_url",
            "image_url": {
                "url": f"data:image/jpeg;base64,{data_dict['context']['images'][0]}"
            },
        }
        messages.append(image_message)


    # Adding the text message for analysis
    text_message = {
        "type": "text",
        "text": (
            "As an expert art critic and historian, your task is to analyze and interpret images, "
            "considering their historical and cultural significance. Alongside the images, you will be "
            "provided with related text to offer context. Both will be retrieved from a vectorstore based "
            "on user-input keywords. Please use your extensive knowledge and analytical skills to provide a "
            "comprehensive summary that includes:\n"
            "- A detailed description of the visual elements in the image.\n"
            "- The historical and cultural context of the image.\n"
            "- An interpretation of the image's symbolism and meaning.\n"
            "- Connections between the image and the related text.\n\n"
            f"User-provided keywords: {data_dict['question']}\n\n"
            "Text and / or tables:\n"
            f"{formatted_texts}"
        ),
    }
    messages.append(text_message)


    return [HumanMessage(content=messages)]

利用LCEL 构造RAG chain

from google.colab import userdata




openai_api_key = userdata.get('OPENAI_API_KEY')


model = ChatOpenAI(temperature=0,
                   openai_api_key=openai_api_key,
                   model="gpt-4-vision-preview",
                   max_tokens=1024)


# RAG pipeline
chain = (
    {
        "context": retriever | RunnableLambda(split_image_text_types),
        "question": RunnablePassthrough(),
    }
    | RunnableParallel({"response":prompt_func| model| StrOutputParser(),
                      "context": itemgetter("context"),})
)

测试验证:

q1:

response = chain.invoke("hunting on the lagoon")
#
print(response['response'])
print(response['context'])


############# RESPONSE ###############
The image depicts a serene scene of a lagoon with several groups of people engaged in bird hunting. The visual elements include calm waters, boats with hunters wearing red and white clothing, and birds both in flight and used as decoys. The hunters appear to be using long poles, possibly to navigate through the shallow waters or to assist in the hunting process. In the background, there are simple straw huts, suggesting temporary shelters for the hunters. The sky is painted with soft clouds, and the overall color palette is muted, with the reds of the hunters' clothing standing out against the blues and greens of the landscape.


The historical and cultural context of this image is rooted in the Italian Renaissance, specifically in Venice during the late 15th to early 16th century. Vittore Carpaccio, the artist, was known for his genre paintings, which depicted scenes from everyday life with great detail and realism. This painting, "Hunting on the Lagoon," is a testament to Carpaccio'
s keen observation of his environment and the activities of his contemporaries. The inclusion of diverse figures, such as some black individuals, reflects the cosmopolitan nature of Venetian society at the time.


Interpreting the symbolism and meaning of the image, one might consider the lagoon as a symbol of Venice itself—a city intertwined with water, where the boundary between land and sea is often blurred. The act of hunting could represent the human endeavor to harness and interact with nature, a common theme during the Renaissance as people sought to understand and depict the natural world with increasing accuracy. The presence of decoys suggests themes of illusion and reality, which were also explored in Renaissance art.


The connection between the image and the related text is clear. The text provides valuable insights into the painting's background, such as its use as a window cover, which adds a layer of functionality and interactivity to the artwork. The trompe l'oeil on the back with the illusionistic cornice and the real hinge further emphasizes the artist's interest in creating a sense of depth and reality. The mention of the lily blossom at the bottom indicates that the painting may have been altered from its original form, which could have included more symbolic elements or been part of a larger composition.


The text also notes that Carpaccio was famous as a landscape painter, which aligns with the detailed and atmospheric depiction of the lagoon setting. The discovery of the painting only a few years ago suggests that there is still much to learn about Carpaccio'
s work and the nuances of this particular piece. The lack of complete understanding of the subject matter invites further research and interpretation, allowing viewers to ponder the daily life and environment of Renaissance Venice.




{'images': ['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'],
 'texts': ["VITTORE  CARPACCIO Venetian, 1455/56-1525/26 Hunting  on the  Lagoon oil on panel, 75.9x63.7cm 6 Carpaccio  is considered to be the first great genre painter of the Italian Renaissance, and it is ob- vious that he was a careful observer of his surroundings. The  subject of this unusual painting is not yet completely understood, but it apparently depicts groups of Venetians, including some blacks, hunting for birds on the Venetian lagoon. Some birds standing upright in the boats must be decoys. In the background are huts built of straw, which the hunters must have used as temporary lodging. The  back of the painting shows an illusionistic cornice with some letters and memoranda—still legible—fastened  to the wall. The presence of a real hinge on the back indicates the painting was used as a door to a cupboard or more probably a window cover. It is therefore possible that one had the illusion of looking into the lagoon when the window was shuttered. The presence of a lily blossom at the bottom implies that the painting has been cut down; originally it may have shown the lily in a vase or it may have been cut from  a still larger painting in which our fragment was only the background. Reperse:  Trompe  l'Oeil  ",
  '3\n\nThis painting was discovered only a few years ago. Unfortunately very little is known about its',
  '18\n\npersonality and artistic interests, but he was most famous as a landscape painter.']}
print(response['context']['images'])
####### RESPONSE ##################
['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

辅助函数,用于显示检索到的图像,作为生成响应的源上下文的一部分。

from IPython.display import HTML, display




def plt_img_base64(img_base64):
    # Create an HTML img tag with the base64 string as the source
    image_html = f'<img src="data:image/jpeg;base64,{img_base64}" />'


    # Display the image by rendering the HTML
    display(HTML(image_html))

显示与检索文本相关的图片

plt_img_base64(response['context']['images'][0])

q2:

response = chain.invoke("Woman with children")
print(response['response'])
print(response['context'])


########### RESPONSE ######################


The image in question appears to be a portrait of a woman with children, painted in oil on canvas and measuring 94.4x114.2 cm. The woman is likely the central figure in the painting, and the children are probably depicted around her, possibly playing with various instruments as suggested by the text. The woman's age is given as 21, and the painting is dated 1632, which places it in the early 17th century.


The historical and cultural context of this image is significant. The early 17th century was a time of great change and upheaval in Europe, with the Thirty Years' War raging and the rise of absolutist monarchies. In the art world, this was the era of the Baroque, characterized by dramatic, emotional, and often theatrical compositions. The fact that the woman is identified by her age suggests that this is a portrait of a specific individual, possibly a member of the nobility or upper class, as such portraits were often commissioned to commemorate important life events or to display wealth and status.


The symbolism and meaning of the image could be interpreted in several ways. The presence of children suggests themes of motherhood, family, and domesticity. The fact that they are playing instruments could symbolize harmony, creativity, and the importance of music and the arts in the family's life. The woman's age, 21, could also be significant, as it is often considered the age of adulthood and independence.


The related text mentions that the painting was discovered only a few years ago and that very little is known about it. This adds an element of mystery to the image and suggests that there may be more to uncover about its history and significance. The text also mentions a French artist, born in 1702 and died in 1766, which could indicate that the painting is French in origin, although the date of the painting does not align with the artist's lifetime. The mention of Marc de Villiers, born in 1671 and the subject of a painting dated 1747, suggests that the image may be part of a larger collection of portraits of notable individuals from this period.


Overall, this image of a woman with children is a rich and complex work that offers insights into the cultural and historical context of the early 17th century. Its symbolism and meaning are open to interpretation, and the connections between the image and the related text suggest that there is still much to learn about this painting and its place in art history.




{'images': [],
 'texts': ['31\n\nThis portrait is dated 1632 and gives the age of the sitter, 21. To our eyes she would appear to be',
  '3\n\nThis painting was discovered only a few years ago. Unfortunately very little is known about its',
  'oil on canvas, 94.4x114.2 cm\n\n4l\n\nat which they want to play their various instruments.',
  'French, 1702-1766\n\n46\n\nThe sitter, Marc de Villiers, was born in 1671, and since this painting is signed and dated in 1747,']}

注意:该查询没有相关图像,因此图像召回为空列表。

q3:

response = chain.invoke("Moses and the Messengers from Canaan")
print(response['response'])
print(response['context'])




########### RESPONSE #############
The image you've provided appears to be a classical painting depicting a group of figures in a pastoral landscape. Unfortunately, the image does not directly correspond to the provided keywords "Moses and the Messengers from Canaan," nor does it seem to relate to the text snippets you've included. However, I will do my best to analyze the image based on its visual elements and provide a general interpretation that might align with the themes of historical and cultural significance.


Visual Elements:
- The painting shows a group of people gathered in a natural setting, which seems to be a forest clearing or the edge of a wooded area.
- The figures are dressed in what appears to be classical or ancient attire, suggesting a historical or mythological scene.
- The color palette is composed of earthy tones, with a contrast between the light and shadow that gives depth to the scene.
- The composition is balanced, with trees framing the scene on the left and the background opening up to a brighter, possibly sunlit area.


Historical and Cultural Context:
- The painting style and attire of the figures suggest it could be from the Renaissance or Baroque period, which were times of great interest in classical antiquity and biblical themes.
- The reference to "Arcadian shepherds discovering a tomb" and "Poussin" in the text indicates a connection to Nicolas Poussin, a French painter of the Baroque era known for his classical landscapes and historical scenes.


Interpretation and Symbolism:
- Without a direct connection to the story of Moses and the messengers from Canaan, it's challenging to provide a precise interpretation. However, the painting could be depicting a scene of discovery or revelation, common themes in Poussin's work.
- The pastoral setting might symbolize an idyllic, peaceful world, often associated with the concept of Arcadia in classical literature and art.
- The gathering of figures could represent a moment of communal storytelling or the sharing of important news, which could loosely tie into the idea of messengers or a significant event.


Connections to Related Text:
- The text mentions the theme of "Arcadian shepherds discovering a tomb," which is a motif Poussin famously depicted in his painting "Et in Arcadia ego." While the image does not show a tomb, the pastoral setting and classical attire could suggest a similar thematic exploration.
- The reference to Flemish art and the interaction with Italian Renaissance artists might imply a fusion of Northern European and Italian artistic styles, which could be reflected in the painting's technique and composition.


In conclusion, while the image does not directly depict the story of Moses and the messengers from Canaan, it does evoke the classical and pastoral themes prevalent in the work of artists like Poussin during the Baroque period. The painting may represent a general scene of classical antiquity or a mythological event, characterized by a serene landscape and a gathering of figures engaged in a significant moment. The historical and cultural significance of such a painting would lie in its representation of the values and aesthetics of the time, as well as its potential to blend different artistic traditions.






{'images': ['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'],
 'texts': ['16\n\nThe theme of Arcadian shepherds discovering a tomb originated in painting with Poussin in the',
  'Flemish, 1488-1541\n\n20\n\nWhen Italian artists of the Renaissance came into contact with paintings from the north, they']}

显示检索到的图像

for images in response['context']['images']:
  plt_img_base64(images)

以上,利用多模态 LLM 和 Langchain 以及unstructured,成功地从非结构化数据中实现了 RAG。不仅利用了文档中嵌入的图像信息,还利用了文本信息。

参考原文:

[1] Plaban Nayak:Multimodal RAG using Langchain Expression Language And GPT4-Vision

相关推荐

教你把多个视频合并成一个视频的方法

一.情况介绍当你有一个m3u8文件和一个目录,目录中有连续的视频片段,这些片段可以连成一段完整的视频。m3u8文件打开后像这样:m3u8文件,可以理解为播放列表,里面是播放视频片段的顺序。视频片段像这...

零代码编程:用kimichat合并一个文件夹下的多个文件

一个文件夹里面有很多个srt字幕文件,如何借助kimichat来自动批量合并呢?在kimichat对话框中输入提示词:你是一个Python编程专家,完成如下的编程任务:这个文件夹:D:\downloa...

Java APT_java APT 生成代码

JavaAPT(AnnotationProcessingTool)是一种在Java编译阶段处理注解的工具。APT会在编译阶段扫描源代码中的注解,并根据这些注解生成代码、资源文件或其他输出,...

Unit Runtime:一键运行 AI 生成的代码,或许将成为你的复制 + 粘贴神器

在我们构建了UnitMesh架构之后,以及对应的demo之后,便着手于实现UnitMesh架构。于是,我们就继续开始UnitRuntime,以用于直接运行AI生成的代码。PS:...

挣脱臃肿的枷锁:为什么说Vert.x是Java开发者手中的一柄利剑?

如果你是一名Java开发者,那么你的职业生涯几乎无法避开Spring。它如同一位德高望重的老国王,统治着企业级应用开发的大片疆土。SpringBoot的约定大于配置、SpringCloud的微服务...

五年后,谷歌还在全力以赴发展 Kotlin

作者|FredericLardinois译者|Sambodhi策划|Tina自2017年谷歌I/O全球开发者大会上,谷歌首次宣布将Kotlin(JetBrains开发的Ja...

kotlin和java开发哪个好,优缺点对比

Kotlin和Java都是常见的编程语言,它们有各自的优缺点。Kotlin的优点:简洁:Kotlin程序相对于Java程序更简洁,可以减少代码量。安全:Kotlin在类型系统和空值安全...

移动端架构模式全景解析:从MVC到MVVM,如何选择最佳设计方案?

掌握不同架构模式的精髓,是构建可维护、可测试且高效移动应用的关键。在移动应用开发中,选择合适的软件架构模式对项目的可维护性、可测试性和团队协作效率至关重要。随着应用复杂度的增加,一个良好的架构能够帮助...

颜值非常高的XShell替代工具Termora,不一样的使用体验!

Termora是一款面向开发者和运维人员的跨平台SSH终端与文件管理工具,支持Windows、macOS及Linux系统,通过一体化界面简化远程服务器管理流程。其核心定位是解决多平台环境下远程连接、文...

预处理的底层原理和预处理编译运行异常的解决方案

若文章对您有帮助,欢迎关注程序员小迷。助您在编程路上越走越好![Mac-10.7.1LionIntel-based]Q:预处理到底干了什么事情?A:预处理,顾名思义,预先做的处理。源代码中...

为“架构”再建个模:如何用代码描述软件架构?

在架构治理平台ArchGuard中,为了实现对架构的治理,我们需要代码+模型描述所要处理的内容和数据。所以,在ArchGuard中,我们有了代码的模型、依赖的模型、变更的模型等,剩下的两个...

深度解析:Google Gemma 3n —— 移动优先的轻量多模态大模型

2025年6月,Google正式发布了Gemma3n,这是一款能够在2GB内存环境下运行的轻量级多模态大模型。它延续了Gemma家族的开源基因,同时在架构设计上大幅优化,目标是让...

比分网开发技术栈与功能详解_比分网有哪些

一、核心功能模块一个基本的比分网通常包含以下模块:首页/总览实时比分看板:滚动展示所有正在进行的比赛,包含比分、比赛时间、红黄牌等关键信息。热门赛事/焦点战:突出显示重要的、关注度高的比赛。赛事导航...

设计模式之-生成器_一键生成设计

一、【概念定义】——“分步构建复杂对象,隐藏创建细节”生成器模式(BuilderPattern):一种“分步构建型”创建型设计模式,它将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建...

构建第一个 Kotlin Android 应用_kotlin简介

第一步:安装AndroidStudio(推荐IDE)AndroidStudio是官方推荐的Android开发集成开发环境(IDE),内置对Kotlin的完整支持。1.下载And...