【大模型实战】LangChain 1.0多模态RAG系统实战:图片分析与语音转写功能开发指南!

【LangChain_V1.0从入门到实践】第11章 RAG 摘要 RAG(检索增强生成)技术通过结合信息检索和大语言模型生成能力,解决了知识过时、专业领域不足等问题。本文以文本型PDF处理为例,展示了RAG的实现流程:1)使用PyPDFLoader读取PDF;2)通过RecursiveCharacterTextSplitter分割文本;3)利用nomic-embed-text模型进行文本向量化;4)将向量存入Chroma数据库。最后构建问答系统,通过检索增强生成准确回答。该方案适用于知识库问答、专业领域咨询等场景,显著提升回答的准确性和时效性。 阅读详情

一、图片分析功能实现

1.1 传统图片分析系统建设思路

在构建图片分析系统时,传统技术方案通常采用多阶段处理流程:

核心技术路径:

  • 图像预处理:使用 OpenCV、PIL 等 Python 库对原始图像进行尺寸调整、色彩校正、噪声过滤等预处理操作
  • 文字信息提取:通过 OCR 模型(如 MonkeyOCR、DeepSeek-OCR)识别并提取图像中的文本内容
  • 语义理解分析:借助多模态大模型(如 Qwen-VL 系列)对图像进行深度语义解析,理解图像场景、对象关系等高层语义信息

这种分层处理架构虽然技术成熟,但存在流程复杂、误差累积等问题。随着多模态大模型能力的提升,笔者这里采用更简洁高效的端到端解决方案。

1.2 多模态 RAG 图片分析实现

本系统得益于Qwen3-Omni在文本、图像、音频全模态任务中保持的顶尖性能,实现一体化的图片分析功能。

1.2.1 数据结构回顾与设计

多模态RAG系统会将图片经过base64编码转化为字符串中存储在ContentBlock中,与文字内容同步送入Qwen3-Omni大模型处理,这里不需要变动数据结构:

class ContentBlock(BaseModel):
type: str = Field(description="内容类型: text, image, audio")
content: Optional[str] = Field(description="内容数据")
class MessageRequest(BaseModel):
content_blocks: List[ContentBlock] = Field(default=[], description="内容块")
history: List[Dict[str, Any]] = Field(default=[], description="对话历史")
class MessageResponse(BaseModel):
content: str
timestamp: str
role: str

1.2.2 图像编码处理工具

在项目根目录创建 utils.py 文件,实现图像编码工具类,图像编码工具类负责识别用户上传图片格式并将其编码为base64字符串:

import base64
from fastapi import UploadFile, HTTPException
class ImageProcessor:
"""图像处理工具类"""
@staticmethod
def image_to_base64(image_file: UploadFile) -> str:
try:
# 读取文件内容
contents = image_file.file.read()
# 进行base64编码
base64_encoded = base64.b64encode(contents).decode('utf-8')
return base64_encoded
except Exception as e:
raise HTTPException(status_code=500, detail=f"图像编码失败: {str(e)}")
@staticmethod
def get_image_mime_type(filename: str) -> str:
extension = filename.split('.')[-1].lower()
mime_types = {
'jpg': 'image/jpeg',
'jpeg': 'image/jpeg',
'png': 'image/png',
'gif': 'image/gif',
'bmp': 'image/bmp',
'webp': 'image/webp'
}
return mime_types.get(extension, 'image/jpeg')

1.2.3 多模态消息构建

修改多模态消息构建逻辑,支持图像数据的处理,识别图片后缀格式并将其处理为base64字符串,构造格式为{"type":"image_url", "image_url":{"url": 图片base64格式}}的多模态大模型访问请求

