Doris FE 常见问题与处理指南
在数据仓库领域,Apache Doris 凭借其卓越性能与便捷性被广泛应用。其中,FE(Frontend)作为核心组件,承担着接收查询请求、管理元数据等关键任务。然而,在实际使用中,FE 难免会遭遇各类问题,影响系统的正常运行与性能表现。本文将深入剖析 Doris FE 常见问题及其处理办法。
一、定位 FE 问题的关键信息
当 FE 出现问题时,精准定位是解决问题的首要步骤。首先,需关注出问题前后 1 天左右的日志,若为多节点部署,每个节点的相关日志都至关重要。这些日志包括:
-
fe/log
目录下的fe.log
(记录 FE 运行的关键事件与错误信息)、fe.audit.log
(审计日志,可用于追踪操作记录)、fe.gc.log
(垃圾回收日志,对分析内存问题有重要参考价值)以及fe.out
(包含fe启动和宕机的相关信息)。 -
fedoris - metabdbje.info.0
(bdbje 日志,其打印时间为 UTC 时间,需注意加上 8 小时转换为北京时间)。 -
精确到 commit 号的版本信息,可通过执行
start_fe.sh --version
在控制台输出或fe.out
中获取。 -
show frontends
的全部输出,能展示 FE 节点的详细状态信息。 -
若有 prometheus 监控,还需提供如 jvm heap 堆内存使用情况、线程数量、导入 job 数量、checkpoint 失败次数等监控数据。
-
当 FE 卡住时,需通过
jstack -l $(pid)> jstack txt
搜集 jstack 信息;若内存使用高达数十 GB,则需jmap
信息。 -
机器的 cpu、内存、磁盘 io、网络的 promethues 监控情况,排查是否存在 cpu 打满、物理内存耗尽、磁盘 io 秒级延迟、网络丢包等问题。
-
dmesg -T > dmesg txt
信息,常用于定位FE OOM的问题。
二、FE 常见问题解析与应对
(一)FE 挂掉
master 节点写达不成多数派挂
Insufficient acks for policy:SIMPLE_MAJORITY. Need replica acks: 1. Missing replica acks: 1
原因:
-
内存使用过高,可能是 cms 垃圾回收器遭遇 “promotion failed” 或者 “concurrent mode failure”,此时需排查内存使用情况,可通过
jmap
dump 内存镜像并用jprofiler
进行分析(搞不了的话,可以联系社区同学协助分析)。 -
多节点环境下,若其他节点状态逻辑错误已死掉,仅剩一个 master 节点,需同时查看其他 fe 节点日志,确认其存活状态与是否有异常退出栈。
-
某些节点机器的物理资源(cpu、内存、io)存在瓶颈,需查看机器相应监控。
-
master 因 gc 或者 io 写 io 消耗时间太长,如在
je.info.0
中出现类似日志
2025 - 03 - 04 01:27:00.165 UTC WARNING [fe_026093bb_658d_41dc_8f8b_96bd5a968c24] FSync time of 106698 ms exceeds limit (5000 ms)” 的日志。
fe 堆内存 OOM
现象与处理:fe.out
中会有相应打印,出现该情况需分析 fe jvm 堆内存占用情况。 需要在后续内存高的时候dump内存出来,具体分析一下
几种常见的oom场景见下文 “fe内存问题”
操作系统 oom 杀掉 java 进程
原因:机器上其他进程占据过多内存,致使 fe 无法获取 jvm - Xmx 配置的堆内存,操作系统启动 oom - killer 线程杀掉 fe。
排查方法:通过dmesg -T | grep -i java
查看日志信息,
(二)FE 内存问题
堆内存内存高,遇到 gc 降级,master pause 太长时间,导致 fe 挂
场景:尤其在高频导入情况下,事务和 LoadJbb 占内存多,其他 follower 重新选举后,原 master 退出,新接任的 master 节点重复出现该问题。
解决办法:
- 配置label 保留参数:
label_keep_max_second = 21600 // 6 hour
streaming_label_keep_max_second = 21600 // 6 hour
- 修改FE JVM 的 gc算法为g1,参考如下
JAVA_OPTS="-Djavax.security.auth.useSubjectCredsOnly=false -Xmx8g -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:$LOG_DIR/log/fe.gc.log.$DATE -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=50M -Dlog4j2.formatMsgNoLookups=true"
schema change job 数量多
影响:可能导致 fe com 或者出现上述堆内存高的情况(较新版本有优化)。
误开 profile 或者 profile 功能存在 bug(2.0.2版本之后已经优化了)
cms 垃圾回收器回收不及时
现象:待回收临时对象多,导致内存使用高,遇到 gc 降级 fe 挂,内存使用量监控呈锯齿状,类似下图(同堆内存高问题,新版本改为 g1 回收器)。
(三)FE 启动不起来
meta out of date 或者 wait catalog to be ready
原因:
-
磁盘空间不足,bdbje 禁止写入,出现 “com.sleepycat je.DiskLimitException” 错误。
-
meta out of date 偶尔打印一次属正常,可调参数。meta_delay_toleration_second 默认值 300(5 分钟),元数据延迟间隔时间。
启动时打印少数几次 meta out of date,随后不再打印,也为正常现象。
时钟不同步:
如出现 “Clock delta: xxxx ms.between Feeder” 类似的日志
this Replica exceeds max permissible delta: 5000 ms. HANDSHAKE_ERROR: Error during the handshake between two nodes. Some validity or compatibility check failed, preventing further communication between the nodes
这是节点间时钟不同步,需要校正时钟。
doris fe 代码 bug(序列化 / 反序列化问题 / NullPointerException)等。
已经修复了,修复pr(推荐升级):
https://github.com/apache/doris/pull/26563
https://github.com/apache/doris/pull/30337
https://github.com/apache/doris/pull/30441
doris fe 非主节点写 editlog 导致
类似下图这种,已经修复(推荐升级):https://github.com/apache/doris/pull/29395
运维操作不当
- 做了降级操作,高版本的 doris - meta 元数据用低版本的 jar 包启动。比如报错这种(仅供参考):
Unknown meta module: workloadSchedPolicy
- 升级操作 jar 替换不全或未清理旧版本 jar 包。比如报错(仅供参考):
“java.lang.NoSuchMethodError: 'com.google.gson.GsonBuilder com.google.gson.GsonBuilder.addReflectionAccessFilter”
长时间 checkpoint 失败导致重新启动慢
可通过ls doris-meta/image -l
查看最近 checkpoint 成功的时间,正常情况下 10 分钟会有一次成功的 checkpoint。
(四)doris - meta/bdb 目录大(几十 GB)
需先检查所有节点状态是否正常,master 近期是否做 checkpoint,内存使用超过 jvm heap 70% 不做 checkpoint(可通过grep -i "checkpoint' fe.log.xxx
排查),master 做完 checkpoint 是否 push image 到其他节点成功,是否因 image 过大导致 push image timeout。fe.log里面会有类似日志:
[Checkpoint.doCheckpoint():210] Failed when pushing image file.
(五)doris - meta/image/image.xxx 文件大(几十 GB)
导入 label 比较多,没有及时删除,可以参考前面的参数进行调整
ccr bin log 占的多:旧版本的ccr默认的 disable binlog 不会清空已经记录的 binlog , 主要还是 ttl_seconds 没有设置,disable 的时候仍然需要依靠 ttl_seconds 来回收。
解决方法:
旧版本把之前开过 binlog 的表都设置一下 “binlog.enable” = “true”,再设置 “binlog.ttl_seconds” 为一个合理的值。或者直接升级到最新稳定版本
(六)FE 卡住死锁(jmap dump fe 内存镜像)
1. 高并发点查把 cpu 打满后,连带导致内存高占用:在监控中会呈现 CPU 和内存先后升高的趋势。
2. 内存本身高占用,故障时间点做 checkpoint 需要近 1 倍内存:在fe.log
搜索checkpoint
关键词,类似下面的日志:
the memory used percent 73 exceed the checkpoint memory threshold: 70, exceeded count: 1”“2024 - 09 - 06 23:16:14,959 INFO (leader Checkpointer (99) [Checkpoint do Checkpoint () :124] begin to generate new image: image.8745633
3. 大查询解析过程把 fe 打满:表现为 CPU 升高。
(七)FE show frontends慢
show frontends 返回耗时很长
- 已知的域名解析问题,每个机器hosts文件都加上所有fe节点的域名和ip对应关系就可以了。
- 注意/etc/resolv.conf文件内容,里面是否有云平台厂商预置了个DNS设置。
在使用 Doris FE 过程中,遇到问题不要怕,关键是要掌握正确的定位与解决方法。通过对各类常见问题的深入分析,结合上述详细的处理指南,相信大家能够更高效地保障 Doris 系统的稳定运行,充分发挥其在数据处理与分析中的强大效能,如果还有其他相关问题欢迎补充讨论。
相关文章:
Doris FE 常见问题与处理指南
在数据仓库领域,Apache Doris 凭借其卓越性能与便捷性被广泛应用。其中,FE(Frontend)作为核心组件,承担着接收查询请求、管理元数据等关键任务。然而,在实际使用中,FE 难免会遭遇各类问题&#…...
Manus AI “算法-数据-工程“三位一体的创新
Manus AI在多语言手写识别领域的技术突破,通过算法创新、数据工程与场景适配的协同作用,解决了传统手写识别的核心痛点。以下是其关键技术路径与创新点的系统性分析: 一、深度学习模型与算法优化 混合神经网络架构Manus AI采用"CNN与LST…...
Flutter Expanded 与 Flexible 详解
目录 1. 引言 2. Expanded 的基本用法 3. Flexible 的基本用法 4. Expanded vs Flexible 的区别 4.1 基础定义 4.2 关键差异 5. Expanded 深度解析 5.1 按比例分配 5.2 强制填充特性 6. Flexible 深度解析 6.1 基础用法:动态收缩 6.2 结合 fit 参数控制…...
乘用车制动系统设计:保障行车安全的核心技术
摘要 随着汽车工业的快速发展,乘用车制动系统的设计至关重要。本文详细阐述了乘用车制动系统的工作原理、组成部分、常见类型,深入分析了制动系统设计过程中的关键要点,包括制动力分配、制动管路设计、制动助力系统选型等。同时,…...
电力行业在保障用电安全方面正积极采用先进的物联网技术
电力行业在保障用电安全方面正积极采用先进的物联网技术 电力行业的物联网安全用电监管装置正发挥着至关重要的作用。 ASCO 电不着安全用电装置凭借其卓越的性能,成为了解决用电安全问题的得力助手。 当电漏电这种危险情况悄然发生时,物联网 ASCO 电不着…...
TDengine 语言连接器(PHP)
简介 PHP 语言广泛用于 Web 开发的开源脚本语言。它语法简单,容易学习,既支持面向过程,也支持面向对象编程。具有跨平台性,能与多种数据库交互,可与 HTML 等前端技术配合,动态生成网页内容。常用于开发各类…...
使用docker该怎么做:从公有仓库拉取镜像并上传到私有仓库
在容器化部署中,将公有镜像仓库(如Docker Hub)的镜像迁移到私有仓库(如Harbor、Nexus)是常见需求。 一、为什么需要将镜像从公有仓库传到私有仓库? 网络连通性:公有仓库依赖公网访问ÿ…...
list的使用
1:list文档 list文档 在之前我们对于链表有过最初始的模拟实现,现在进入C之后,我们可以在STL库中发现到链表这个容器的使用,list的底层也是我们最初实现的双向链表。 2:list的使用 list的接口有很多,我们…...
Redis遇到Hash冲突怎么办
在 Redis 中,哈希冲突通常是指当多个键的哈希值相同或位于相同的哈希槽中时发生冲突。Redis 通过底层的哈希表和一些冲突解决机制(如开放地址法、链表法等)来处理哈希冲突问题。这些通常是透明的,作为开发者,我们无需直…...
OpenCV 图形API(42)颜色空间转换-----将 BGR图像转换为 I420(YUV 4:2:0)格式函数BGR2I420()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 将图像从BGR色彩空间转换为I420色彩空间。 该函数将输入图像从BGR色彩空间转换为I420。R、G和B通道值的传统范围是0到255。 输出图像必须是8位无…...
简述Apache RocketMQ
整体架构分析 基本流程 模块特性 发送消息流程原理分析 同步发送 sync 异步发送 async 直接发送 one-way 主从同步(HA)机制分析 消息投递 持久化机制 RocketMQ的RPC通信 RocketMQ中Remoting通信模块的具体实现 消息的协议涉及与编码解码 消…...
AI融合SEO关键词实战指南
内容概要 随着人工智能技术的迭代升级,SEO关键词策略正经历从人工经验驱动向数据智能驱动的范式转变。本指南聚焦AI技术在搜索引擎优化中的系统性应用,通过构建多层技术框架实现关键词全生命周期管理。核心方法论涵盖语义分析引擎的构建原理、基于NLP的…...
RK3588 实现音视频对讲
RK3588 实现音视频对讲方案 RK3588是瑞芯微推出的一款高性能处理器,非常适合用于音视频对讲系统的开发。以下是基于RK3588实现音视频对讲的方案概述: 硬件架构 核心处理器:RK3588 (4xCortex-A76 4xCortex-A55)视频处理: 内置8…...
OSPF区域间路由计算
ABR:区域边界路由器,连接两个不同区域的设备就称为ABR(不同厂商不同,定义很模糊) ASBR:自治系统边界路由器,引入了外部路由,将不是自治系统外部的不是OSPF路由的条目变成OSPF路由条目…...
NAT、代理服务、内网穿透
NAT、代理服务、内网穿透 1、NAT1.1、NAT过程1.2、NAPT2、内网穿透3、内网打洞3、代理服务器3.1、正向代理3.2、反向代理1、NAT 1.1、NAT过程 之前我们讨论了IPv4协议中IP地址数量不充足的问题。NAT技术是当前解决IP地址不够用的主要手段,是路由器的一个重要功能。 NAT能够将…...
阿尔特拉 EP1C12F324I7N AlteraFPGA Cyclone
EP1C12F324I7N 属于 Altera Cyclone I 系列 FPGA 中的中低密度型号,面向成本敏感、功耗受限的嵌入式与数据通路应用。该器件采用 0.13 μm 全层铜 SRAM 工艺,集成约 12 060 个逻辑单元(LE)、239 616 位片上 RAM、249 路可编…...
解决“驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接“问题
参考链接: https://blog.csdn.net/yyj12138/article/details/123073146...
QtApplets-实现应用程序单例模式,防止重复运行
QtApplets-实现应用程序单例模式,防止重复运行 文章目录 QtApplets-实现应用程序单例模式,防止重复运行摘要引言实现原理核心代码实现头文件定义实现文件 使用方法技术要点解析1. 文件锁机制2. 进程 ID 管理3. Windows 互斥量4. 跨平台兼容 注意事项…...
nodejs使用pkg打包文件
pkg配置 "pkg": {"assets": ["*.html","*.css","*.js"],"mirror": "https://npmmirror.com/mirrors/node-v8-compile-cache/"},"bin": "server.js",嵌入到exe中的资源使用assets打…...
学习笔记十六——Rust Monad从头学
🧠 零基础也能懂的 Rust Monad:逐步拆解 三大定律通俗讲解 实战技巧 📣 第一部分:Monad 是什么? Monad 是一种“包值 链操作 保持结构”的代码模式,用来处理带上下文的值,并方便连续处理。 …...
Idea连接远程云服务器上的MySQL,开放云服务器端口
1.开放云服务器的3306端口 (1)进入到云服务器的控制台 (2)点击使用的云服务器 (3)点击 配置安全组规则 (4)添加规则 (5)开放端口 2.创建可以远程访问…...
云服务器CVM标准型S5实例性能测评——2025腾讯云
腾讯云服务器CVM标准型S5实例具有稳定的计算性能,CPU采用采用 Intel Xeon Cascade Lake 或者 Intel Xeon Cooper Lake 处理器,主频2.5GHz,睿频3.1GHz,CPU内存配置2核2G、2核4G、4核8G、8核16G等配置,公网带宽可选1M、3…...
【Pytorch之一】--torch.stack()方法详解
torch.stack方法详解 pytorch官网注释 Parameters tensors:张量序列,也就是要进行stack操作的对象们,可以有很多个张量。 dim:按照dim的方式对这些张量进行stack操作,也就是你要按照哪种堆叠方式对张量进行堆叠。dim的…...
监控+日志=DevOps 运维的“千里眼”与“顺风耳”
监控+日志=DevOps 运维的“千里眼”与“顺风耳” 在 DevOps 体系中,监控和日志管理是不可或缺的运维基石。有人说,开发只管把代码写好,运维才是真正的“操盘手”,让系统稳定运行、不宕机、不崩溃。而要做到这一点,精准的监控与日志管理 是关键。 试想一下:如果没有监控…...
实战|使用环信Flutter SDK构建鸿蒙HarmonyOS应用及推送配置
本文为大家介绍如何在 Flutter 环境创建 Harmony 项目并集成环信即时通讯IM以及环信 Flutter Harmony 推送配置。 已经基于环信的 Flutter 项目也可以参考本文适配鸿蒙端。 一、开发环境要求 前置条件 1.安装DevEco-Studio 2.安装模拟器 DevEco-Studio 下载与操作指导&…...
构建知识体系
我认为,仅仅建立知识点之间的连接还不足够,还要建立自己的知识体系。 那么什么是知识体系呢? 知识体系,可以理解为立体的知识系统。 立体的知识系统,代表着跨越了多个领域、行业、学科的知识,是多个层面…...
Android Mainline简介
关键要点 Android Mainline 是通过模块化更新 Android 核心组件的框架,可能提高安全性。允许通过 Google Play 系统更新分发模块,无需完整固件更新。能简化厂商工作并减少碎片化,但覆盖范围有限。 什么是 Android Mainline? And…...
2026《数据结构》考研复习笔记二(C++面向对象)
C面向对象 一、类二、继承三、重载运算符和重载函数四、多态代码示例 一、类 1.1类&对象 class classname//class是关键词,classname是类名 { Access specifiers://访问修饰符:private/public/protected Date members/variables;//变量 Member fun…...
【C++】12.list接口介绍
在C标准库中,std::list 是一个基于双向链表实现的顺序容器,它支持高效的插入和删除操作,但无法直接通过下标进行随机访问。以下是关于 std::list 的简单介绍: 核心特性 底层结构 双向链表实现,每个节点包含数据、前驱指…...
决策卫生问题:考公考编考研能补救高考选取职业的错误吗
对于决策者来说,“认识你自己”是一个永恒的主题;警惕认知中的缺陷,比什么都重要。在判断与决策问题上,管理者和专业人士往往都非常自信。人类远远不如我们想象的那么理性,人类的判断也远远不如我们想象的那么完美。在…...
考研系列-计算机网络-第一章、计算机网络体系结构
一、计算机网络概述 1.知识点总结 性能指标: 注意这个指标: 2.习题总结 (一)选择题 广域网点对点,局域网广播技术 (二)简答题 (1)概念性题目: (2)计算型题目 这个题目主要是注意两种交换方式: 电路交换:…...
状态模式:有限状态机在电商订单系统中的设计与实现
状态模式:有限状态机在电商订单系统中的设计与实现 一、模式核心:用状态切换驱动行为变化 在电商订单系统中,订单状态会随着用户操作动态变化:「已创建」的订单支付后变为「已支付」,发货后变为「已发货」࿰…...
nohup命令使用说明
文章目录 如何在后台运行程序呢?如何正常运行代码重定向呢?nohup: ignoring input 如何在后台运行程序呢? 使用nohup命令即可, nohup python dataset/ReferESpatialDataset.py >>dataset_20250417.log 2>&1 &n…...
使用原生button封装一个通用按钮组件
效果图 代码 <script lang"ts" setup> import { computed, ref, watch } from "vue";/*** 按钮属性接口*/ interface ButtonProps {/** 按钮类型:default(默认)/dark/plain/link */type?: "default" | "dark" | &q…...
osu ai 论文笔记 DQN
e https://theses.liacs.nl/pdf/2019-2020-SteeJvander.pdf Creating an AI for the Rhytm Game osu! 20年的论文 用监督学习训练移动模型100首歌能达到95准确率 点击模型用DQN两千首歌65准确率 V抖用的居然不是强化学习? 5,6星打96准确度还是有的东西的 这是5.…...
perf 的使用方法
perf的架构 1.perf event event are pure kernel counters, in this case they are called software events. Examples include: context-switches, minor-faults.events is the processor itself and its Performance Monitoring Unit (PMU). It provides a list of events …...
【MCP教程】Claude Desktop 如何连接部署在远程的remote mcp server服务器(remote host)
前言 最近MCP特别火热,笔者自己也根据官方文档尝试了下。 官方文档给的Demo是在本地部署一个weather.py,然后用本地的Claude Desktop去访问该mcp服务器,从而完成工具的调用: 但是,问题来了,Claude Deskto…...
使用python帮助艺术家完成角色动画和服装模型等任务
使用python帮助艺术家完成角色动画和服装模型等任务 声明:克隆项目第 1 步:准备 Python 环境第 2 步:安装依赖✅ 第 3 步:运行项目主入口报错:报错:**降级 Python 到 3.10 或 3.11**推荐版本: 创…...
Python爬虫实战:基于 Python Scrapy 框架的百度指数数据爬取研究
一、引言 1.1 研究背景 在当今信息时代,市场调研和趋势分析对于企业和研究机构至关重要。百度指数能够精准反映关键词在百度搜索引擎上的热度变化情况,为市场需求洞察、消费者兴趣分析等提供了极具价值的数据支持。通过对百度指数数据的爬取和分析,企业可以及时调整营销策略…...
【Python】python系列之函数闭包概念
目录 一、函数 二、闭包 2.1 概念 2.2闭包的应用场景 2.3代码实例 实例 1:简单计数器闭包 实例 2:带参数的闭包 实例 3:闭包用于数据封装和隐藏 一、函数 函数是实现特定功能的代码段的封装,在需要时可以多次调用函数来实…...
【React】什么是 Hook
useStateuseEffectuseRef 什么是hook?16.8版本出现的新特性。可以在不编写class组件的情况下使用state以及其它的React特性 为什么有hook?class组件很难提取公共的重用的代码,然后反复使用;不编写类组件也可以使用类组件的状态st…...
香港科技大学广州|智能交通学域博士招生宣讲会—北京理工大学专场
香港科技大学广州|智能交通学域博士招生宣讲会—北京理工大学专场 🕙时间:4月23日(星期三)16:00 🏠地点:北京理工大学中关村校区唯实报告厅 🔗报名链接:https://www.wj…...
食品计算—Coarse-to-fine nutrition prediction
🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(6):ながら 一边。。一边
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(6):ながら 一边。。一边 1、前言(1)情况说明(2)工程师的信仰 2、知识点(1)ながら1)一边。。一边2࿰…...
Electricity Market Optimization(VI) - 机组组合模型以及 Gurobi 求解
本文参考链接:link \hspace{1.6em} 机组组合问题在电力系统中非常重要,这个问题也是一个优化问题,研究的就是如何调度现有的机组,调度的对象是以煤炭、石油、天然气为燃料的火力发电机以及水力发电机等可预测处理的发电机组&#…...
LoRA个关键超参数:`LoRA_rank`(通常简称为 `rank` 或 `r`)和 `LoRA_alpha`(通常简称为 `alpha`)
LoRA (Low-Rank Adaptation) 中的两个关键超参数:LoRA_rank(通常简称为 rank 或 r)和 LoRA_alpha(通常简称为 alpha)。 LoRA 的核心思想是,在对大型预训练模型(如 LLM 或 Stable Diffusion&…...
Sql刷题日志(day3)
一、笔试 1、min(date_time):求最早日期 2、mysql中distinct不能与order by 连用,可以用group by去重 二、面试 1、SQL中如何利用replace函数统计给定重复字段在字符串中的出现次数 (length(all_string)-length(all_string,目标字符串,))/length(ta…...
【AI插件开发】Notepad++ AI插件开发实践:实现对话窗口功能
引言 之前的文章已经介绍实现了AI对话窗口,但只有个空壳,没有实现功能。本次将集中完成对话窗口的功能,主要内容为: 模型动态切换:支持运行时加载配置的AI模型列表交互式输入处理:实现多行文本输入与Ctrl…...
[GESP202409 二级] 小杨的 N 字矩阵 题解
#include<bits/stdc.h> #define int long long using namespace std; int m, a[55][55], sum; signed main(){cin >> m;for(int i 1; i < m; i ){a[i][1] 1;//第一列a[i][m] 1;//第m列sum ;a[i][sum] 1;//斜着的}for(int i 1; i < m; i ){for(int j 1;…...
第八章:探索新兴趋势:Agent 框架、产品与开源力量
引言 在前两章的实战中,我们已经掌握了如何使用 LangChain、LlamaIndex、AutoGen 和 CrewAI 这些主流框架来构建 AI Agent,无论是单个智能体还是协作的多 Agent 系统。然而,AI Agent 领域的发展日新月异,如同奔腾的河流ÿ…...