使用CLIP和LLM构建多模态RAG系统

多模态RAG:结合文本、图像和视频的信息检索 多模态 RAG 是指在传统 RAG 的基础上,扩展其信息检索和生成能力,不仅限于文本,还可以处理图像、视频、音频等多模态数据。通过多模态融合,系统可以从多样化的输入中提取关键信息,从而生成更加全面、丰富的答案或内容。 阅读详情

简介: 在本文中我们将探讨使用开源大型语言多模态模型(Large Language Multi-Modal)构建检索增强生成(RAG)系统。本文的重点是在不依赖LangChain或LLlama index的情况下实现这一目标,这样可以避免更多的框架依赖。

什么是RAG

在人工智能领域,检索增强生成(retrieve - augmented Generation, RAG)作为一种变革性技术改进了大型语言模型(Large Language Models)的能力。从本质上讲,RAG通过允许模型从外部源动态检索实时信息来增强AI响应的特异性。

该体系结构将生成能力与动态检索过程无缝结合,使人工智能能够适应不同领域中不断变化的信息。与微调和再训练不同,RAG提供了一种经济高效的解决方案,允许人工智能在不改变整个模型的情况下能够得到最新和相关的信息。

RAG的作用

1、提高准确性和可靠性:

通过将大型语言模型(llm)重定向到权威的知识来源来解决它们的不可预测性。降低了提供虚假或过时信息的风险,确保更准确和可靠的反应。

2、增加透明度和信任:

像LLM这样的生成式人工智能模型往往缺乏透明度,这使得人们很难相信它们的输出。RAG通过允许组织对生成的文本输出有更大的控制,解决了对偏差、可靠性和遵从性的关注。

3、减轻幻觉:

LLM容易产生幻觉反应——连贯但不准确或捏造的信息。RAG通过确保响应以权威来源为基础,减少关键部门误导性建议的风险。

4、具有成本效益的适应性:

RAG提供了一种经济有效的方法来提高AI输出,而不需要广泛的再训练/微调。可以通过根据需要动态获取特定细节来保持最新和相关的信息,确保人工智能对不断变化的信息的适应性。

多模式模态模型

多模态涉及有多个输入,并将其结合成单个输出,以CLIP为例:CLIP的训练数据是文本-图像对,通过对比学习,模型能够学习到文本-图像对的匹配关系。

该模型为表示相同事物的不同输入生成相同(非常相似)的嵌入向量。

多模

态大型语言(multi-modal large language)

GPT4v和Gemini vision就是探索集成了各种数据类型(包括图像、文本、语言、音频等)的多模态语言模型(MLLM)。虽然像GPT-3、BERT和RoBERTa这样的大型语言模型(llm)在基于文本的任务中表现出色,但它们在理解和处理其他数据类型方面面临挑战。为了解决这一限制,多模态模型结合了不同的模态,从而能够更全面地理解不同的数据。

多模态大语言模型它超越了传统的基于文本的方法。以GPT-4为例,这些模型可以无缝地处理各种数据类型,包括图像和文本,从而更全面地理解信息。

与RAG相结合

这里我们将使用Clip嵌入图像和文本,将这些嵌入存储在ChromDB矢量数据库中。然后将利用大模型根据检索到的信息参与用户聊天会话。

我们将使用来自Kaggle的图片和维基百科的信息来创建一个花卉专家聊天机器人

首先我们安装软件包:

 ! pip install -q timm einops wikipedia chromadb open_clip_torch
 !pip install -q transformers==4.36.0
 !pip install -q bitsandbytes==0.41.3 accelerate==0.25.0

预处理数据的步骤很简单只是把图像和文本放在一个文件夹里

可以随意使用任何矢量数据库,这里我们使用ChromaDB。

 import chromadb

 from chromadb.utils.embedding_functions import OpenCLIPEmbeddingFunction
 from chromadb.utils.data_loaders import ImageLoader
 from chromadb.config import Settings


 client = chromadb.PersistentClient(path="DB")

 embedding_function = OpenCLIPEmbeddingFunction()
 image_loader = ImageLoader() # must be if you reads from URIs