def create_multimodal_message(request: MessageRequest, image_file: UploadFile) -> HumanMessage:
"""创建多模态消息"""
message_content = []
# 如果有图片
if image_file:
processor = ImageProcessor()
mime_type = processor.get_image_mime_type(image_file.filename)
base64_image = processor.image_to_base64(image_file)
message_content.append({
"type": "image_url",
"image_url": {
"url": f"data:{mime_type};base64,{base64_image}"
},
})
# 处理内容块
for i, block in enumerate(request.content_blocks):
if block.type == "text":
message_content.append({
"type": "text",
"text": block.content
})
elif block.type == "image":
# 只有base64格式的消息才会被接入
if block.content.startswith("data:image"):
message_content.append({
"type": "image_url",
"image_url": {
"url": block.content
},
})
return HumanMessage(content=message_content)

1.2.4 历史记录多模态支持

增强历史记录处理函数,添加图像分析的系统提示和多模态内容支持:

def convert_history_to_messages(history: List[Dict[str, Any]]) -> List[BaseMessage]:
"""将历史记录转换为 LangChain 消息格式,支持多模态内容"""
messages = []
# 添加系统消息
system_prompt = """
你是一个专业的多模态 RAG 助手,具备如下能:
1. 与用户对话的能力。
2. 图像内容识别和分析能力(OCR, 对象检测, 场景理解)
重要指导原则:
- 当用户上传图片并提出问题时,请结合图片内容和用户的具体问题来回答
- 仔细分析图片中的文字、图表、对象、场景等所有可见信息
- 根据用户的问题重点,有针对性地分析图片相关部分
- 如果图片包含文字,请准确识别并在回答中引用
- 如果用户只上传图片没有问题,则提供图片的全面分析
请以专业、准确、友好的方式回答
"""
messages.append(SystemMessage(content=system_prompt))
# 转换历史消息
for i, msg in enumerate(history):
content = msg.get("content", "")
content_blocks = msg.get("content_blocks", [])
message_content = []
if msg["role"] == "user":
for block in content_blocks:
if block.get("type") == "text":
message_content.append({
"type": "text",
"text": block.get("content", "")
})
elif block.get("type") == "image":
image_data = block.get("content", "")
if image_data.startswith("data:image"):
message_content.append({
"type": "image_url",
"image_url" : {
"url": image_data
}
})
messages.append(HumanMessage(content=message_content))
elif msg["role"] == "assistant":
messages.append(AIMessage(content=content))
return messages

这份完整版的大模型 AI 学习和面试资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】
在这里插入图片描述

1.2.5 接口格式调整

由于现在需要同时支持 JSON 数据和文件上传,将接口调整为 multipart/form-data 格式,修改chat_stream接口如下:

@app.post("/api/chat/stream")
async def chat_stream(
image_file: UploadFile = File(...),
content_blocks: str = Form(default="[]"),
history: str = Form(default="[]")
):
"""流式聊天接口(支持多模态)"""
try:
# 解析 JSON 字符串
try:
content_blocks_data = json.loads(content_blocks)
history_data = json.loads(history)
except json.JSONDecodeError as e:
raise HTTPException(status_code=400, detail=f"JSON 解析错误: {str(e)}")
# 创建请求对象(用于传递给其他函数)
request_data = MessageRequest(content_blocks=content_blocks_data, history=history_data)
# 转换消息历史
messages = convert_history_to_messages(request_data.history)
# 添加当前用户消息(支持多模态)
current_message = create_multimodal_message(request_data, image_file)
messages.append(current_message)
# 返回流式响应
return StreamingResponse(
generate_streaming_response(messages),
media_type="text/event-stream",
headers={
"Cache-Control": "no-cache",
"Connection": "keep-alive",
"Content-Type": "text/event-stream",
}
)
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))

完成以上五个核心模块的修改后,系统就具备了完整的图片分析能力,可以处理用户上传的图像并进行智能问答~

1.3 图片分析功能测试

完成代码开发后,我们通过 Postman 对图片分析功能进行完整测试。

测试配置步骤

1. 请求头设置
在 Postman 的 Headers 选项卡中配置:

  • Content-Type: multipart/form-data

2. 请求体配置
在 Body 选项卡中选择 form-data 格式,添加以下参数:

