Dify 快速构建和部署基于LLM的应用程序
本文先对Dify做一个初步的认识,然后以一个实际的简单金融问答案例,配置chatflow 工作流。
一、Dify简介
如果你是第一次接触Dify,可以先创建一个简单的聊天助手,初步感觉一下,Dify在构建聊天问答类应用的过程。
比如下面这个聊天助手,是基于知识库的,直接编辑一段提示词,然后在选择一个你自己的PDF 或者 word 文档,就可以实现一个简单的基于知识库的聊天助手。
提示词不会写,影响不大,你写一点,可以使用自动生成提示词这个功能,帮你自动完善提示词。
Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等,可以快速从原型到生产。以下是其核心功能列表:
-
工作流: 在画布上构建和测试功能强大的 AI 工作流程,利用以下所有功能以及更多功能。
-
全面的模型支持: 与数百种专有/开源 LLMs 以及数十种推理提供商和自托管解决方案无缝集成,涵盖Tongyi系列、DeepSeek 、GPT等模型。完整的支持模型提供商列表可在此处找到。
-
Prompt IDE: 用于制作提示、比较模型性能以及向基于聊天的应用程序添加其他功能(如文本转语音)的直观界面。
-
RAG Pipeline: 广泛的 RAG 功能,涵盖从文档摄入到检索的所有内容,支持从 PDF、PPT 和其他常见文档格式中提取文本的开箱即用的支持。
-
Agent 智能体: 可以基于 LLM 函数调用或 ReAct 定义 Agent,并为 Agent 添加预构建或自定义工具。Dify 为 AI Agent 提供了 50 多种内置工具,如谷歌搜索、DALL·E、Stable Diffusion 和 WolframAlpha 等。
-
LLMOps: 随时间监视和分析应用程序日志和性能。您可以根据生产数据和标注持续改进提示、数据集和模型。
-
后端即服务: 所有 Dify 的功能都带有相应的 API,因此您可以轻松地将 Dify 集成到自己的业务逻辑中。
二、安装社区版
2.1 系统要求
在安装 Dify 之前,确保机器满足以下最低系统要求:
CPU >= 2 Core
RAM >= 4 GiB
2.2 快速启动
首先把代码 clone 到本地,仓库地址,下载版本最好不要选择 master,不稳定,在 tags 里选择一个已经发布的版本。
启动 Dify 服务器的最简单方法是运行 docker-compose.yml
文件。在运行安装命令之前,确保机器上安装了 Docker 和 Docker Compose:
cd docker
cp .env.example .env
export EXPOSE_NGINX_PORT=8080
docker compose up -d
运行后,可以在浏览器上访问 http://localhost:8080/install
进入 Dify 控制台并开始初始化安装操作。
2.3 自定义配置
如果需要自定义配置,参考 .env
文件中的注释,并更新 .env
文件中对应的值。此外,可能需要根据具体部署环境和需求对 docker-compose.yaml
文件本身进行调整,例如更改镜像版本、端口映射或卷挂载。完成任何更改后,需要重新运行 docker-compose up -d
。可以在此处找到可用环境变量的完整列表。
三、案例-金融问答
结合一个实际的案例,使用 Dify构建一个基于大语言模型LLM构建一个金融问答系统,问答内容涉及基金/股票/债券/招股书等不同数据来源,融合了数据查询与文本理解两大任务,体现了Agent核心思想:根据不确定输入,判断用户意图,并调用相应服务或功能生成答案。
-
数据查询
任务目标:根据用户的问题,生成相应的SQL查询语句,精准查询问题结果。处理多表之间的复杂关联,如理解基金股票持仓明细与A股日行情表的连接,并确保查询的高准确性。
例如用户输入问题:嘉实基金管理有限公司2019年成立了多少基金?
。
应用需要先把此问题,识别为数据查询类,再把自然语言转换成为 SQL 查询语句,然后调用数据查询工具,从关系型数据库中查询结果,在把数据库的结果,交给大模型融合之后,生成最终结果返回给用户。 -
文本理解题
任务目标:对长文本进行细致检索与解读,高效提取关键信息。处理长文本的复杂结构,确保信息完整性。对超长文本,选手需合理分块,并从文档分块中准确提炼答案。
例如用户输入问题:华瑞电器股份有限公司获得多少项国内专利?其中有多上项发明专利?
。
应用需要先把此问题,识别为文本理解类,再把自然语言作为参数,调用文本查询工具,从向量数据库中进行检索获得结果,或者结合全文检索,在把文本结果做精排之后,交给大模型融合之后,生成最终结果返回给用户。
3.1 工作流简介
工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了 LLM 应用面向复杂任务的性能,提升了系统的可解释性、稳定性和容错性。
Dify 工作流分为两种类型:
-
Chatflow
:面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。 -
Workflow
:面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。
下图就是一个Chatflow
3.2 创建Chatflow
进入到编排界面
3.3 创建问题分类器
首先需要选择模型,这个模型需要提前安装和配置,从模型供应商中选择,然后在配置 api-key
比如我选择的是通义千问系列模型,需要提供通义千问的 api-key,这个api-key在阿里百炼平台去生成。
在高级设置里,需要添加提示词,以便模型能够更好的理解用户的问题,并进行问题分类
比如我写的
你是一个金融领域专家,请根据用户的问题,判断用户的问题属于以下 2 类中的哪一类,尤其是数据查询类,请严格按照给出的表和表中的字段进行分析,如果用户的问题不是数据查询类,就归为文本理解类类型1:数据查询类:用于查询结构化数据,数据库中包含以下这些表以及表中字段:表名称:基金基本信息表,表中字段有基金代码、基金全称、基金简称、管理人、托管人、基金类型、成立日期、到期日期、管理费率、托管费率......表名称:基金规模变动表,表中字段有基金代码、基金简称、公告日期、截止日期、报告期期初基金总份额、报告期基金总申购份额、报告期基金总赎回份额、报告期期末基金总份额、定期报告所属年度、报告类型......类型2:文本理解类:用于招股说明书文本理解,包含:风险因素披露、行业竞争分析、财务数据说明、公司战略规划等等用户问题:
{{#sys.query#}}
3.4 创建 Http 请求
问题分类器创建完成之后,需要根据不同的意图,调用不同的接口去获取用户的问题对应的答案。我在后台单独写了 2 个接口,
- 一个接口是提供数据查询服务,主要把用户的问题,转换成SQL查询语句,然后调用 Mysql 数据库,执行数据检索,最后把结果返回。
- 一个接口是提供文本理解服务,主要是根据用户的问题,到向量数据库中去检索答案,最后把结果返回。
需要注意一下,本地部署的 Dify,是在 docker 容器中,如果要调用 本地的 http 接口,不要直接写localhost 或者 127.0.0.1 地址,否则会调用失败
3.5 创建变量聚合器
变量聚合器是将多路分支的变量聚合为一个变量,以实现下游节点统一配置。
变量聚合节点是工作流程中的一个关键节点,它负责整合不同分支的输出结果,确保无论哪个分支被执行,其结果都能通过一个统一的变量来引用和访问。这在多分支的情况下非常有用,可将不同分支下相同作用的变量映射为一个输出变量,避免下游节点重复定义。
3.6 创建LLM
创建一个 LLM节点,调用大语言模型的能力,处理用户在 “开始” 节点中输入的信息(自然语言、上传的文件或图片),给出有效的回应信息。
应用场景
LLM 节点是 Chatflow/Workflow 的核心节点。该节点能够利用大语言模型的对话/生成/分类/处理等能力,根据给定的提示词处理广泛的任务类型,并能够在工作流的不同环节使用。
- 意图识别,在客服对话情景中,对用户问题进行意图识别和分类,导向下游不同的流程。
- 文本生成,在文章生成情景中,作为内容生成的节点,根据主题、关键词生成符合的文本内容。
- 内容分类,在邮件批处理情景中,对邮件的类型进行自动化分类,如咨询/投诉/垃圾邮件。
- 文本转换,在文本翻译情景中,将用户提供的文本内容翻译成指定语言。
- 代码生成,在辅助编程情景中,根据用户的要求生成指定的业务代码,编写测试用例。
- RAG,在知识库问答情景中,将检索到的相关知识和用户问题重新组织回复问题。
- 图片理解,使用 vision 能力的多模态模型,能对图像内的信息进行理解和问答。
此案例中,经过前面两个步骤之后,针对用户的问题,找到一个结果,但是这个结果是 数据库返回的数字结果,
比如用户问题:嘉实基金管理有限公司2019年成立了多少基金?
http 接口返回结果是:
[(55,)]
这样的结构是数据库返回的数字结果,也不止这种结构,还有其他的结构,总是返回结果是不固定的。
又或者是文本类型的,比如用户问题:华瑞电器股份有限公司获得多少项国内专利?其中有多上项发明专利?
http 接口返回结果是:
招股意向书 \n1-1-27 \n公司结合电机市场的未来发展趋势,以全塑型工艺、一次成型工艺为突破\n口,逐渐形成了生产自动化、产品多样化和工艺精细化的生产研发体系,并具\n备了多种专业设备和各类产品的自主开发能力。
截至本招股意向书签署日,公\n司拥有国内专利58 项,其中13 项发明专利,45 项实用新型专利。公司通过了\nISO14001 环境管理体系认证、OHSAS18001 职业健康安全管理体系认证和\nISO/TS16949 汽车生产供应链质量管理体系认证。
宁波胜克研发中心被认定为\n“浙江省工程技术研究中心”,公司的全塑型换向器及自动化生产工艺装备被\n宁波市科学技术局认定为“科学技术成果”。 \n公司目前已经形成了多元化的产品和客户体系。
这种问题的答案,是隐藏在本文结果里的
基于以上情况,需要创建一个 LLM 节点,让大语言模型,从文本结果中提炼出答案。
LLM 节点,这个场景中,我只配置了 3 个重要选项,一个是选择模型,一个是上下文,一个是填写提示词,上下文就是调用 Http接口返回的原始结果,提示词主要是告诉大模型,要完成什么任务。
你是一个金融领域专家,请根据用户的问题,结合上下文中里的内容,分析用户问题的答案,
用户问题对应的答案,就在上下文中。分析完成之后,请使用自然语言回答用户的问题。用户的问题:
{{#sys.query#}}上下文:
{{#****.output#}}
下图就是大模型处理效果
3.7 直接回复
最后一个节点是直接回复,目的是直接把大模型融合之后的结果,显示在界面上,提供给用户查看
预览功能还能看到,每一步测试的结果,方便调试
相关文章:
Dify 快速构建和部署基于LLM的应用程序
本文先对Dify做一个初步的认识,然后以一个实际的简单金融问答案例,配置chatflow 工作流。 一、Dify简介 如果你是第一次接触Dify,可以先创建一个简单的聊天助手,初步感觉一下,Dify在构建聊天问答类应用的过程。 比如…...
精益数据分析(40/126):移动应用商业模式的关键指标与盈利策略
精益数据分析(40/126):移动应用商业模式的关键指标与盈利策略 在创业和数据分析的探索之路上,我们持续挖掘不同商业模式的内在规律,以寻求更好的发展机遇。今天,我们依旧秉持共同进步的理念,深…...
JavaScript 实现输入框的撤销功能
在 Web 开发中,为输入框添加撤销功能可以极大地提升用户体验,方便用户快速回滚到之前的输入状态。本文将通过一段简单的 HTML、CSS 和 JavaScript 代码,详细介绍如何实现输入框的撤销功能。 整体实现思路 利用 JavaScript 监听输入框的inpu…...
【C++】类和对象(一)
前言 类和对象第一部分知识包括定义访问限定符类域实例化this指针 本人其他文章:恋风诗 文章中的源码[gitte]:mozhengy 类和对象(一) 前言1. 类的定义引例1.1 类定义格式1.2 类的访问限定符1.3 类域 2. 实例化2.1 实例化概念2.2 …...
【Vue】Vue3源码解析与实现原理
个人主页:Guiat 归属专栏:Vue 文章目录 1. Vue 3 架构概览1.1 模块化设计1.2 整体流程 2. 响应式系统2.1 响应式原理2.2 ref 和 reactive2.3 依赖收集与触发更新 3. 渲染系统3.1 虚拟DOM设计3.2 渲染管线3.3 Patch算法与Diff优化 4. 组件系统4.1 组件创建…...
黑马点评day02(缓存)
2、商户查询缓存 2.1 什么是缓存? 前言:什么是缓存? 就像自行车,越野车的避震器 举个例子:越野车,山地自行车,都拥有"避震器",防止车体加速后因惯性,在酷似"U"字母的地形上飞跃,硬着陆导致的损害,像个弹簧一样; 同样,实际开发中,系统也需要"避震…...
数据库MySQL学习——day9(聚合函数与分组数据)
文章目录 1. 聚合函数1.1 COUNT() 函数1.2 SUM() 函数1.3 AVG() 函数1.4 MIN() 函数1.5 MAX() 函数 2. GROUP BY 子句2.1 使用 GROUP BY 进行数据分组2.2 结合聚合函数 3. HAVING 子句3.1 使用 HAVING 过滤分组数据3.2 HAVING 和 WHERE 的区别 4. 实践任务4.1 创建一个销售表4.…...
为React组件库引入自动化测试:从零到完善的实践之路
为什么我们需要测试? 我们的ReactTypeScript业务组件库已经稳定运行了一段时间,主要承载各类UI展示组件,如卡片、通知等。项目初期,迫于紧张的开发周期,我们暂时搁置了自动化测试的引入。当时团队成员对组件逻辑了如指…...
数据结构——算法复杂度
一、数据结构定义 数据结构(Data Structure)是计算机存储、组织数据的⽅式,指相互之间存在⼀种或多种特定关系的数据元素的集合。没有⼀种单⼀的数据结构对所有⽤途都有⽤,所以我们要学各式各样的数据结构,如:线性表、树、图、哈希…...
Vue3响应式原理那些事
文章目录 1 响应式基础:Proxy 与 Reflect1.1 Proxy 代理拦截1.2 Reflect 确保 `this` 指向正确1.2.1 修正 `this` 指向问题1.2.2 统一的操作返回值1.3 与 Vue2 的对比2 依赖收集与触发机制2.1 全局依赖存储结构:WeakMap → Map → Set2.2 依赖收集触发时机2.3 依赖收集核心实…...
记9(Torch
目录 1、Troch 1、Troch 函数说明举例torch.tensor()torch.arange()创建张量创建一个标量:torch.tensor(42)创建一个一维张量:torch.tensor([1, 2, 3])创建一个二维张量:torch.tensor([[1, 2], [3, 4]])生成一维等差张量:语法&am…...
机器学习模型训练模块技术文档
一、模块结构概览 import numpy as np from sklearn.model_selection import cross_validate, learning_curve from sklearn.pipeline import make_pipeline from sklearn.svm import SVC from sklearn.neighbors import KNeighborsClassifier from sklearn.preprocessing imp…...
健康养生:从微小改变开始
养生不必大刀阔斧,几个微小改变,就能让健康慢慢扎根生活。晨起别急着洗漱,先花 5 分钟靠墙站立,拉伸脊柱、调整体态,唤醒身体。早餐把白米粥换成杂粮粥,搭配水煮蛋和一小碟凉拌黄瓜,营养更全面。…...
某信服EDR3.5.30.ISO安装测试(二)
一、物理机启动EDR 1、修复dracut 使用DiskGenius克隆虚拟磁盘到物理磁盘,将虚拟机移植到物理机,因为磁盘UUID变化等原因,首次默认启动失败,提示: Starting Dracut Emergency Shell... Warning:/dev/centos/root doe…...
Leetcode:回文链表
1、题目描述 给定一个链表的 头节点 head ,请判断其是否为回文链表。 如果一个链表是回文,那么链表节点序列从前往后看和从后往前看是相同的。 示例 1: 输入: head [1,2,3,3,2,1] 输出: true 示例 2: 输入: head [1,2] 输出: …...
IL2CPP 技术深度解析
IL2CPP 是 Unity 开发的高性能脚本后端,它将 .NET 的中间语言 (IL) 转换为 C 代码,再编译为原生平台二进制文件。以下是 IL2CPP 的全面技术剖析。 一、架构设计原理 1. 整体编译流程 C# 源代码 → Roslyn 编译器 → IL (.NET DLL)→ IL2CPP 转换器 →…...
AI图片修复工具,一键操作,图片更清晰!
泛黄的老相册里藏着一座记忆博物馆,每张照片都是时光长河中的琥珀。祖父军装照上的折痕里藏着抗美援朝的故事,父母结婚照褪色的红唇映照着八十年代的风尚,童年抓拍照上模糊的身影正重演着我们成长的轨迹。这些承载着集体记忆的影像࿰…...
国内短剧 vs. 海外短剧系统:如何选择?2025年深度对比与SEO优化指南
在短剧市场爆发式增长的背景下,国内与海外短剧系统成为创业者与企业的热门选择。本文将从市场潜力、开发成本、内容创作、盈利模式及风险五大维度,结合最新行业数据与案例,深度解析两者的优劣势,助您做出最优决策。 一、市场前…...
linux crash工具详解
crash 是 Linux 系统中用于分析内核转储文件(如 vmcore 或 kdump 生成的 dump 文件)的核心工具。它结合了调试符号和内核数据结构,能够直观地查看崩溃时的系统状态。以下是其详细使用方法及核心功能解析: 一、安装与准备 1. 安装…...
Scala day6(Class,field,Single Object)
Foreword【こんにちは】 Today, we continue to learn Scala Language, though the Scala isn’t easy for Begainner, Big Data Technology need Scala Language, Spark【Distributed Calculation FrameWork】is based on Scala Language designed. I know the learning road…...
不小心把当前的环境变量路径覆盖掉怎么办
起因 配置环境变量(~/.bashrc)的时候没加:$PATH,导致 source ~/.bashrc之后只剩下刚刚配置的环境变量了。连vim都打不开 解决 添加临时环境变量export PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH再重新修改…...
unity TMP字体使用出现乱码方框
参考文章: Unity 设置默认字体(支持老版及新版TMP)_unity tmp字体-CSDN博客 原因是导入的项目package包没有连着tmp一起,这样在新工程中导入的tmp字体默认的是tmp自己的,解决方案就是替换成自己需要的tmp字体就行 替换…...
14.网络钓鱼实战
网络钓鱼实战 第一部分:网络钓鱼攻击详解第二部分:设计与分析钓鱼攻击第三部分:钓鱼攻击防范实践总结 目标: • 深入理解网络钓鱼攻击的实施过程 • 掌握设计和识别钓鱼攻击的技巧 • 通过模拟实践提升防范钓鱼攻击的能力 第一部分…...
pyqt写一个单片机配置界面
已经实现以下功能 1.可以选择单片机架构 2.选择完单片机架构后第二个框可以选择常见单片机型号 3.选择完常见单片机型号后第三个框可以选择内部资源如adc等(可以选择多个内部资源)4.选择完内部资源如adc等(可以选择多个内部资源)后…...
「Mac畅玩AIGC与多模态20」开发篇16 - 使用结构化输出字段控制后续流程示例
一、概述 本篇介绍如何在工作流中使用结构化输出字段作为判断依据,实现前后节点联动控制。通过执行 LLM 节点输出结构化 JSON,并使用其中的字段驱动后续判断节点执行不同路径,开发人员将掌握结构化字段在工作流中的引用方式与分支控制技巧。…...
Unity-Shader详解-其四
今天我们来聊Unity特有的表面着色器以及很少提到的几何着色器。 表面着色器 在前文关于光照的计算中,我们学会了很多:我们学习了一系列光照模型,比如专门针对漫反射的兰伯特模型和改进的半兰伯特模型,又比如由高光、漫反射和环境…...
Lua 元表和元方法
元表(Metatable)和元方法(Metamethod)是Lua中实现面向对象编程、操作符重载和自定义行为的重要机制。 元表 元表是一个普通的Lua表,可以附加到另一个表上,用于定义或修改该表的行为。每个表都可以有自己的元表。 setmetatable(tab,metatab) 将metatab设…...
GESP2024年3月认证C++八级( 第二部分判断题(6-10))
海伦公式参考程序: #include <iostream> #include <cmath> // 引入cmath库以使用sqrt函数using namespace std;double calculateTriangleArea(int a, int b, int c) {// 使用海伦公式double s (a b c) / 2.0; // 半周长return sqrt(s * (s - a) *…...
Nacos源码—3.Nacos集群高可用分析一
大纲 1.Nacos集群的几个问题 2.单节点对服务进行心跳健康检查和同步检查结果 3.集群新增服务实例时如何同步给其他节点 4.集群节点的健康状态变动时的数据同步 5.集群新增节点时如何同步已有服务实例数据 1.Nacos集群的几个问题 问题一:在单机模式下ÿ…...
信息系统项目管理师-软考高级(软考高项)2025最新(九)
个人笔记整理---仅供参考 第九章项目范围管理 9.1管理基础 9.2项目范围管理过程 9.3规划范围管理 9.4收集需求 9.5定义范围 9.6创建WBS 9.7确认范围 9.8控制范围...
DeepSeek学术论文写作全流程指令
一、选题与领域界定 研究热点捕捉 指令: “在[研究领域]中,现有文献对[具体问题]的[哪方面]研究不足?基于近5年文献归纳3个待突破方向,需结合高频关键词和交叉学科维度。” 示例: “在深度学习医疗影像分析中,现有文献对小样本训练的泛化性研究不足?基于2019-2023年顶会…...
【ArUco boards】标定板检测
之前定位用的Charuco标定板做的(https://blog.csdn.net/qq_45445740/article/details/143897238),因为实际工况中对标定板的尺寸有要求,大概是3cm*2cm这个尺寸,加上选用的是ChAruco标定板,导致每一个aruco码…...
2025 年 408 真题及答案
2025 年 408 真题 历年408真题及答案下载直通车 1、以下 C 代码的时间复杂度是多少?() int count 0; for (int i0; i*i<n; i)for (int j0; j<i; j)count;A O(log2n)B O(n)C O(nlogn)D O(n2) 2、对于括号匹配问题,符号栈…...
设计模式每日硬核训练 Day 18:备忘录模式(Memento Pattern)完整讲解与实战应用
🔄 回顾 Day 17:中介者模式小结 在 Day 17 中,我们学习了中介者模式(Mediator Pattern): 用一个中介者集中管理对象之间的通信。降低对象之间的耦合,适用于聊天系统、GUI 控件联动、塔台调度等…...
ByteArrayOutputStream 类详解
ByteArrayOutputStream 类详解 ByteArrayOutputStream 是 Java 中用于在内存中动态写入字节数据的输出流(ByteArrayOutputStream和ByteArrayInputStream是节点流),位于 java.io 包。它不需要关联物理文件或网络连接,所有数据都存储在内存的字节数组中。 1. 核心特性 内存缓冲…...
Linux中web服务器的部署及优化
前言:Nginx 和 Apache HTTP Server 是两款非常流行的 Web 服务器。 Nginx 简介:Nginx 是一款轻量级的高性能 Web 服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。由俄罗斯人伊戈尔・赛索耶夫开发,其在处…...
使用Mathematica绘制Sierpinski地毯
在Mathematica中内置的绘制Sierpinski地毯的函数: SierpinskiCurve[n] gives the line segments representing the n-step Sierpiński curve. 注意,直接运行这个函数,返回的是Line对象,例如: 运行如下代码…...
Qt 信号槽机制底层原理学习
简介 Qt的信号和槽(Signals and Slots)是Qt开发团队创造的一种特殊回调机制,提供了非常简洁易用的事件触发-函数调用机制。 原理学习 虽然上层使用简单,但底层实现机制却复杂的不得了,这里简单的学习一下大概原理。…...
【Java学习笔记】包
包(package) 包的本质:实际上就是创建不同的文件夹或者目录来保存类文件 包的三大作用 区分相同名字的类 当类很多的时候可以更方便的管理类 控制访问范围 使用方法 关键字:import—>导入(引入) …...
进程的程序替换——exec系列函数的使用
目录 前言 一、替换函数 二、程序替换的本质 一些细节: 三、程序替换与环境变量间的关系 1.介绍其他参数的意义并总结 2.自定义环境变量 1)通过execcle传参全局环境变量 2)通过execcle传参自定义环境变量 3)将自定义环境变量通过p…...
【论文阅读】DETR+Deformable DETR
可变形注意力是目前transformer结构中经常使用的一种注意力机制,最近补了一下这类注意力的论文,提出可变形注意力的论文叫Deformable DETR,是在DETR的基础上进行的改进,所以顺带着把原本的DETR也看了一下。 一、DETR DETR本身是…...
ArchLinux卡死在GRUB命令行模式修复
ArchLinux卡死在GRUB命令行模式修复 文章目录 ArchLinux卡死在GRUB命令行模式修复前言一、 系统配置1.系统配置2.磁盘分区信息 二、重建GRUB引导1.插入带ArchLinux ISO的U盘,BIOS选择U盘启动并进入ArchLinux安装界面。2.挂载btrfs根目录分区3.挂载/boot分区4.进入ch…...
Docker 容器 - Dockerfile
Docker 容器 - Dockerfile 一、Dockerfile 基本结构二、Dockerfile 指令详解2.1 FROM2.2 MAINTAINER2.3 COPY2.4 ADD2.5 WORKDIR2.6 VOLUME2.7 EXPOSE2.8 ENV2.9 RUN2.10 CMD2.11 ENTRYPOINT 三、Dockerfile 创建镜像与模板3.1 Dockerfile 镜像3.2 镜像管理3.3 Dockerfile 模板…...
C++ 中二级指针的正确释放方法
C 中二级指针的正确释放 一、什么是二级指针? 简单说,二级指针就是指向指针的指针。 即: int** p;它可以指向一个 int*,而 int* 又指向一个 int 类型的变量。 常见应用场景 动态二维数组(例如 int** matrix&#x…...
解释器模式(Interpreter Pattern)
解释器模式(Interpreter Pattern) 是行为型设计模式之一,通常用于处理“语言”类问题,比如计算器、编程语言的解析等。它的核心思想是通过建立一个解释器,解析并解释由语法规则描述的语言,通常以**抽象语法…...
编译原理期末重点-个人总结——1 概论
概述 计算机语言的分类 低级语言:机器语言(唯一能被计算机执行的),汇编语言 高级语言:JAVA ,C 执行高级语言或汇编语言的步骤 高级语言程序或汇编语言程序> (通过解释 或 翻译)转…...
五一作业-day04
文章目录 1. **ps -ef是显示当前系统进程的命令,统计下当前系统一共有多少进程**2. **last命令用于显示所用用户最近1次登录情况,awk可以取出某一列,现在要取出last命令第1列并去重统计次数**3. **secure日志是用户的登录日志,过滤出secure日志中的Failed password的次数(用课堂…...
Java按字节长度截取字符串指南
在Java中,由于字符串可能包含多字节字符(如中文),直接按字节长度截取可能会导致乱码或截取不准确的问题。以下是几种按字节长度截取字符串的方法: 方法一:使用String的getBytes方法 java public static String substringByBytes(…...
[特殊字符]Git 操作实战:如何将本地项目提交到远程 Gitee 仓库
在日常开发中,我们经常需要将本地开发的项目同步到远程代码仓库中(如 GitHub、Gitee 等),以便团队协作或备份管理。本文将以 Gitee(码云) 为例,详细讲解如何将本地已有项目提交到远程仓库&#…...
【信息系统项目管理师-论文真题】2008上半年论文详解(包括解题思路和写作要点)
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题1:企业级信息系统项目管理体系的建立1、写作要点2、解题思路项目管理流程和项目管理的工具试题2:项目的质量管理1、写作要点2、解题思路项目的早期阶段如何制定项目质量管理计划如何确保项目质量管理计划…...