ChromaDB需要自定义嵌入函数

 from chromadb import Documents, EmbeddingFunction, Embeddings

 class MyEmbeddingFunction(EmbeddingFunction):
     def __call__(self, input: Documents) -> Embeddings:
         # embed the documents somehow or images
         return embeddings

这里将创建2个集合,一个用于文本,另一个用于图像

 collection_images = client.create_collection(
     name='multimodal_collection_images', 
     embedding_function=embedding_function, 
     data_loader=image_loader)

 collection_text = client.create_collection(
     name='multimodal_collection_text', 
     embedding_function=embedding_function, 
     )

 # Get the Images
 IMAGE_FOLDER = '/kaggle/working/all_data'


 image_uris = sorted([os.path.join(IMAGE_FOLDER, image_name) for image_name in os.listdir(IMAGE_FOLDER) if not image_name.endswith('.txt')])
 ids = [str(i) for i in range(len(image_uris))]

 collection_images.add(ids=ids, uris=image_uris) #now we have the images collection

对于Clip,我们可以像这样使用文本检索图像

 from matplotlib import pyplot as plt

 retrieved = collection_images.query(query_texts=["tulip"], include=['data'], n_results=3)
 for img in retrieved['data'][0]:
     plt.imshow(img)
     plt.axis("off")
     plt.show()

也可以使用图像检索相关的图像

文本集合如下所示

 # now the text DB
 from chromadb.utils import embedding_functions
 default_ef = embedding_functions.DefaultEmbeddingFunction()

 text_pth = sorted([os.path.join(IMAGE_FOLDER, image_name) for image_name in os.listdir(IMAGE_FOLDER) if image_name.endswith('.txt')])

 list_of_text = []
 for text in text_pth:
     with open(text, 'r') as f:
         text = f.read()
         list_of_text.append(text)

 ids_txt_list = ['id'+str(i) for i in range(len(list_of_text))]
 ids_txt_list

 collection_text.add(
     documents = list_of_text,
     ids =ids_txt_list
 )

然后使用上面的文本集合获取嵌入

 results = collection_text.query(
     query_texts=["What is the bellflower?"],
     n_results=1
 )

 results

结果如下:

 {'ids': [['id0']],
  'distances': [[0.6072186183744086]],
  'metadatas': [[None]],
  'embeddings': None,
  'documents': [['Campanula () is the type genus of the Campanulaceae family of flowering plants. Campanula are commonly known as bellflowers and take both their common and scientific names from the bell-shaped flowers—campanula is Latin for "little bell".\nThe genus includes over 500 species and several subspecies, distributed across the temperate and subtropical regions of the Northern Hemisphere, with centers of diversity in the Mediterranean region, Balkans, Caucasus and mountains of western Asia. The range also extends into mountains in tropical regions of Asia and Africa.\nThe species include annual, biennial and perennial plants, and vary in habit from dwarf arctic and alpine species under 5 cm high, to large temperate grassland and woodland species growing to 2 metres (6 ft 7 in) tall.']],
  'uris': None,
  'data': None}

或使用图片获取文本

 query_image = '/kaggle/input/flowers/flowers/rose/00f6e89a2f949f8165d5222955a5a37d.jpg'
 raw_image = Image.open(query_image)

 doc = collection_text.query(
     query_embeddings=embedding_function(query_image),

     n_results=1,

 )['documents'][0][0]

上图的结果如下:

 A rose is either a woody perennial flowering plant of the genus Rosa (), in the family Rosaceae (), or the flower it bears. There are over three hundred species and tens of thousands of cultivars. They form a group  of plants that can be erect shrubs, climbing, or trailing, with stems  that are often armed with sharp prickles. Their flowers vary in size and shape and are usually large and showy, in colours ranging from white  through yellows and reds. Most species are native to Asia, with smaller  numbers native to Europe, North America, and northwestern Africa.  Species, cultivars and hybrids are all widely grown for their beauty and often are fragrant. Roses have acquired cultural significance in many  societies. Rose plants range in size from compact, miniature roses, to  climbers that can reach seven meters in height. Different species  hybridize easily, and this has been used in the development of the wide  range of garden roses.