字段名类型值
image_fileFile选择 Gemini 3.0 Logo 图片文件
content_blocksText[{"type": "text", "content": "请分析这张图片"}]
historyText[]

3. 测试执行
向 /api/chat/stream 端点发送 POST 请求,系统返回流式响应。

测试结果验证

从响应结果可见,系统成功识别并分析了测试图片:

  • 准确识别出图片包含 Gemini 3.0 的 Logo
  • 详细描述了 Logo 的设计元素和视觉特征
  • 提供了完整的图片内容分析

测试结果表明,图片分析功能已正常集成到多模态 RAG 系统中,能够正确处理用户上传的图片并结合问题进行智能分析。

二、音频分析功能实现

2.1 多模态RAG音频处理的实现

音频分析功能的实现思路与图片分析类似,主要通过 Base64 编码和格式转换实现音频数据的处理与传输。

2.1.1 数据结构设计

音频数据采用与图片相同的存储方式,通过 Base64 编码存储在 content 字段中:

class ContentBlock(BaseModel):
type: str = Field(description="内容类型: text, image, audio")
content: Optional[str] = Field(description="内容数据")
class MessageRequest(BaseModel):
content_blocks: List[ContentBlock] = Field(default=[], description="内容块")
history: List[Dict[str, Any]] = Field(default=[], description="对话历史")
class MessageResponse(BaseModel):
content: str
timestamp: str
role: str

2.1.2 音频处理工具类

在 utils.py 中添加音频处理工具类,支持多种音频格式,针对音频格式的处理笔者额外添加了上传文件大小的相关限制:

class AudioProcessor:
"""音频处理工具类"""
@staticmethod
def audio_to_base64(audio_file: UploadFile) -> str:
try:
# 验证文件类型
if not AudioProcessor.is_valid_audio_type(audio_file.content_type, audio_file.filename):
raise HTTPException(
status_code=400,
detail="不支持的音频格式,支持的格式有: MP3, WAV, OGG, M4A, FLAC"
)
# 读取文件内容
contents = audio_file.file.read()
# 验证文件大小(可选:限制为10MB)
max_size = 10 * 1024 * 1024  # 10MB
if len(contents) > max_size:
raise HTTPException(
status_code=400,
detail=f"音频文件过大,最大支持 {max_size // 1024 // 1024}MB"
)
base64_encoded = base64.b64encode(contents).decode('utf-8')
return base64_encoded
except HTTPException:
raise
except Exception as e:
raise HTTPException(status_code=500, detail=f"音频编码失败: {str(e)}")
@staticmethod
def get_audio_mime_type(filename: str) -> str:
extension = filename.split('.')[-1].lower()
mime_types = {
'mp3': 'audio/mpeg',
'wav': 'audio/wav',
'm4a': 'audio/mp4',
}
return mime_types.get(extension, 'audio/mpeg')  # 默认为MP3
@staticmethod
def is_valid_audio_type(content_type: str, filename: str) -> bool:
# 获取支持的MIME类型列表
supported_mimes = {
'audio/mpeg', 'audio/wav', 'audio/mp4'
}
# 检查content_type
if content_type and content_type in supported_mimes:
return True
# 检查文件扩展名
file_extension = filename.split('.')[-1].lower()
supported_extensions = {'mp3', 'wav', 'm4a'}
return file_extension in supported_extensions

2.1.3 多模态消息构建增强

扩展 create_multimodal_message 函数,支持音频数据的处理, 首先提取音频文件后缀并将其处理为base64格式,同时构造格式为{"type":"audio_url", "audio_url":{"url": 音频base64格式}}多模态大模型访问请求:

