当前位置: 首页 > news >正文

读论文笔记-LLaVA:Visual Instruction Tuning

读论文笔记-LLaVA:Visual Instruction Tuning

《Visual Instruction Tuning》
研究机构:Microsoft Research
发表于2023的NeurIPS

Problems

填补指令微调方法(包括数据、模型、基准等)在多模态领域的空白。

Motivations

  1. 人工智能的核心目标就是构建一种通用的助手,能够识别多模态的指令,与人类意图保持一致,从而完成现实生活中的任务。
  2. 有指令跟随能力的视觉模型交互性、适应性差:在视觉模型中,语言指令一般隐含在模型中,或是作为图像的描述,只在把视觉信号映射成文本语义上有很大作用。
  3. 指令跟随的语言模型已经小有所成,可以进一步扩展:大语言模型已经展现出来了作为通用助手的通用接口的能力,指令显示地表达且能够指导模型解决目标任务,对其扩展到视觉语言范畴可以为通用视觉助手的产生铺路。
  4. 现有多模态模型并没有直接在视觉语言指令数据上微调,且用在纯文本任务上效果会下降。

Methods

Key1:填补数据集的空白——GPT辅助的视觉语言指令数据生成

受利用GPT进行文本标注的影响,作者用ChatGPT/GPT4这种多模态语言模型来生成指令跟随数据。但由于GPT4在当时还没有开放多模态接口,所以用的是纯文本版本。

  1. 对于现有的图像数据集(COCO),把图像用captions和bbox这两种符号表示替代,作为输入的图片内容sample_content or sample context;
  2. 利用3种system_content or messages构造3类输入-输出范式:每类范式中都先有少量人工标注的样例(根据sample content/context和指定的范式,生成的response),作为上下文学习的示例喂给模型;
  3. 让模型对所有queries(只有sample content/context)进行扩展,扩展出3种形式的指令-回复范式: conversation(对图中的物体提问,只提有确定答案的问题)、detailed description(提问并产生详细的描述)、complex reasoning(提出需要深度推理的问题,产生逻辑性强的回答)。
    在这里插入图片描述
    以生成对话的跟随数据集为例,喂给GPT4的提示词是:system_content(指定用户和助手身份,以及生成数据的要求)+sample contents+sample responses(这里的response就是QA对)+query(新的content)。
    给GPT4的提示词+query示例:
    在这里插入图片描述
    在这里插入图片描述
    最终,作者构造了LLaVA-Instruct-158K的视觉语言指令跟随样本(58K对话+23K详细描述+77K的复杂推理)

Key2:构造视觉指令微调模型LLaVA

  1. 预训练好的Vicuna作为LLM:在开源的语言模型中具有最好的指令跟随能力。
  2. 用预训练的CLIP的视觉编码器ViT-L/14处理图像+线性投影(W)到词嵌入的空间: X v − > Z v = g ( X v ) − > H v = W ∗ Z v X_v->Z_v=g(X_v)->H_v=W*Z_v Xv>Zv=g(Xv)>Hv=WZv
    在这里插入图片描述
  • 在第一阶段(特征对齐预训练阶段):用CC595K数据,冻结图像编码器和LLM,只训练线性投影层W,使得条件概率最大。相当于为LLM学习一个兼容的视觉分词器,让图像特征 H v H_v Hv与词嵌入对齐。训练1个epoch,bs=128。

    CC595K:是CC3M数据集过滤成595K之后,以文中最开始提到的一种低成本方法构造的’Human: Q V stop Assistant: Captions stop’形式。这种方法生成的指令和回应样本缺乏多样性和深度推理能力。

  • 第二阶段(端到端微调):用LLaVA-Instruct-158K和Science QA基准,冻结视觉编码器,微调线性投影层和LLM。前者用于构造多模态 chatbot,后者就构造Science QA的模型。训练3个epoch,bs=32,对Science QA来说12epoch。

    Science QA:每一个问题都会提供一段文本或图像,每一个回答要么是自然语言的推理过程要么是多选题的答案。因此,把问题+文本/图像作为指令,推理过程+答案作为回应。

