百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

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

csdh11 2025-02-04 13:33 16 浏览

多模态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''


    # 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

相关推荐

pdf怎么在线阅读?这几种在线阅读方法看看

pdf怎么在线阅读?我们日常生活中经常使用到pdf文档。这种格式的文档在不同平台和设备上的可移植性,以及保留文档格式和布局的能力都很强。在阅读这种文档的时候,很多人会选择使用在线阅读的方法。在线阅读P...

PDF比对不再眼花缭乱:开源神器diff-pdf助你轻松揪出差异

PDF比对不再眼花缭乱:开源神器diff-pdf助你轻松揪出差异在日常工作和学习中,PDF文件可谓是无处不在。然而,有时我们需要比较两个PDF文件之间的差异,这可不是一件轻松的事情。手动逐页对比简直是...

全网爆火!580页Python编程快速上手,零基础也能轻松学会

Python虽然一向号称新手友好,但对完全零基础的编程小白来讲,总会在很长时间内,都对某些概念似懂非懂,每次拿起书本教程,都要从第一章看起。对于这种迟迟入不了门的情况,给大家推荐一份简单易懂的入门级教...

我的名片能运行Linux和Python,还能玩2048小游戏,成本只要20元

晓查发自凹非寺量子位报道|公众号QbitAI猜猜它是什么?印着姓名、职位和邮箱,看起来是个名片。可是右下角有芯片,看起来又像是个PCB电路板。其实它是一台超迷你的ARM计算机,不仅能够运...

由浅入深学shell,70页shell脚本编程入门,满满干货建议收藏

不会Linux的程序员不是好程序员,不会shell编程就不能说自己会Linux。shell作为Unix第一个脚本语言,结合了延展性和高效的优点,保持独有的编程特色,并不断地优化,使得它能与其他脚本语言...

真工程师:20块钱做了张「名片」,可以跑Linux和Python

机器之心报道参与:思源、杜伟、泽南对于一个工程师来说,如何在一张名片上宣告自己的实力?在上面制造一台完整的计算机说不定是个好主意。最近,美国一名嵌入式系统工程师GeorgeHilliard的名片...

《Linux 命令行大全》.pdf

今天跟大家推荐个Linux命令行教程:《TheLinuxCommandLine》,中文译名:《Linux命令行大全》。该书作者出自自美国一名开发者,兼知名Linux博客LinuxCo...

PDF转换是难题? 搜狗浏览器即开即看

由于PDF文件兼容性相当广泛,越来越多的电子图书、产品说明、公司文告、网络资料、电子邮件选择开始使用这种格式来进行内容的展示,以便给用户更好的再现原稿的细节,但需要下载专用阅读器进行转化才能浏览的问题...

彻底搞懂 Netty 线程模型

点赞再看,养成习惯,微信搜一搜【...

2022通俗易懂Redis的线程模型看完就会

Redis真的是单线程吗?我们一般说Redis是单线程,是指Redis的网络IO和键值对操作是一个线程完成的,这就是Redis对外提供键值存储服务的主要流程。Redis的其他功能,例如持久化、异步删除...

实用C语言编程(第三版)高清PDF

编写C程序不仅仅需要语法正确,最关键的是所编代码应该便于维护和修改。现在有很多介绍C语言的著作,但是本书在这一方面的确与众不同,例如在讨论C中运算优先级时,15种级别被归纳为下面两条原则:需要的...

手拉手教你搭建redis集群(redis cluster)

背景:最近需要使用redis存储数据,但是随着时间的增加,发现原本的单台redis已经不满足要求了,于是就倒腾了一下搭建redistclusterredis集群。好了,话不多说,下面开始展示:...

记录处理登录页面显示: HTTP Error 503. The service is unavailable.

某天一个系统的登录页面无法显示,显示ServiceUnavailableHTTPError503.Theserviceisunavailable,马上登录服务器上查看IIS是否正常。...

黑道圣徒杀出地狱破解版下载 免安装硬盘版

游戏名称:黑道圣徒杀出地狱英文名称:SaintsRow:GatOutofHell游戏类型:动作冒险类(ACT)游戏游戏制作:DeepSilverVolition/HighVoltage...

Exchange Server 2019 实战操作指南

...