def create_multimodal_message(request: MessageRequest, image_file: UploadFile | None, audio_file:UploadFile | None) -> HumanMessage:
"""创建多模态消息"""
message_content = []
# 如果有图片
if image_file:
processor = ImageProcessor()
mime_type = processor.get_image_mime_type(image_file.filename)
base64_image = processor.image_to_base64(image_file)
message_content.append({
"type": "image_url",
"image_url": {
"url": f"data:{mime_type};base64,{base64_image}"
},
})
if audio_file:
processor = AudioProcessor()
mime_type = processor.get_audio_mime_type(audio_file.filename)
base64_audio = processor.audio_to_base64(audio_file)
message_content.append({
"type": "audio_url",
"audio_url": {
"url": f"data:{mime_type};base64,{base64_audio}"
},
})
# 处理内容块
for i, block in enumerate(request.content_blocks):
if block.type == "text":
message_content.append({
"type": "text",
"text": block.content
})
elif block.type == "image":
# 只有base64格式的消息才会被接入
if block.content.startswith("data:image"):
message_content.append({
"type": "image_url",
"image_url": {
"url": block.content
},
})
elif block.type == "audio":
if block.content.startswith("data:audio"):
message_content.append({
"type": "audio_url",
"audio_url": {
"url": block.content
},
})
return HumanMessage(content=message_content)

2.1.4 历史记录处理增强

更新系统提示词,添加音频处理能力,并增强历史记录处理逻辑:

def convert_history_to_messages(history: List[Dict[str, Any]]) -> List[BaseMessage]:
"""将历史记录转换为 LangChain 消息格式,支持多模态内容"""
messages = []
# 添加系统消息
system_prompt = """
你是一个专业的多模态 RAG 助手,具备如下能:
1. 与用户对话的能力。
2. 图像内容识别和分析能力(OCR, 对象检测, 场景理解)
3. 音频转写与分析
重要指导原则:
- 当用户上传图片并提出问题时,请结合图片内容和用户的具体问题来回答
- 仔细分析图片中的文字、图表、对象、场景等所有可见信息
- 根据用户的问题重点,有针对性地分析图片相关部分
- 如果图片包含文字,请准确识别并在回答中引用
- 如果用户只上传图片没有问题,则提供图片的全面分析
请以专业、准确、友好的方式回答
"""
messages.append(SystemMessage(content=system_prompt))
# 转换历史消息
for i, msg in enumerate(history):
content = msg.get("content", "")
content_blocks = msg.get("content_blocks", [])
message_content = []
if msg["role"] == "user":
for block in content_blocks:
if block.get("type") == "text":
message_content.append({
"type": "text",
"text": block.get("content", "")
})
elif block.get("type") == "image":
image_data = block.get("content", "")
if image_data.startswith("data:image"):
message_content.append({
"type": "image_url",
"image_url" : {
"url": image_data
}
})
elif block.get("type") == "audio":
audio_data = block.get("content", "")
if audio_data.startswith("data:audio"):
message_content.append({
"type": "audio_url",
"image_url": {
"url": audio_data
}
})
messages.append(HumanMessage(content=message_content))
elif msg["role"] == "assistant":
messages.append(AIMessage(content=content))
return messages

2.1.5 接口完整实现

更新聊天接口,同时支持图片和音频文件上传:

@app.post("/api/chat/stream")
async def chat_stream(
image_file: UploadFile | None = File(None),
content_blocks: str = Form(default="[]"),
history: str = Form(default="[]"),
audio_file: UploadFile | None = File(None)
):
"""流式聊天接口(支持多模态)"""
try:
# 解析 JSON 字符串
try:
content_blocks_data = json.loads(content_blocks)
history_data = json.loads(history)
except json.JSONDecodeError as e:
raise HTTPException(status_code=400, detail=f"JSON 解析错误: {str(e)}")
# 创建请求对象(用于传递给其他函数)
request_data = MessageRequest(content_blocks=content_blocks_data, history=history_data)
# 转换消息历史
messages = convert_history_to_messages(request_data.history)
# 添加当前用户消息(支持多模态)
current_message = create_multimodal_message(request_data, image_file=image_file, audio_file=audio_file)
messages.append(current_message)
# 返回流式响应
return StreamingResponse(
generate_streaming_response(messages),
media_type="text/event-stream",
headers={
"Cache-Control": "no-cache",
"Connection": "keep-alive",
"Content-Type": "text/event-stream",
}
)
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))