Key3:构造2个定性评估模型能力的基准

  • LLaVA-Bench(COCO):从COCO-Val-2014中选择30张图像,并生成3类的指令跟随数据。
  • LLaVA-Bench(In-the-Wild):24张图像包含室内、室外场景,绘画,素描等风格,每个图像由人工详细描述,每个图像有一系列问题,共60个问题。需要模型有很广泛的知识面,并且能够处理高分辨率图像。

Experiments

  • Training datasets:新构造的CC595K指令数据+自己构造的视觉语言指令跟随数据LLaVA-Instruct-158K+Science QA

    对于对话场景,设置的是多轮对话。在训练时,给模型输送的数据be like: X s y s t e m m e s s a g e + X i n s t r u c t 1 + . . . + X i n s t r u c t t X_{system message}+X_{instruct}^1+...+X_{instruct}^t Xsystemmessage+Xinstruct1+...+Xinstructt,第一个指令包含的是问题和图片 [ X q , X v ] o r [ X v , X q ] [X_q,X_v]or[X_v,X_q] [Xq,Xv]or[Xv,Xq],后面所有指令就只是问题。这里的系统信息与Vicuna-v0一样,模型就负责预测句子之间的停顿和答案。其他两个范式都是单轮对话的。

  • Training objectives:自回归训练。也就是预测第一个答案之后,该答案作为下一次预测的输入,以此类推。
    p ( X a ∣ X v , X i n s t r u c t ) = ∏ i = 1 L p θ ( x i ∣ X v , X i n s t r u c t , < i , X a , < i ) p(Xa|Xv, Xinstruct) = ∏_{i=1}^L p_θ(xi|X_v, X_{instruct},<i, X_a,<i) p(XaXv,Xinstruct)=i=1Lpθ(xiXv,Xinstruct,<i,Xa,<i)

  • Evaluation tasks:主要验证模型的指令跟随能力和视觉推理能力。补充材料的一些实验也证明了模型的涌现能力:能够识别出训练集中没有的图片。


- Task name:Multimodal chatbot的定性评估;
- Task data:GPT-4使用的样例、OCR识别样例;
- Comapred methods:LLaVA、GPT4、BLIP2、OpenFlamingo
- Results:1)相比于BLIP2\OpenFlamingo,LLaVA并不是描述图像内容而是跟着指令描述了异常之处。2)相比于GPT4,LLaVA描述的更全面。3)即使只让模型描述图片,也能关注到异常之处。图像是out-of-domain的,因此能证明模型的推理能力也很强。

- Task name:Multimodal chatbot的定量评估:A.验证不同训练数据对模型高效性的影响;B.在更具挑战性和新域的数据上,评估模型的泛化能力和性能。
- Task data:LLaVA-Bench(COCO),LLaVA-Bench(In-the-Wild)
- Comapred methods:让GPT4接收图片的文字性描述+问题,输出理论上限的回应。再让他对理论上限回应与LLaVA模型的回应进行对比评分。A.不同训练数据的消融实验:使用不同形式的LLaVA-Instruct训练数据,在COCO标准上验证,用GPT4对生成结果进行有对比的评分并给出评分的解释。B.与BLIP2\OpenFlamingo比较。
- Results:A.用全部指令数据训练得到的模型的效果最好。B.显著好于其他两个模型,相对于拿到答案的GPT4,有81.7%的很好的推理能力。

- Task name:ScienceQA对比实验
- Task data:ScienceQA
- Comapred methods:和Human\GPT3.5\GPT3.5 withoutCOT\LLaMA-Adapter\MM-CoTbase\MM-CoTlarge\GPT-4\LLaVA+GPT4。
- Results:1)LLaVA有媲美SOTA的表现;2)为了探究LLM的极限,先对GPT4进行2-shot上下文学习得到一个指标。再将问题数量提升后发现模型由于图像太少而失败了; 3)当GPT4不能回答时,就用LLaVA的答案。发现平均准确率与LLaVA单独差不多;4) 当GPT4和LLaVA产生不同答案时,让GPT4根据这两个答案产生新的答案,作为一种类似于从其他模型中获得知识进行COT的方法,达到了SOTA。这表明GPT4能够用在模型聚合上,并且能够帮助修正模型错误的知识,并且识别出一些答案不在图片上的任务。