这样我们就完成了文本和图像的匹配工作,其实这里都是CLIP的工作,下面我们开始加入LLM。

 from huggingface_hub import hf_hub_download

 hf_hub_download(repo_id="visheratin/LLaVA-3b", filename="configuration_llava.py", local_dir="./", force_download=True)
 hf_hub_download(repo_id="visheratin/LLaVA-3b", filename="configuration_phi.py", local_dir="./", force_download=True)
 hf_hub_download(repo_id="visheratin/LLaVA-3b", filename="modeling_llava.py", local_dir="./", force_download=True)
 hf_hub_download(repo_id="visheratin/LLaVA-3b", filename="modeling_phi.py", local_dir="./", force_download=True)
 hf_hub_download(repo_id="visheratin/LLaVA-3b", filename="processing_llava.py", local_dir="./", force_download=True)

我们是用visheratin/LLaVA-3b

 from modeling_llava import LlavaForConditionalGeneration
 import torch

 model = LlavaForConditionalGeneration.from_pretrained("visheratin/LLaVA-3b")
 model = model.to("cuda")

加载tokenizer

 from transformers import AutoTokenizer

 tokenizer = AutoTokenizer.from_pretrained("visheratin/LLaVA-3b")

然后定义处理器,方便我们以后调用

 from processing_llava import LlavaProcessor, OpenCLIPImageProcessor

 image_processor = OpenCLIPImageProcessor(model.config.preprocess_config)
 processor = LlavaProcessor(image_processor, tokenizer)

下面就可以直接使用了

 question = 'Answer with organized answers: What type of rose is in the picture? Mention some of its characteristics and how to take care of it ?'

 query_image = '/kaggle/input/flowers/flowers/rose/00f6e89a2f949f8165d5222955a5a37d.jpg'
 raw_image = Image.open(query_image)

 doc = collection_text.query(
     query_embeddings=embedding_function(query_image),

     n_results=1,

 )['documents'][0][0]

 plt.imshow(raw_image)
 plt.show()
 imgs = collection_images.query(query_uris=query_image, include=['data'], n_results=3)
 for img in imgs['data'][0][1:]:
     plt.imshow(img)
     plt.axis("off")
     plt.show()

得到的结果如下:

结果还包含了我们需要的大部分信息

这样我们整合就完成了,最后就是创建聊天模板,

 prompt = """<|im_start|>system
 A chat between a curious human and an artificial intelligence assistant.
 The assistant is an exprt in flowers , and gives helpful, detailed, and polite answers to the human's questions.
 The assistant does not hallucinate and pays very close attention to the details.<|im_end|>
 <|im_start|>user
 <image>
 {question} Use the following article as an answer source. Do not write outside its scope unless you find your answer better {article} if you thin your answer is better add it after document.<|im_end|>
 <|im_start|>assistant
 """.format(question='question', article=doc)

如何创建聊天过程我们这里就不详细介绍了,完整代码在这里:

https://avoid.overfit.cn/post/c2d8059cc5c145a48acb5ecb8890dc0e

​

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

多模态RAG实战指南:让PDF、图表、录音真正被AI理解 多模态RAG是一种面向真实企业文档场景的知识检索增强技术,其核心在于突破传统文本向量化的局限,通过图文语义对齐、跨模态联合索引与结构化上下文生成,实现对PDF、扫描表格、流程图、手写批注等异构内容的协同理解。它并非简单叠加图像模型,而是重构从解析、对齐、检索到生成的全链路——尤其解决OCR失真、结构割裂、模态噪声等单模态RAG固有缺陷。该技术已广泛应用于合规审查、图纸检索、课件匹配等高精度知识密集型场景,显著提升数值查询准确率与图表理解能力。本文聚焦可落地的工程实现,涵盖LayoutParser+Donut 阅读详情

相关推荐

探索检索增强生成(RAG)技术的无限可能:Vector+KG RAG、Self-RAG、多向量检索器多模态RAG集成

探索检索增强生成(RAG)技术的无限可能:Vector+KG RAG、Self-RAG、多向量检索器多模态RAG集成

丨汀、的博客 5391

从RAG到多模态RAG,收藏这一篇就够了!!!

什么是RAG:Retrieval Augmented Generation,检索增强生成。是一种结合了信息检索技术和大型语言模型提示功能的框架。它通过从数据源检索信息来辅助LLM生成答案,提高了模型在知识密集型任务中的准确性和可信度。

bugyinyin的博客 2066