2.2 功能测试

完成代码开发后,通过 Postman 对音频分析功能进行测试。

测试配置:

  • 请求头:Content-Type: multipart/form-data
  • 请求体(form-data格式)
字段名类型值
audio_fileFile选择测试音频文件(包含"你好"的录音)
content_blocksText[{"type": "text", "content": "请解析音频内容"}]
historyText[]

测试结果:
系统成功识别并转写了音频内容,准确输出三个"你好",验证了音频分析功能的正确性。

三、如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习和面试资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】
在这里插入图片描述

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

AIGC大模型应用开发入门:从提示工程到RAG实战指南 人工智能生成内容(AIGC)是当前技术革新的核心驱动力,它基于大语言模型的涌现能力,通过理解和生成自然语言、代码、图像等多模态内容,重塑了人机交互范式。其技术价值在于将海量知识转化为可编程的智能服务,显著提升了内容创作、代码生成、数据分析等场景的生产力。在实际工程实践中,开发者无需从零训练模型,而是通过提示工程、检索增强生成(RAG)等关键技术,将预训练大模型与业务逻辑结合,快速构建智能应用。本文聚焦于AIGC应用开发的基础路径,通过拆解智能体框架与工具调用原理,并以构建一个基于RAG的文档问答助手为例,系 阅读详情

相关推荐

AI大模型赋能知识管理系统:RAG、多模态与落地避坑指南

知识管理系统(KMS)是企业沉淀核心资产的重要平台,但传统关键词检索和人工维护模式难以应对非结构化内容的快速增长。AI大模型与RAG(检索增强生成)技术的成熟,让“人找知识”逐步转变为“知识找人”:通过Embedding向量化与语义检索,系统能够理解自然语言提问;借助生成式模型,长文档可自动摘要、知识问答可直接给出答案并附出处。从模型选型、向量库配置到多模态前处理(如OCR、语音转写),再到权限控制、增量更新等工程避坑设计,企业需要一套系统化的落地方法论。本文结合真实项目经验,拆解AI赋能知识管理的完整技术

weixin_30861459的博客 544

【大模型学习】LangChain1.0多模态RAG知识库开发全流程!

本文介绍了基于LangChain 1.0开发多模态RAG系统的核心架构,采用前后端分离架构,构建支持文本、图像、音频和PDF处理的四大功能模块。文章详细讲解了智能问答基础模块的开发,包括环境配置、多模态模型初始化、数据结构定义、多模态消息构建、对话历史管理和流式响应生成等内容,并使用Postman完成了接口测试验证。本实战项目为后续扩展更复杂的多模态应用奠定了坚实基础。

libaiup的博客 1289

基于Arduino的智能垃圾桶

通过本次简单的Arduino智能垃圾桶小实验可以快速了解Arduino的基本用法 1、材料准备 Arduino UNO HC-SR04超声波模块 SG90舵机 杜邦线 电源 电脑 2、代码分析 电机的控制 #include<Servo.h> #define duoji D5 Servo myduoji; void setup() { myduoji.attach(duoji); //舵机连接 Serial.begin(115200); } void loop() { myduoji.w

weixin_41679960的博客 1万+

【LangChain1.0】第四篇:RAG基础篇(LangChain生产实战)

本文介绍了RAG(检索增强生成)技术的基础概念与LangChain实现,包含环境配置、核心架构和工作流程。重点对比了两种RAG实现模式:智能灵活的RAG Agent和快速简洁的2-Step RAG Chain,并详细讲解了文档加载、文本分割等索引流程的核心组件。文章提供了完整的代码示例,帮助开发者快速构建生产级RAG应用,解决LLM的上下文限制和知识固化问题。

qq_37852091的博客 1538