- Task name:ScienceQA消融实验
- Task data:ScienceQA
- Compared methods:比较使用CLIP的visual features的位置,推理和预测的顺序,检验特征对齐微调阶段的重要性,比较模型规模。
- Results:1)使用倒数第二层的视觉特征有更好的效果,可能是因为倒数第二层更关注局部的信息,而最后一层则关注全局和抽象的信息;2)推理和预测的顺序只和收敛速度有关,对最终表现只有微弱贡献;3)进行特征对齐能够保留大量的训练知识;4)模型规模对效果有决定作用。

相关文章:

读论文笔记-LLaVA:Visual Instruction Tuning

读论文笔记-LLaVA&#xff1a;Visual Instruction Tuning 《Visual Instruction Tuning》 研究机构&#xff1a;Microsoft Research 发表于2023的NeurIPS Problems 填补指令微调方法&#xff08;包括数据、模型、基准等&#xff09;在多模态领域的空白。 Motivations 人工…...

Vue3源码学习3-结合vitetest来实现mini-vue

文章目录 前言✅ 当前已实现模块汇总&#xff08;mini-vue&#xff09;✅ 每个模块简要源码摘要1. reactive.ts2. effect.ts3. computed.ts4. ref.ts5. toRef.ts6. toRefs.ts ✅ 下一阶段推荐目标所有核心模块对应的 __tests__ 测试文件&#xff0c;**带完整注释**✅ reactive.…...

K8S - 从零构建 Docker 镜像与容器

一、基础概念 1.1 镜像&#xff08;Image&#xff09; “软件的标准化安装包” &#xff0c;包含代码、环境和配置的只读模板。 技术解析 镜像由多个层组成&#xff0c;每层对应一个Dockerfile指令&#xff1a; 应用代码 → 运行时环境 → 系统工具链 → 启动配置核心特性…...

贪心算法求解边界最大数

贪心算法求解边界最大数&#xff08;拼多多2504、排列问题&#xff09; 多多有两个仅由正整数构成的数列 s1 和 s2&#xff0c;多多可以对 s1 进行任意次操作&#xff0c;每次操作可以置换 s1 中任意两个数字的位置。多多想让数列 s1 构成的数字尽可能大&#xff0c;但是不能比…...

C++类和对象(中)

类的默认成员函数 默认成员函数就是用户没有显式实现&#xff0c;编译器会自动生成的成员函数。一个类&#xff0c;我们不写的情况下编译器会默认生成6个默认成员函数&#xff0c;C11以后还会增加两个默认成员函数&#xff0c;移动构造和移动赋值。默认成员函数 很重要&#x…...

(Go Gin)Gin学习笔记(五)会话控制与参数验证:Cookie使用、Sessions使用、结构体验证参数、自定义验证参数

1. Cookie介绍 HTTP是无状态协议&#xff0c;服务器不能记录浏览器的访问状态&#xff0c;也就是说服务器不能区分两次请求是否由同一个客户端发出Cookie就是解决HTTP协议无状态的方案之一&#xff0c;中文是小甜饼的意思Cookie实际上就是服务器保存在浏览器上的一段信息。浏览…...

Windows 10 环境二进制方式安装 MySQL 8.0.41

文章目录 初始化数据库配置文件注册成服务启停服务链接服务器登录之后重置密码卸载 初始化数据库 D:\MySQL\MySQL8.0.41\mysql-8.0.41-winx64\mysql-8.0.41-winx64\bin\mysqld -I --console --basedirD:\MySQL\MySQL8.0.41\mysql-8.0.41-winx64\mysql-8.0.41-winx64 --datadi…...

Day.js一个2k轻量级的时间日期处理库

dayjs介绍 dayjs是一个极简快速2kB的JavaScript库&#xff0c;可以为浏览器处理解析、验证、操作和显示日期和时间&#xff0c;它的设计目标是提供一个简单、快速且功能强大的日期处理工具&#xff0c;同时保持极小的体积&#xff08;仅 2KB 左右&#xff09;。 Day.js 的 API…...

