【AI赋能测试笔记】3中间件

一、什么是中间件



比如

和智能体(大模型)交互的消息类型:

  • human message:人发送的信息
  • AI message:大模型返回的信息
  • Tool message:工具执行的结果
  • system message:系统消息(身份约定、上下文信息...)

langgraph API 自带记忆存储功能

前端界面参考样本

https://github.com/langchain-ai/agent-chat-ui

二、PDF解析器

前端加一个上传文件和图片的功能

下载https://github.com/langchain-ai/agent-chat-ui放到@src-example中

python 复制代码
# 我要在当前项目@src中的对话界面添加一个上传文件和图片的功能,请你参考代码@src-example中的文件上传功能,实现的效果及发送给后端的数据格式完全一致
# 如果没有参考样本项目
# 截取后端输出信息复制给AI,"后端获取到的数据是这样,我期望你把上传的附件转成base64编码放到additional_kwargs中发送到后端去"
python 复制代码
在这里插入代码片

前端会把PDF转成base64编码再上传到服务器,这样服务器会收到庞大而没有价值的信息->现在后端还是deepseek-chat模型(文本大模型),它不支持多模态输入

所以后端提取用户上传的base64位数据转成PDF,对PDF进行解析(内容包含:文本、图片、思维导图、流程图),提取到完整信息

后端

(1)https://docs.langchain.com/oss/python/integrations/document_loaders/pymupdf4llm

python 复制代码
# 帮我基于这段代码,开发一个pdf文档处理器,要求如下:
    # 1、核心代码:
    # from langchain_community.document_loaders.parsers import LLMImageBlobParser
    # from langchain_openai import ChatOpenAI
    # loader = PyMuPDF4LLMLoader( "./example_data/layout-parser-paper.pdf",
        # mode="page",
        # extract_images=True,
        # images_parser=LLMImageBlobParser(
        # model=ChatOpenAl( model="gpt-4. 1-mini", max_tokens=1024),)
    # docs=loader.load()
    # 2、我会传入一份base64位的pdf数据,借助该解析器最终返回pdf的完整内容
    # 脚本文件存放到这个目录:pdf_processor

(2)用豆包接入图片多模态https://console.volcengine.com/ark/region:ark+cn-beijing/model/detail?Id=doubao-seed-1-6-vision

创建一个API key,开通管理(全开通),视觉模型deepseed1.6复制完整的ID号,API接入

(3)会话中包含在线链接

三、如何将pdf解析器与智能体发生联系?智能体中间件:技能中间件

基于装饰器的中间件

基于类的中间件(装饰器的封装成一个类)

https://docs.langchain.com/oss/python/langchain/middleware/custom#class-based-middleware

前端加一个"是否开启PDF多模态"滑动开关

前端发的消息通过中间件截取到PDF base64位数据,调用pdf解析器,将解析后的pdf内容传给agent(,拿到信息之后大模型才能根据信息判断调用什么工具)

后端

python 复制代码
# 帮我开发一个中间件,实现的代码请参考https://docs.langchain.com/oss/python/langchain/middleware/custom
    # 具体实现功能如下:
    # 1、截取前端发的消息中的PDF base64位数据(去看下前端发的base64位什么样子),message格式如下:(粘贴)
    # 2、数据中的base64位的PDF数据发送给pdf解析器@pdf_processor/processor.py:PDFProcessor,解析器返回解析后的完整pdf信息,追加到system message
相关推荐
冬奇Lab5 分钟前
开源项目第222期:security-audit — Cloudflare 的安全审计 Skill,把 Coding Agent 变成六阶段安全审计器
人工智能·开源·资讯
卤煮最下饭13 分钟前
在眼镜上背单词:一个 AIUI 对话式智能体的诞生
人工智能
Java后端的Ai之路20 分钟前
Python进阶探索17 - Python中的深拷贝与浅拷贝
人工智能·python·ai·浅拷贝·深拷贝
知识分享小能手36 分钟前
深度学习学习教程,从入门到精通,深度生成模型 —— 知识点详解与代码实现(20)
人工智能·深度学习·学习
hzxxxz1 小时前
26%的研发交给AI之后-人的位置换到了哪里
人工智能
m0_587383001 小时前
深圳24小时自助健身房系统软件开发实战:架构设计与部署指南
人工智能·数据挖掘·系统架构·需求分析
Joy T1 小时前
Spring AI 2.0 Agent 进阶:Memory、State 与 Context Engineering 常见技术全景
java·人工智能·后端·spring·agent入门·agent state
估值探索者1 小时前
【Python量化系统工程化 #08】关了 SSH 就停?systemd 让脚本开机自启 + 异常自动拉起
java·c++·人工智能·分类·数据挖掘
西柚研究生1234561 小时前
论文分析17:YOLOv11_UAVNet:无人机航拍图像专用目标检测算法
人工智能·python·深度学习·算法·目标检测
m4Rk_1 小时前
【论文阅读】Agent 记忆机制(74):CompassMem——从相似度检索走向事件图上的记忆导航
论文阅读·人工智能·学习·开源·github