单机多环境部署apollo 2.3.0

理解apollo的整体架构后,对比nacos配置中心功能点,其设计的复杂度以及完整度相较nacos而言更为丰富 对于不同的环境,例如 FAT, PRO 在部署时进程已经完全物理隔离,并且每个环境config/adminservice依赖的数据也完全物理隔离(连接不同的db),在数据隔离与安全方面做的很完善,但同时也提升了架构的复杂度 而 portal 可以管理多个环境,单节点部署虽然有单点问题,但并不会影响业务从configservice读取配置, 挂掉只要重启就可以,只是在

Life is a starting point everywhere 1299

基于CODESYS与EtherCAT的步进电机单轴控制实践

本文详细介绍了基于CODESYS平台与EtherCAT总线技术实现步进电机单轴控制的完整实践流程。从硬件选型、软件工程创建、EtherCAT主从站配置,到运动控制功能块编程与在线调试,手把手指导读者完成从零到一的搭建,并提供了常见问题的排坑指南,帮助自动化开发者快速掌握这一高效、灵活且成本可控的工业运动控制解决方案。

hh234的博客 491

【LangChain1.0】第四阶段:RAG基础篇(LangChain篇)

本文介绍了LangChain RAG(检索增强生成)的基础概念与核心组件。RAG通过结合外部知识检索与生成模型,增强LLM的回答能力。主要内容包括:1) RAG面临的文档加载、智能分块、精确检索等核心挑战;2) LangChain RAG的灵活性、组合性、扩展性等优势;3) 四大核心组件:文档加载器(支持PDF/HTML/CSV等格式)、文本分割器(多种分块策略)、Embeddings(文本向量化)和向量存储(如Chroma、FAISS等)。文章提供了详细的代码示例,展示如何利用LangChain构建完整的

945

从飞机翼型仿真到燃烧模拟:Fluent多物理场耦合的3种实战策略

本文深入探讨了Fluent在多物理场耦合仿真中的三种实战策略,涵盖可压缩流动与燃烧耦合、湍流模型选择及网格策略,以及顺序耦合、强耦合和混合耦合方法。通过具体案例和工程实践,帮助中高级用户提升仿真精度和效率,适用于航空航天和能源化工等领域。

aa123的博客 994

LangChain RAG 完整流程实战解析

在大语言模型(LLM)应用中,一个常见的问题是:模型虽然强大,但它的知识止步于训练数据。如果我们想让模型回答某份文件、公司资料或特定领域的知识,就需要一种机制——**让模型先“查资料”,再作答**。 这正是 **RAG(Retrieval-Augmented Generation,检索增强生成)** 的核心思想。 RAG 技术通过在生成阶段引入检索模块,让模型在回答之前访问外部文档,从而实现“带知识”的智能问答。 本文将结合一段完整的 **LangChain 实战代码**,一步步解析 RAG 的构建过

cooldream2009的博客 1394

基于python+flask框架的基于微信小程序的CR公司建设项目信息管理系统-前台(开题+程序+论文) 计算机毕设

特别是随着移动互联网技术的普及,企业对便捷、高效的信息管理系统的需求日益迫切。另一方面,该系统集成了仓管、物料、财务、人事、供应商等多个模块,实现了数据的集中管理和信息共享,有助于企业实现精细化管理,降低运营成本,提升决策效率。:深入调研CR公司的业务需求,明确系统应具备的功能模块,包括仓管员管理模块(物料信息、退回记录、申请信息、仓库信息管理)、财务员管理模块(资金信息管理、采购与租赁款项处理)、人事管理模块、供应商管理模块、项目管理模块(项目信息、设备采购、物料采购、设备租赁)、以及考勤打卡模块等。

zhihao503的博客 960

滴滴数据分析80道面试题及参考答案