SQL实战:05之间隔连续数问题求解

概述 最近刷题时遇到一些比较有意思的题目&#xff0c;之前多次遇到一些求解连续数的问题&#xff0c;这次遇到了他们的变种&#xff0c;连续数可以间隔指定的数也视为是一个完整的“连续”。针对连续数的这类问题我们之前讲的可以利用等差数列的思想来解决&#xff0c;然而现…...

Windows下Dify安装及使用

Dify安装及使用 Dify 是开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力&#xff0c;轻松构建和运营生成式 AI 原生应用。比 LangChain 更易用。 前置条件 windows下安装了docker环境-Windows11安装Docker-CSDN博客 下载 Git下载…...

回归分析丨基于R语言复杂数据回归与混合效应模型【多水平/分层/嵌套】技术与代码

回归分析是科学研究特别是生态学领域科学研究和数据分析十分重要的统计工具&#xff0c;可以回答众多科学问题&#xff0c;如环境因素对物种、种群、群落及生态系统或气候变化的影响&#xff1b;物种属性和系统发育对物种分布&#xff08;多度&#xff09;的影响等。纵观涉及数…...

EasyRTC嵌入式音视频实时通话SDK技术,打造低延迟、高安全的远程技术支持

一、背景 在当今数字化时代&#xff0c;远程技术支持已成为解决各类技术问题的关键手段。随着企业业务的拓展和技术的日益复杂&#xff0c;快速、高效地解决远程设备与系统的技术难题变得至关重要。EasyRTC作为一款高性能的实时通信解决方案&#xff0c;为远程技术支持提供了创…...

webrtc ICE 打洞总结

要搞清webrtc ICE连接是否能成功 &#xff0c; 主要是搞懂NAT NAT 类型 简单来说 一 是本地的ip和端口 决定外部的 ip和端口(和目的Ip和端口无关) &#xff0c; &#xff08;这种情况又分为 &#xff0c; 无限制&#xff0c;仅限制 ip &#xff0c; 限制ip和port , 也就是…...

AI开发者的Docker实践:汉化(中文),更换镜像源,Dockerfile,部署Python项目

AI开发者的Docker实践&#xff1a;汉化&#xff08;中文&#xff09;&#xff0c;更换镜像源&#xff0c;Dockerfile&#xff0c;部署Python项目 Dcoker官网1、核心概念镜像 (Image)容器 (Container)仓库 (Repository)DockerfileDocker Compose 2、Docker 的核心组件Docker 引擎…...

4.30阅读

一. 原文阅读 Passage 7&#xff08;推荐阅读时间&#xff1a;6 - 7分钟&#xff09; In department stores and closets all over the world, they are waiting. Their outward appearance seems rather appealing because they come in a variety of styles, textures, and …...

区块链:跨链协的技术突破与产业重构

引言&#xff1a;区块链的“孤岛困境”与跨链的使命 区块链技术自诞生以来&#xff0c;凭借去中心化、透明性和安全性重塑了金融、供应链、身份认证等领域。然而&#xff0c;不同区块链平台间的​​互操作性缺失​​&#xff0c;如同“数据与价值的孤岛”&#xff0c;严重限制…...

Github 热点项目 Qwen3 通义千问全面发布 新一代智能语言模型系统

阿里云Qwen3模型真是黑科技&#xff01;两大模式超贴心——深度思考能解高数题&#xff0c;快速应答秒回日常梗。支持百种语言互译&#xff0c;跨国客服用它沟通零障碍&#xff01;打工人福音是内置API工具&#xff0c;查天气做报表张口就来。字&#xff09; 1Qwen3 今日星标 …...

有状态服务与无状态服务:差异、特点及应用场景全解

有状态服务和无状态服务是在分布式系统和网络编程中常提到的概念&#xff0c;下面为你详细介绍&#xff1a; 一、无状态服务 无状态服务指的是该服务的单次请求处理不依赖之前的请求信息&#xff0c;每个请求都是独立的。服务端不会存储客户端的上下文信息&#xff0c;每次请…...