多模态RAG--能够应用于图片表格的RAG系统

多模态RAG(检索增强生成)技术突破传统文本限制,实现文本、图像、音频等多模态数据的检索与融合生成。其核心在于跨模态对齐与融合,通过多模态嵌入技术将异源数据映射到统一向量空间。关键技术包括:多模态编码器(CLIP等模型实现跨模态编码)、多模态检索器(支持跨模态匹配)和多模态生成器(输出复合内容)。针对PDF等复杂文档,需先进行多模态解析(文本/图像/表格提取),再通过统一嵌入或模态转换实现向量化。优化技巧包括文本补全、结构化QA生成、上下文增强和领域微调等。新兴的ColPali范式提出页级别联合编码,简化了

qq_52053775的博客 283

多模态RAG深度解析:揭秘AI新技术

多模态检索增强生成(Multimodal Retrieval Augmented Generation,简称RAG)是一种新兴的设计范式,允许AI模型与文本、图像、视频等多种信息存储接口进行交互。 在探讨这个主题时,我们首先会介绍什么是检索增强生成(RAG),多模态的概念,以及如何将两者结合以构建现代多模态RAG系统。在理解了多模态RAG的基本概念后,我们将使用Google Gemini和一种类似CLIP的编码模型来构建一个多模态RAG系统。

bugyinyin的博客 3147

【SAP GUI 脚本 VBA】实战:构建Excel驱动的SAP自动化操作平台

本文详细介绍了如何利用VBA和SAP GUI脚本构建Excel驱动的SAP自动化操作平台,实现高频事务码的标准化封装和批量处理。通过实战案例展示物料主数据查询(MM03)、会计凭证修改(FB02)等场景的自动化实现,帮助用户提升10倍+操作效率,同时确保数据可追溯性和操作安全性。

weixin_33748818的博客 504

Opencv项目实战:09 物体尺寸测量

《Opencv项目实战:09 物体尺寸测量》本项目主要是运用了之前扫描文档的思想,以A4纸为背景,检测其中区域的物体长和宽。我的摄像头无法固定,所以是手持的,且由于我在寝室里面是真的没有找到合适的测量物体以及背景色(全是米色或原木色的)。所以效果有所欠缺,但经过ps修改的图片,检测的效果还是很不错的。

m0_62919535的博客 1万+

LLM大模型:使用CLIP和LLM构建多模态RAG系统

在本文中我们将探讨使用开源大型语言多模态模型(Large Language Multi-Modal)构建检索增强生成(RAG)系统。本文的重点是在不依赖LangChain或LLlama index的情况下实现这一目标,这样可以避免更多的框架依赖。

2301_81888214的博客 1216

在 SAP 系统中设置成本中心(Cost Center)和利润中心(Profit Center)需在管理会计(CO)模块中完成,涉及主数据创建、组织结构配置等步骤

本文详细介绍了SAP系统中成本中心和利润中心的设置流程。成本中心设置包括:配置成本控制范围、定义标准层次结构、创建主数据(KS01/KS02/KS03)等步骤。利润中心设置需先激活利润中心会计功能,再定义标准层次并创建主数据(KE01/KE02/KE03)。关键是将成本中心与利润中心关联,实现成本数据自动流向利润中心。最后可通过相关报表验证设置是否生效。整个流程强调主数据创建和组织结构关联,以实现成本归集和利润分析功能。

金牌架构师 2222

多模态RAG到底靠啥厉害?2个关键技术揭秘!

本文介绍了构建多模态RAG系统的关键技术,包括CLIP嵌入(实现图像与文本的跨模态理解)、多模态提示(处理文本、图像、表格等混合输入)和工具调用(扩展LLM功能)。系统构建流程涵盖数据准备、嵌入生成、向量存储、多模态检索和LLM响应生成。文章还提供了AI大模型学习路径,从系统设计到行业应用开发,包含7个阶段的学习内容和资源获取方式。

2401_84204207的博客 808

Unity零基础到入门☀️| 万字教程 讲解Unity中的数据存储 PlayerPrefs、XML、JSON【建议收藏】

本文章是Unity零基础到入门专栏的系列文章。 适合对Unity3D引擎感兴趣的小伙伴学习,偏向于新手学习! 本篇文章就来介绍一下Unity中三种基本的数据存储方式:PlayerPrefs、XML、JSON