常见的模型评价指标有准确率、召回率、F1 值、均方误差、均方根误差、R 方等。准确率是指模型预测正确的样本数占总样本数的比例,它反映了模型预测的准确性。召回率是指模型预测为正例的样本中实际为正例的比例,它衡量了模型对正例的捕捉能力。F1 值是准确率和召回率的调和平均数,综合考虑了两者的平衡。均方误差是预测值与真实值之差的平方的平均值,它衡量了模型预测值与真实值的平均偏离程度。均方根误差是均方误差的平方根,与均方误差类似,但更直观地反映了误差的大小。

大模型大数据攻城狮的专栏 1698

LangChain1.0实战之多模态RAG系统(二)——多模态RAG系统图片分析与语音转写功能实现

本期分享通过集成全模态大模型的能力,成功构建了支持图片和音频分析的多模态 RAG 系统。这种端到端的解决方案大大简化了传统多模态处理的复杂性,展现了未来大模型技术的发展趋势。

weixin_42782643的博客 1033

关于YOLOv8的面试题(持续更新中...)

本章将计划更新关于YOLOv8中可能会成为面试题的关键技术点,计划持续更新,可能想到合适的问题我就会整理下更新到本博客中。

ice 4167

LangChain 1.0实战:多模态RAG系统开发(二)——图片分析与语音转写功能实现

本文基于LangChain 1.0实现了多模态RAG系统的图片分析与语音转写功能,通过引入Qwen3-Omni全模态大模型构建端到端处理能力。系统采用Base64编码将图片转换为字符串存储,设计了图像编码工具类和多模态消息构建模块,支持图像预处理、格式识别和历史记录处理。接口调整为multipart/form-data格式,实现了文本、图像和音频的多模态智能问答。相比传统分层处理方案,该系统简化了流程,提升了处理效率,展示了多模态大模型在实际应用中的优势。

libaiup的博客 1046

【升级U8+】不能将值 NULL 插入列 ‘VT_ID‘,表 ‘VoucherItems‘;列不允许有 Null 值。

不能将值 NULL 插入列 ‘VT_ID’,表 ‘UFDATA_006_2012.dbo.VoucherItems’;列不允许有 Null 值。INSERT 失败。

努力不懈的为广大客户提供优质的产品与真诚、贴心、专业的服务! 517

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

你的RAG只能处理文本?太OUT了!LangChain 1.0手把手教你实现多模态RAG,打通图文与语音!

本篇笔者将在此基础上,进一步实现多模态 RAG 系统的两个重要扩展功能:**图片内容分析**与**语音信息转写**。通过引入对图像和语音数据的处理能力,让 RAG 系统真正具备理解和响应多种模态信息的能力。

m0_56255097的博客 657

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

LangChain1.0实战之多模态RAG系统(三)——多模态RAG系统PDF解析功能实现

本文分享了基于LangChain的PDF文档处理的全流程,涵盖PDF解析、文本分块、引用溯源等核心技术,并通过完整代码示例展示了如何实现具备文档引用功能的问答系统,为构建实用化多模态RAG应用提供指导

weixin_42782643的博客 1009

【硬核】拆解LangChain1.0多模态解析器!手把手实现PDF中的表格、图片与文字联合提取!

上篇分享《LangChain1.0实战之多模态RAG系统(二)——多模态RAG系统图片分析与语音转写功能实现》中,笔者系统探讨了如何基于 Qwen3-Omni 多模态大模型实现图片分析与音频处理的能力。作为多模态 RAG 系统的核心组成部分,对 PDF 文档的解析回答与引用溯源同样至关重要。

m0_59164520的博客 889

[特殊字符]小白必学!LangChain多模态RAG系统实战:PDF文档引用溯源功能 yyds!手把手教你实现AI文档问答系统,代码直接抄!

本文介绍了基于LangChain实现多模态PDF文档解析与溯源问答系统的关键技术。系统通过PyMuPDF提取PDF文本内容,采用递归分块策略处理文档,利用向量数据库实现语义检索。核心流程包括:1)OCR识别与内容提取;2)智能分块存储;3)向量化检索;4)溯源引用实现。文中详细阐述了文档分块、语义检索、向量化处理等技术要点,并提供了代码实现框架,强调通过元信息关联实现答案溯源功能。该系统可有效解决传统RAG系统在信息准确性和可追溯性方面的不足。