【网络入侵检测】基于源码分析Suricata的引擎日志配置解析

【作者主页】只道当时是寻常 【专栏介绍】Suricata入侵检测。专注网络、主机安全&#xff0c;欢迎关注与评论。 1. 概要 &#x1f44b; Suricata 的引擎日志记录系统主要记录该引擎在启动、运行以及关闭期间应用程序的相关信息&#xff0c;如错误信息和其他诊断信息&#xff0c…...

Attention层的FLOPs计算

前置知识 设矩阵 A 的维度为 mn&#xff0c;矩阵 B 的维度为 np&#xff0c;则它们相乘后得到矩阵 C 的维度为 mp。其中&#xff0c;C 中每个元素的计算需要进行 n 次乘法和 n−1 次加法。也就是说&#xff0c;总的浮点运算次数&#xff08;FLOPs&#xff09;约为 m p (2n) …...

支付APP如何做好网络安全防护

支付APP的网络安全防护需要从技术、管理、用户行为等多层面综合施策&#xff0c;以下为核心措施&#xff1a; ​​一、技术防御&#xff1a;构建安全底层​​ ​​数据加密​​ ​​传输加密​​&#xff1a;使用最新协议&#xff08;如TLS 1.3&#xff09;对交易数据加密&…...

Missashe考研日记-day31

Missashe考研日记-day31 0 写在前面 芜湖&#xff0c;五一前最后一天学习圆满结束&#xff0c;又到了最喜欢的放假环节&#xff0c;回来再努力了。 1 专业课408 学习时间&#xff1a;2h学习内容&#xff1a; OK啊&#xff0c;今天把文件系统前两节的内容全部学完了&#xf…...

二叉树的路径总和问题(递归遍历,回溯算法)

112. 路径总和 - 力扣&#xff08;LeetCode&#xff09; class Solution { private: bool traversal(TreeNode*cur,int count){if(!cur->left&&!cur->right&&count0){return true;}if(!cur->left&&!cur->right){return false;}if(cur-…...

Java学习计划与资源推荐(入门到进阶、高阶、实战)

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息文章目录 Java学习计划与资源推荐**一、筑基阶段(2-3个月)****二、进阶开发阶段(2个月)****三、高级突破阶段(2-3个月)****四、项目实战与竞…...

动态规划 -- 子数组问题

本篇文章中主要讲解动态规划系列中的几个经典的子数组问题。 1 最大子数组和 53. 最大子数组和 - 力扣&#xff08;LeetCode&#xff09; 解析题目&#xff1a; 子数组是一个数组中的连续部分&#xff0c;也就是说&#xff0c;如果一个数组以 nums[i]结尾&#xff0c;那么有两…...

Sehll编程的函数于数组

目录 一、函数 1.1、定义函数 1.2、查看、删除函数 1.3、函数的返回值 1.4、函数的参数传递 1.5、函数的作用范围 1.6、函数递归 二、数组 2.1、声明数组 2.2、数组格式定义 2.3、数组调用 2.4、删除数组 一、函数 shell编程中&#xff0c;函数用于封装一段可以重…...

flutter 专题 六十四 在原生项目中集成Flutter

概述 使用Flutter从零开始开发App是一件轻松惬意的事情&#xff0c;但对于一些成熟的产品来说&#xff0c;完全摒弃原有App的历史沉淀&#xff0c;全面转向Flutter是不现实的。因此使用Flutter去统一Android、iOS技术栈&#xff0c;把它作为已有原生App的扩展能力&#xff0c;…...

AI生成Flutter UI代码实践(一)

之前的杂谈中有提到目前的一些主流AI编程工具&#xff0c;比如Cursor&#xff0c;Copilot&#xff0c;Trea等。因为我是Android 开发&#xff0c;日常使用Android Studio&#xff0c;所以日常使用最多的还是Copilot&#xff0c;毕竟Github月月送我会员&#xff0c;白嫖还是挺香…...

spring boot中@Validated