努力前行,总会成为自己心中的那道光 8万+

(第100天)Oracle GoldenGate 常见故障处理指南

OGG 运维的核心在于细致的配置管理和主动的问题排查。熟悉常见错误、掌握关键操作流程、并善用日志和调试工具,是保障数据同步任务稳定运行的关键。希望这份指南能帮助您更高效地解决 OGG 同步中遇到的问题。祝您运维顺利!

LuciferLiu_DBA 301

从零搭建多模态RAG系统:CLIP与LLM的无缝集成实践

本文详细介绍了如何从零搭建多模态RAG系统,实现CLIP与LLM的无缝集成。通过实战案例和技术解析,展示了多模态RAG系统在图像和文本处理中的高效应用,包括硬件配置、数据预处理、CLIP集成、向量数据库选型及LLM提示工程等关键步骤,帮助开发者快速掌握这一前沿技术。

weixin_29172201的博客 362

基于Simulink的永磁同步电机力位混合控制(导纳+位置)仿真

本文详细介绍了基于Simulink的永磁同步电机(PMSM)力位混合控制系统实现方法。主要内容包括:1) 通过导纳控制原理(二阶质量-阻尼-弹簧模型)实现机器人柔顺控制;2) 在Simulink中构建虚拟环境、导纳控制器、PMSM驱动系统等完整框架;3) 针对曲面恒力打磨场景,实现20N恒力跟踪(RMS误差1.2N)和位置顺应;4) 支持纯位置/导纳/恒力三种工作模式切换;5) 提供系统性能评估指标和高级扩展功能。该方案显著提升了机器人环境交互的安全性和适应性,适用于精密装配、人机协作等应用场景。

xiaoheshang_123的博客 147

anything-llm能否实现多模态输入?图文混合处理展望

尽管anything-llm原生仅支持文本处理,但通过OCR和视觉语言模型可实现图像内容的提取与融合。结合LLaVA、CLIP等技术,构建图文联合检索系统,使其成为连接文本与视觉的知识管理网关,为本地化多模态RAG提供可行路径。

weixin_42613018的博客 317

人工智能算法面试大总结-总目录

涉及秋招、春招、社招

啥都生的博客 2万+

RK3568平台开发系列讲解(安卓篇)LED呼吸灯系统流程

1.app层封装后使用NotificationManager发出:NotificationManager.notify() 2.Android 系统架构中:一个manager类对应一个aidl接口,一个manager对应一个底层的服务,notification也是这个架构

内核笔记 3646

AI代码开发宝库系列:RAG技术与应用-各式chunk切片

迪士尼RAG助手项目是一个非常好的RAG技术学习和实践案例。它涵盖了文档解析、文本切片、向量化、索引构建、多模态检索、Prompt工程等RAG系统的核心环节。通过深入理解这个项目,我们可以快速掌握RAG技术的精髓,并将其应用到各种实际场景中。希望这篇博文能帮助你更好地理解RAG技术,并激发你动手实践的热情。AI的世界充满无限可能,让我们一起探索吧!迪士尼乐园提供多种门票类型以满足不同游客需求。一日票是最基础的门票类型,可在购买时选定日期使用,价格根据季节浮动。

chenchihwen的专栏 1367

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

收藏!小白程序员快速入门多模态RAG系统实战教程

多模态RAG实操要远比理论复杂的多,我们没有办法一次性解决所有问题,只能按照RAG的整体框架,一步一步的解决问题和优化问题,而在多模态RAG中,作者认为最核心的三个步骤就是,文档解析,嵌入和生成;对应的就是智能文档处理,多模态融合嵌入,上下文构建。其中,对模型来说它需要的是一个结构化的,文本,图片,视频,音频等内容组成的一个多模态上下文;而嵌入是解决怎么存储和检索多模态数据,包括内容总结,多模态融合等技术,解决的构建上下文的数据从哪来,怎么来的问题;而文档解析的目的,是对文档进行拆分,然后方便存储和检索。

2601_95390420的博客 320

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

大模型私有化部署 × 多模态CLIP实战:一场深度模拟面试全解析(附连环追问与工程落地指南)