老皮的博客 1153

AI多模态RAG实战教程(超详细)从小白到精通,一篇就够了!必收藏!

本文探讨了多模态与RAG系统结合的实践挑战。作者分享了从理论到应用的经历,发现多模态RAG远比想象复杂。文章分析了当前多模态模型的局限性,讨论了多模态数据在RAG系统中的处理方法,以及不同模态数据间关联关系维护的难题,强调了实践对于理解多模态应用的重要性。多模态与RAG的结合是一个应用的实践过程,其实际操作远比理论要复杂得多。这段时间一直在搞RAG和Agent,然后使用的基本上都是基于文本处理的推理模型,基本上没用过多模态模型;而最近突然有个想法,那就是把多模态应用于当前的RAG系统。

2401_85375298的博客 833

LangChain与大模型应用开发实战指南

大模型应用开发正成为AI领域的热点技术方向,其核心在于如何高效利用大语言模型的强大能力。LangChain作为连接大模型与实际业务场景的框架,通过模块化设计解决了传统prompt engineering的局限性。该框架包含文档加载器、文本分割器、向量存储等核心组件,支持检索增强生成(RAG)等关键技术。在工程实践中,LangChain能显著提升开发效率,如在电商客服场景中可缩短80%开发周期。结合向量数据库和Agent系统,开发者可以构建智能问答、知识管理等企业级AI应用,实现45%以上的准确率提升。

weixin_30591551的博客 384

从零开始搭建基于Langchain以及开源LLM的RAG 系统

RAG (Retrieval-Augmented Generation) 是一种结合了检索和生成两种方法的自然语言处理(NLP)技术。它通过先检索相关的文档或信息,再使用生成模型(如GPT-3)生成答案。这种方法在处理需要丰富背景信息的问题时特别有效。RAG不仅仅面向文本,它还可以面向语音、视频和图像等多模态场景,只要可以embedding的内容就可以。RAG的主要流程如下:检索(Retrieval):首先从一个大型文本数据库中检索出与问题相关的文档。

1733

LangChain 概述:从大模型到智能体应用的桥梁

文章摘要 LangChain是一个连接大语言模型与外部工具、数据源的智能体开发框架,旨在解决LLM的知识滞后、幻觉问题和执行能力不足等局限性。其发展经历了从基础模块到智能体平台的演进,2025年发布的v1.2版本标志着框架成熟,采用LangGraph进行智能体编排,支持结构化输出、多模态和中间件系统。主要应用于RAG、智能体构建、对话系统等场景,通过模块化设计(core/classic/community)满足不同开发需求。作为大模型应用开发的关键工具,LangChain帮助开发者快速构建具备推理和行动能力

2301_80809484的博客 426

大模型与大模型产品区别指南:7大核心特性对比与应用解析!

本文详细对比了大模型技术与大模型产品的核心区别。大模型是底层技术能力,需通过API调用;大模型产品是可直接使用的商业化应用。文章分析了两者在记忆、上下文窗口、知识时效、幻觉、多模态及安全对齐等七个维度的差异,并介绍了大模型产品如何通过应用层技术(如RAG、函数调用等)弥补大模型的固有缺陷,为用户提供更安全、可靠的服务。

2401_85378759的博客 946

LangChain 1.2 概述

应用为王!第 4 页学习LangChain框架,高效开发大模型应用。大模型应用技术特点:门槛低,天花板高。第 18 页。

· 654
上一篇: 这个GitHub热门开源项目:搜集了各种开源平替!
下一篇: 从阿里鹿班兴衰看大模型产品避坑指南:从设计实习生到AI产品经理的五年!
智泊AI官方
博客等级 码龄6年 8638粉丝 2667原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值