在 Spring Boot 中&#xff0c;Validated 是用于触发参数校验的注解&#xff0c;通常与 ​​JSR-303/JSR-380​​&#xff08;Bean Validation&#xff09;提供的校验注解一起使用。以下是常见的校验注解及其用法&#xff1a; ​1. 基本校验注解​​ 这些注解可以直接用于字段…...

VBA代码解决方案第二十四讲:EXCEL中,如何删除重复数据行

《VBA代码解决方案》(版权10028096)这套教程是我最早推出的教程&#xff0c;目前已经是第三版修订了。这套教程定位于入门后的提高&#xff0c;在学习这套教程过程中&#xff0c;侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码…...

SpringBoot+EasyExcel+Mybatis+H2实现导入

文章目录 SpringBootEasyExcelMybatisH2实现导入1.准备工作1.1 依赖管理1.2 配置信息properties1.3 H2数据库1.4 Spring Boot 基础概念1.5 Mybatis核心概念 1.6 EasyExcel核心概念 2.生成Excel数据工具类-随机字符串编写生成Excel的java文件 3.导入功能并且存入数据库3.1 返回结…...

算法四 习题 1.3

数组实现栈 #include <iostream> #include <vector> #include <stdexcept> using namespace std;class MyStack { private:vector<int> data; // 用于存储栈元素的数组public:// 构造函数MyStack() {}// 入栈操作void push(int val) {data.push_back…...

el-tabs与table样式冲突导致高度失效问题解决(vue2+elementui)

背景 正常的el-table能根据父容器自动计算剩余高度&#xff0c;并会在列表中判断自适应去放出滚动条。而el-tabs本身就是自适应el-tab-pane内容的高度来进行自适应调节&#xff0c;这样就会导致el-table计算不了当前剩余的高度&#xff0c;所以当el-tabs里面包含el-table时&am…...

Access开发:轻松一键将 Access 全库表格导出为 Excel

hi&#xff0c;大家好呀&#xff01; 在日常工作中&#xff0c;Access 常常是我们忠实的数据管家&#xff0c;默默守护着项目信息、客户列表或是库存记录。它结构清晰&#xff0c;录入便捷&#xff0c;对于许多中小型应用场景来说&#xff0c;无疑是个得力助手。然而&#xff…...

合并多个Excel文件到一个文件,并保留格式

合并多个Excel文件到一个文件&#xff0c;并保留格式 需求介绍第一步&#xff1a;创建目标文件第二步&#xff1a;创建任务列表第三步&#xff1a;合并文件第四步&#xff1a;处理合并后的文件之调用程序打开并保存一次之前生成的Excel文件第五步&#xff1a;处理合并后的文件之…...

使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十讲)

这一期我们讲解demo中登录、ok按键的回调函数以及界面的美化&#xff0c;以下是上期界面的图片如图所示&#xff1a; 首先点击界面在右侧的工具栏中调配颜色渐变色&#xff0c;具体设置如下图所示&#xff1a; 然后是关于界面内框也就是容器的美化&#xff0c;具体如下图所示…...

论文笔记(八十二)Transformers without Normalization

Transformers without Normalization 文章概括Abstract1 引言2 背景&#xff1a;归一化层3 归一化层做什么&#xff1f;4 动态 Tanh &#xff08;Dynamic Tanh (DyT)&#xff09;5 实验6 分析6.1 DyT \text{DyT} DyT 的效率6.2 tanh \text{tanh} tanh 和 α α α 的消融实验…...

Mysql之数据库基础

&#x1f31f; 各位看官好&#xff0c;我是maomi_9526&#xff01; &#x1f30d; 种一棵树最好是十年前&#xff0c;其次是现在&#xff01; &#x1f680; 今天来学习Mysql的相关知识。 &#x1f44d; 如果觉得这篇文章有帮助&#xff0c;欢迎您一键三连&#xff0c;分享给更…...

shell(5)

位置参数变量 1.介绍 当我们执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量. 比如&#xff1a;./myshell.sh100 200,这就是一个执行shell的命令行,可以在myshell脚本中获取到参数信息. 2.基本语法 $n(功能描述&#xff1a;n为数字,$0代表命令…...