通过这场模拟面试,我们可以看到,私有化部署与多模态CLIP并非孤立技术,而是可以深度融合,构建强大的企业级AI系统。从模型选型、量化压缩,到推理优化、安全加固,再到高可用架构,每一步都需扎实的工程能力。最后建议动手实践:用vLLM部署Qwen-7B,用FAISS搭建CLIP检索系统;压测验证:使用locust测试混合负载下的系统稳定性;持续学习:关注 OpenCLIP、BLIP-2 等新一代多模态模型。掌握这套能力,你不仅能通过大模型实习面试,更能为企业创造真实价值。

吾为热爱计科,致力于知识分享的践行者,此博客是我在这条道路上留下的足迹。 400

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

收藏:一文搞懂Agentic RAG多模态实现:让AI系统理解多种数据类型

多模态Agentic RAG通过将文本、图像、音频、视频等不同模态数据映射到统一的语义向量空间,实现了跨模态检索增强生成。其核心流程包括构建多模态知识库、执行多模态查询以及整合上下文生成回答。关键技术包括跨模态编码模型、多模态理解模型和多模态大模型,应用于电商、医疗、教育等领域,但也面临模态对齐、计算成本和系统复杂性等挑战。RAG系统处理多模态是一个非常重要且前沿的领域。传统的RAG主要针对文本,而旨在让系统能够理解、检索和生成多种类型的信息,包括文本、图像、音频、视频等。

优快云_224022的博客 766

RAG技术精讲:大模型时代的知识库构建与检索

RAG(检索增强生成)是结合检索与生成的重要技术,适用于时效性强、算力有限的场景。文章详细介绍了其架构演进从简单RAG到Agentic RAG,涵盖索引构建、多路召回策略、Rerank模型和Embedding训练等技术。针对不同数据模态(语音、文本、图片)提出了处理方案,并讨论了效果评估方法和未来优化方向。RAG已成为连接LLM与知识库的基础设施,在Agent框架中发挥重要作用。

2301_76161259的博客 644

如何利用Towhee与大型语言模型构建智能问答和知识检索系统

Towhee是一个专门处理非结构化数据的开源框架,通过集成大型语言模型(LLM)实现智能问答和知识检索功能。它为开发者提供了一个完整的解决方案,能够将文本、图像、音频等非结构化数据转化为可检索的知识库,并与各种LLM模型无缝集成,构建强大的智能问答系统。 ## Towhee的核心优势:多模态数据处理与LLM集成 Towhee的核心功能在于其强大的多模态数据处理能力和灵活的LLM管道编排。它支持

gitblog_00064的博客 537

解锁产品说明书的“视觉密码”:多模态 RAG 与 GPT-4 的深度融合 (AI应用与技术系列)

在人工智能(AI)飞速发展的今天,大型语言模型(LLM)如 GPT-4,已经展现出强大的文本理解、生成和推理能力。当产品说明书包含丰富的图像信息时,基于文本的 RAG 系统会遇到“信息鸿沟”——它能检索到文本描述,但无法理解或利用与该文本关联的图像,从而丢失了用户查询中可能隐含的视觉线索。传统的文本模型(如 BERT, RoBERTa, Sentence-BERT)和图像模型(如 ResNet, VGG, ViT)各自生成其模态的嵌入向量,但这些向量通常在不同的空间中,无法直接进行跨模态的相似度比较。

m0_63191034的博客 486

QMedia 三大服务架构深度剖析:mm_server、mmrag_server、qmedia_web 如何协作实现多模态搜索

QMedia 是一款面向内容创作者的开源 AI 内容搜索引擎,专为图文与短视频素材提供多模态搜索、RAG 检索与智能问答能力,支持完全本地化部署,可针对私有数据离线检索。它由 mm_server(多模态模型服务)、mmrag_server(RAG 搜索问答服务)、qmedia_web(Web 前端)三大服务组成,本文带你一次性看懂它们的分工、协作链路与部署方式。 [![QMedia 开源 AI

gitblog_00198的博客 1025
上一篇: LLM 各种技巧| Prompt Engineering 大总结|指南
下一篇: 微软GraphRAG框架源码解读(LLMs)
冻感糕人~
博客等级 码龄3年 8926粉丝 2384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值