VARIAN安捷伦真空泵维修清洁保养操作SOP换油操作流程内部转子图文并茂内部培训手侧

VARIAN安捷伦真空泵维修清洁保养操作SOP换油操作流程内部转子图文并茂内部培训手侧...

动画震动效果

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 在有的相关目中特别是在C端一般都要求做的炫酷一些&#xff0c;这就需要一些简易的动画效果&#xff0c;这里就弄了一个简易的震动的效果如下视频所示 让图标一大一小的震动视频 分析&#xff1a; 提…...

DB-GPT V0.7.1 版本更新:支持多模态模型、支持 Qwen3 系列,GLM4 系列模型 、支持Oracle数据库等

V0.7.1版本主要新增、增强了以下核心特性 &#x1f340;DB-GPT支持多模态模型。 &#x1f340;DB-GPT支持 Qwen3 系列&#xff0c;GLM4 系列模型。 &#x1f340; MCP支持 SSE 权限认证和 SSL/TLS 安全通信。 &#x1f340; 支持Oracle数据库。 &#x1f340; 支持 Infini…...

C++23 std::invoke_r:调用可调用 (Callable) 对象 (P2136R3)

文章目录 引言背景知识回顾可调用对象C17的std::invoke std::invoke_r的诞生提案背景std::invoke_r的定义参数和返回值异常说明 std::invoke_r的使用场景指定返回类型丢弃返回值 std::invoke_r与std::invoke的对比功能差异使用场景差异 结论 引言 在C的发展历程中&#xff0c;…...

pymysql

参数&#xff08;会导致SQL注入&#xff09; import pymysql# 创建数据库连接 conn pymysql.connect(user "root",password "root",host "127.0.0.1",port 3306,database "test" )# 创建游标对象 cur conn.cursor(cursorpymysql.…...

基于Spring Boot + Vue 项目中引入deepseek方法

准备工作 在开始调用 DeepSeek API 之前&#xff0c;你需要完成以下准备工作&#xff1a; 1.访问 DeepSeek 官网&#xff0c;注册一个账号。 2.获取 API 密钥&#xff1a;登录 DeepSeek 平台&#xff0c;进入 API 管理 页面。创建一个新的 API 密钥&#xff08;API Key&#x…...

Spring Boot集成Kafka并使用多个死信队列的完整示例

以下是Spring Boot集成Kafka并使用多个死信队列的完整示例&#xff0c;包含代码和配置说明。 1. 添加依赖 (pom.xml) <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId&…...

全面了解CSS语法 ! ! !

CSS&#xff08;层叠样式表&#xff09;是网页设计的灵魂之一&#xff0c;它赋予了网页活力与美感。无论是为一个简单的个人博客增添色彩&#xff0c;还是为复杂的企业网站设计布局&#xff0c;CSS都是不可或缺的工具。那么&#xff0c;CSS语法到底是什么样的呢&#xff1f;它背…...

Springboot使用ThreadLocal提供线程局部变量,传递登录用户名

文章目录 概述使用创建ThreadLocalUtil工具类在登录拦截器中使用ThreadLocal存储登录用户名在/userInfo接口中获取登录用户名 注意事项参考视频 概述 使用 创建ThreadLocalUtil工具类 utils/ThreadLocalUtil.java package org.example.utils;/*** ThreadLocal 工具类*/ Supp…...

排序算法——选择排序

一、介绍 「排序算法sortingalgorithm」用于对一组数据按照特定顺序进行排列。排序算法有着广泛的应用&#xff0c;因为有序数据通常能够被更有效地查找、分析和处理。 如图所示&#xff0c;排序算法中的数据类型可以是整数、浮点数、字符或字符串等。排序的判断规则可根据需求…...

AlphaFold蛋白质结构数据库介绍

AlphaFold Protein Structure Database (AlphaFold DB) 是 DeepMind + EMBL-EBI 合作开发的公开蛋白质结构预测数据库,是利用 AlphaFold2/AlphaFold3 AI模型 预测的全基因组级蛋白质三维结构库。 网址: https://alphafold.ebi.ac.uk 项目内容主办单位DeepMind + EMBL-EBI上线…...