超强降本增效!DeepSeek-V3.2-Exp上线,首发DeepSeek-V3.2-Exp:开源大模型新标杆,长文本处理效率提升50%+,API成本大幅降低

【信息科学与工程学】计算机科学与自动化——第一百五十九篇 并行计算开发设计01 编号编程语言(含版本)+开发框架应用场景机制+用法+详细设计+详细配置编译器(版本+内核+底层机制+优化方法+阶段)底层实现·说明·缺陷+优势的·解决方案及数学建模引入版本国产化/信创/商用CPU/GPU/DPU芯片适配及指令集列表和指令调用和时序图关联知识&标准1高性能科学计算、深度学习训练与推理、图像处理、物理模拟、金融风险分析SIMT模型,kernel函数并行执行海量线程。用法:定义__global__ 阅读详情

收藏必备!DeepSeek-V3.2-Exp:开源大模型新标杆,长文本处理效率提升50%+,API成本大幅降低

DeepSeek-V3.2-Exp是基于V3.1-Terminus的改进版本,引入DeepSeek Sparse Attention(DSA)机制,实现长文本处理效率提升2-3倍,内存使用降低30-40%,API成本降低50%以上。模型在保持与前代相当性能的同时,显著降低了计算资源消耗。已在Hugging Face和ModelScope开源,适用于长文本处理、代码生成、逻辑推理等场景,为开发者提供更经济高效的AI解决方案。


目 录

前言

DeepSeek-V3.2是什么

DeepSeek-V3.2-Exp是DeepSeek-AI推出的一款实验性人工智能模型,凭借创新的DeepSeek Sparse Attention(DSA)机制,显著提升了长文本处理的效率。这一版本是在DeepSeek-V3.1-Terminus的基础上持续训练而成,主要通过在架构中引入DSA来实现细粒度稀疏注意力,借助闪电索引器(lightning indexer)高效筛选关键信息,从而在长文本训练与推理过程中显著降低计算负担。

在性能方面,DeepSeek-V3.2-Exp与其前代模型DeepSeek-V3.1-Terminus在多个公开评测集上几乎持平,展现了该模型在多领域任务中的稳定性与出色表现。此外,DeepSeek-V3.2-Exp已在Hugging Face和ModelScope平台开源,研究人员与开发者可以轻松进行探索与应用。值得注意的是,模型的API价格大幅下降,降低了开发者的使用成本,这为其在实际应用中的广泛部署提供了强有力的支持。

DeepSeek-V3.2的主要功能

随着人工智能技术的不断发展,如何提升模型效率、降低使用成本,已成为行业内的核心挑战。DeepSeek-AI推出的DeepSeek-V3.2-Exp正是为了解决这一难题。通过引入创新的DeepSeek Sparse Attention(DSA)机制,优化了长文本处理能力,并在多个方面进行全面提升。这一新版本不仅在性能上与前代模型保持一致,更在成本和应用拓展上作出了显著改进,成为开发者和研究人员的新选择。

  • 架构创新:在DeepSeek-V3.1-Terminus的基础上,DeepSeek-V3.2-Exp引入了DeepSeek Sparse Attention(DSA)机制,通过闪电索引器与细粒度标记选择技术,显著提升了效率,尤其在处理长文本时展现出极为优越的表现。
  • 性能优化:该模型在多个公开评测集上的表现与DeepSeek-V3.1-Terminus接近,但在长文本推理方面大幅降低了计算成本,从 O(L²) 优化至 O(Lk),显著提高了推理效率。
  • 开源共享:DeepSeek-V3.2-Exp已在Hugging Face和ModelScope平台开源,提供详细的实现文档和模型权重,方便研究人员和开发者进一步研究与应用。
  • 成本降低:随着API价格的大幅下降,开发者的使用成本得到有效降低,使得更多开发者能够以较低的投入接入和使用该模型,推动其在实际应用中的普及和部署。
  • 应用拓展:DeepSeek-V3.2-Exp已经在官方App、网页端和小程序中全面更新,支持多个平台,为用户提供了更高效且经济的AI服务体验。

DeepSeek-V3.2的应用场景

  • 长文本处理:特别适用于需要处理大量文本的场景,如长篇文档分析和长文本生成。其稀疏注意力机制能够显著提升处理长文本的效率。
  • 搜索与信息检索:可应用于搜索代理等场景,帮助用户迅速而准确地获取信息,提高搜索结果的相关性和准确性。
  • 代码生成与编程辅助:支持代码生成和编程辅助任务,如自动补全和代码优化,帮助开发者提高编程效率和代码质量。
  • 数学与逻辑推理:在解决数学问题和进行逻辑推理时表现优异,能够处理复杂的数学题目和推理链条。
  • 多语言处理:支持跨语言任务,如文本生成和翻译,满足不同语言环境下的需求,具有广泛的应用前景。
  • 智能代理与交互:作为智能代理的核心引擎,能够用于构建智能助手、聊天机器人等系统,提供自然语言交互体验。

蓝耘MaaS的V3.2-Exp

核心技术特性

  • 基础架构:本模型基于V3.1-Terminus架构构建,完整保留了其671B参数规模,确保了模型容量的基本盘与原有体系的高度一致。
  • 创新机制:在核心注意力机制上实现重要突破,首次引入细粒度稀疏注意力设计,有效克服了传统Transformer架构中全局注意力计算复杂度高的固有限制。
  • 效率提升:得益于稀疏注意力结构,模型在处理长文本输入时表现出显著优势,不仅大幅降低了计算资源的消耗,同时也有效控制了内存占用,为长序列任务提供了更可行的部署方案。
  • 质量保证:尽管在计算效率上取得明显进步,但经严格测试验证,模型在多种任务下的输出质量与原始V3.1-Terminus版本保持了几乎完全一致的水平。

性能表现

  1. 架构创新,降本增效
    DeepSeek-V3.2-Exp 引入了其核心创新—— DeepSeek Sparse Attention(DSA) 机制,通过细粒度的 token 级别稀疏化,对传统 Transformer 架构中的稠密注意力机制进行了革新。
    该模型采用 FP8 低精度格式进行训练与推理。这一系列技术革新带来了显著的效率提升:在处理长文本时,推理速度提升了 2-3 倍,内存使用降低了 30-40%,同时保持了与前代模型 V3.1-Terminus 几乎一致的输出质量。效率的提升也直接转化为成本优势,使得 API 调用成本得以降低超过 50%,实现了长文本处理性能与成本控制的双重突破
  2. 质量无损,性能稳定
    为确保评估的严谨性,DeepSeek 团队将 V3.2-Exp 与 V3.1-Terminus 的训练设置进行了严格对齐。在各领域的公开评测集上,DeepSeek-V3.2-Exp 的表现与 V3.1-Terminus 基本持平,部分任务(如数学和编程)甚至显示出小幅提升的潜力。这证明了稀疏注意力机制在提升效率的同时,并未牺牲模型的核心性能。

开源生态与社区支持

  1. TileLang内核特点:高可读性,适合研究用途仓库:TileLang Examples用途:算法研究、教学演示。
  2. 高性能CUDA内核DeepGEMM:索引器logit内核(包含分页版本)FlashMLA:稀疏注意力专用内核性能:生产环境优化,支持大规模部署许可证与合规性。
组件名称技术定位核心特点典型应用场景
TileLang内核面向AI和高性能计算的领域专用语言(DSL)Python式语法,高可读性 分层设计接口,兼顾初学者与专家 开发效率高,能将FlashAttention代码从500+行降至80行算法研究、教学演示、算子原型验证
DeepGEMM支持FP8格式的高性能通用矩阵乘法库极简设计,核心逻辑约300行 完全JIT(即时编译),无需预编译 支持密集和混合专家(MoE) 两种模型布局为DeepSeek-V3/R1的训练与推理提供核心计算动力
FlashMLA针对多头线性注意力(MLA) 的高效解码内核针对可变长度序列优化 支持BF16精度和分页KV缓存 生产环境验证,支持大规模部署大规模语言模型的高性能推理,尤其适合长序列处理

V3.1-Terminus VS V3.2-Exp

DeepSeek-V3.1-Terminus:蓝耘API+CherryStudio实测国产最新开源模型,推理能力竟让我后背发凉V3.1前几天刚发布,就迎来了V3.2,现在我们将V3.1和V3.2进行一个比拼测评,平台都选择蓝耘MaaS平台,基于Cherry Studio平台进行PK。由于V3.1在前面的文章已经添加进了Cherry Studio平台,下面只展示V3.2添加了流程,不懂的可以看一下前面的文章

我们点击蓝耘平台进入。找到MaaS平台选择V3.2-Exp模型进行复制

进入Cherry Studio平台将模型名称粘贴进去即可

然后再回到蓝耘MaaS平台获取专属API

再次回到Cherry Studio平台验证API和模型名称是否正确

案例1:复杂逻辑与跨领域推理

提示词:

有个国王想将公主嫁给三个公子里面最聪明的一个。国王出了一个绝对公平的测试去分辨出谁是最聪明。
三个公子在一个房间里绕圈对坐着,国王向他们展示5顶帽子,两顶黑色,三顶白色。然后他们被蒙上眼,他们各人的头上都被盖上了一顶帽子,另外两顶帽子就放在另外一间房间中。
都戴好帽子并且摘下眼罩后,国王告䜣他们谁能够最快推论到自己头上帽子的颜色,他就能娶下公主。但如果估错了就会被处死。
现在你就是其中一个公子,你看到2顶白色的帽子在其他公子头上。而过了一些时间,你察觉到其他公子都未能推能或不敢於猜测。
假设你知道其他公子也是非常聪明及国王一定是公正无私,那么,你的帽子是白色还是黑色?

V3.1-Terminus:

V3.2-Exp:



结论:V3.1-Terminus用了7步总结出来帽子为白色;V3.2-Exp却只用了6步总结出来帽子的颜色

案例2:代码生成与调试

提示词:

写一个功能完备的俄罗斯方块,使用前端技术

V3.1-Terminus:

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>俄罗斯方块</title><style>*{margin: 0;padding: 0;box-sizing: border-box;}body{font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;background:linear-gradient(135deg, #1a1a2e, #16213e);color: #fff;min-height: 100vh;display: flex;flex-direction: column;align-items: center;padding: 20px;}h1{margin: 20px 0;text-align: center;font-size: 2.5rem;text-shadow: 0 2px 5px rgba(0,0,0,0.3);color: #e94560;}.game-container{display: flex;flex-wrap: wrap;justify-content: center;gap: 20px;max-width: 900px;width: 100%;}.game-board{position: relative;background-color: #0f3460;border-radius: 8px;box-shadow: 0 10px 30px rgba(0,0,0,0.4);overflow: hidden;}canvas{display: block;}.side-panel{background-color:rgba(15, 52, 96, 0.7);border-radius: 8px;padding: 20px;min-width: 200px;box-shadow: 0 5px 15px rgba(0,0,0,0.3);}.info-panel{margin-bottom: 20px;}.info-item{margin-bottom: 15px;}.info-label{font-size: 0.9rem;color: #a9b7c6;margin-bottom: 5px;}.info-value{font-size: 1.5rem;font-weight: bold;color: #e94560;}.next-piece{display: flex;flex-direction: column;align-items: center;margin-bottom: 20px;}#nextPieceCanvas{background-color:rgba(0, 0, 0, 0.2);border-radius: 5px;margin-top: 10px;}.controls{display: flex;flex-direction: column;gap: 10px;margin-top: 20px;}button{background: #e94560;color: white;border: none;padding: 12px 20px;border-radius: 5px;font-size: 1rem;cursor: pointer;transition: all 0.3s;font-weight: bold;}button:hover{background: #ff6b81;transform:translateY(-2px);}button:active{transform:translateY(0);}.game-over{position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color:rgba(0, 0, 0, 0.8);display: flex;flex-direction: column;justify-content: center;align-items: center;border-radius: 8px;z-index: 10;}.game-over h2{font-size: 2.5rem;color: #e94560;margin-bottom: 20px;}.hidden{display: none;}.instructions{max-width: 900px;margin-top: 30px;background-color:rgba(15, 52, 96, 0.7);border-radius: 8px;padding: 20px;box-shadow: 0 5px 15px rgba(0,0,0,0.3);}.instructions h3{color: #e94560;margin-bottom: 15px;}.instructions ul{list-style-type: none;padding-left: 0;}.instructions li{margin-bottom: 10px;padding-left: 20px;position: relative;}.instructions li:before{content:"•";color: #e94560;position: absolute;left: 0;}@media(max-width: 768px){.game-container{flex-direction: column;align-items: center;}.side-panel{width: 100%;max-width: 400px;}h1{font-size: 2rem;}}.key{display: inline-block;background:rgba(0,0,0,0.3);padding: 2px 8px;border-radius: 4px;font-family: monospace;margin: 0 3px;}</style></head><body><h1>俄罗斯方块</h1><divclass="game-container"><divclass="game-board"><canvasid="gameCanvas"width="300"height="600"></canvas><divid="gameOver"class="game-over hidden"><h2>游戏结束</h2><p>最终得分: <spanid="finalScore">0</span></p><buttonid="restartButton">重新开始</button></div></div><divclass="side-panel"><divclass="info-panel"><divclass="info-item"><divclass="info-label">分数</div><divid="score"class="info-value">0</div></div><divclass="info-item"><divclass="info-label">等级</div><divid="level"class="info-value">1</div></div><divclass="info-item"><divclass="info-label">已消除行数</div><divid="lines"class="info-value">0</div></div></div><divclass="next-piece"><divclass="info-label">下一个方块</div><canvasid="nextPieceCanvas"width="120"height="120"></canvas></div><divclass="controls"><buttonid="startButton">开始游戏</button><buttonid="pauseButton">暂停游戏</button></div></div></div><divclass="instructions"><h3>游戏操作说明</h3><ul><li>← → : 左右移动方块</li><li>↑ : 旋转方块</li><li>↓ : 加速下落</li><li>空格键 : 直接落到底部</li><li>P : 暂停/继续游戏</li></ul></div><script>// 游戏常量constCOLS=10;constROWS=20;constBLOCK_SIZE=30;constCOLORS=[null,'#FF0D72',// I'#0DC2FF',// J'#0DFF72',// L'#F538FF',// O'#FF8E0D',// S'#FFE138',// T'#3877FF'// Z];// 方块形状定义constSHAPES=[null,[[0,0,0,0],[1,1,1,1],[0,0,0,0],[0,0,0,0]],[[2,0,0],[2,2,2],[0,0,0]],[[0,0,3],[3,3,3],[0,0,0]],[[4,4],[4,4]],[[0,5,5],[5,5,0],[0,0,0]],[[0,6,0],[6,6,6],[0,0,0]],[[7,7,0],[0,7,7],[0,0,0]]];// 游戏状态let canvas, ctx, nextCanvas, nextCtx;let board =[];let currentPiece, nextPiece;let score =0;let level =1;let lines =0;let gameOver =false;let isPaused =false;let dropInterval =1000;// 初始下落速度(毫秒)let dropStart = Date.now();let animationId;// 初始化游戏functioninit(){
            canvas = document.getElementById('gameCanvas');
            ctx = canvas.getContext('2d');
            nextCanvas = document.getElementById('nextPieceCanvas');
            nextCtx = nextCanvas.getContext('2d');// 初始化游戏板createBoard();// 创建第一个方块
            currentPiece =createPiece();
            nextPiece =createPiece();// 绘制初始状态draw();// 添加事件监听
            document.addEventListener('keydown', handleKeyPress);
            document.getElementById('startButton').addEventListener('click', startGame);
            document.getElementById('pauseButton').addEventListener('click', togglePause);
            document.getElementById('restartButton').addEventListener('click', restartGame);}// 创建游戏板functioncreateBoard(){
            board = Array.from(Array(ROWS),()=>Array(COLS).fill(0));}// 创建随机方块functioncreatePiece(){const pieceType = Math.floor(Math.random()*7)+1;return{
                shape:SHAPES[pieceType],
                color:COLORS[pieceType],
                x: Math.floor(COLS/2)- Math.floor(SHAPES[pieceType][0].length /2),
                y:0};}// 绘制游戏functiondraw(){
            ctx.clearRect(0,0, canvas.width, canvas.height);// 绘制已固定的方块drawBoard();// 绘制当前下落的方块drawPiece(currentPiece);// 绘制下一个方块预览drawNextPiece();// 更新分数和等级显示
            document.getElementById('score').textContent = score;
            document.getElementById('level').textContent = level;
            document.getElementById('lines').textContent = lines;}// 绘制游戏板functiondrawBoard(){for(let y =0; y <ROWS; y++){for(let x =0; x <COLS; x++){if(board[y][x]){drawBlock(ctx, x, y,COLORS[board[y][x]]);}}}}// 绘制方块functiondrawPiece(piece){for(let y =0; y < piece.shape.length; y++){for(let x =0; x < piece.shape[y].length; x++){if(piece.shape[y][x]){drawBlock(ctx, piece.x + x, piece.y + y, piece.color);}}}}// 绘制单个方块functiondrawBlock(context, x, y, color){
            context.fillStyle = color;
            context.fillRect(x *BLOCK_SIZE, y *BLOCK_SIZE,BLOCK_SIZE,BLOCK_SIZE);
            
            context.strokeStyle ='rgba(255, 255, 255, 0.2)';
            context.strokeRect(x *BLOCK_SIZE, y *BLOCK_SIZE,BLOCK_SIZE,BLOCK_SIZE);// 添加3D效果
            context.fillStyle ='rgba(255, 255, 255, 0.2)';
            context.fillRect(x *BLOCK_SIZE, y *BLOCK_SIZE,BLOCK_SIZE,3);
            context.fillRect(x *BLOCK_SIZE, y *BLOCK_SIZE,3,BLOCK_SIZE);
            
            context.fillStyle ='rgba(0, 0, 0, 0.2)';
            context.fillRect(x *BLOCK_SIZE+BLOCK_SIZE-3, y *BLOCK_SIZE,3,BLOCK_SIZE);
            context.fillRect(x *BLOCK_SIZE, y *BLOCK_SIZE+BLOCK_SIZE-3,BLOCK_SIZE,3);}// 绘制下一个方块预览functiondrawNextPiece(){
            nextCtx.clearRect(0,0, nextCanvas.width, nextCanvas.height);// 居中显示下一个方块const offsetX =(nextCanvas.width /BLOCK_SIZE- nextPiece.shape[0].length)/2;const offsetY =(nextCanvas.height /BLOCK_SIZE- nextPiece.shape.length)/2;for(let y =0; y < nextPiece.shape.length; y++){for(let x =0; x < nextPiece.shape[y].length; x++){if(nextPiece.shape[y][x]){drawBlock(nextCtx, offsetX + x, offsetY + y, nextPiece.color);}}}}// 移动方块functionmovePiece(dx, dy){if(isPaused || gameOver)return;
            
            currentPiece.x += dx;
            currentPiece.y += dy;if(checkCollision()){
                currentPiece.x -= dx;
                currentPiece.y -= dy;// 如果是向下移动碰到碰撞,则固定方块if(dy >0){lockPiece();checkLines();
                    currentPiece = nextPiece;
                    nextPiece =createPiece();// 检查游戏是否结束if(checkCollision()){
                        gameOver =true;
                        document.getElementById('finalScore').textContent = score;
                        document.getElementById('gameOver').classList.remove('hidden');}}returnfalse;}draw();returntrue;}// 旋转方块functionrotatePiece(){if(isPaused || gameOver)return;const originalShape = currentPiece.shape;const rows = originalShape.length;const cols = originalShape[0].length;// 创建新的旋转后的形状const newShape = Array.from(Array(cols),()=>Array(rows).fill(0));for(let y =0; y < rows; y++){for(let x =0; x < cols; x++){
                    newShape[x][rows -1- y]= originalShape[y][x];}}const originalX = currentPiece.x;const originalY = currentPiece.y;// 调整位置使旋转后居中
            currentPiece.x += Math.floor((rows - cols)/2);
            currentPiece.y += Math.floor((cols - rows)/2);
            
            currentPiece.shape = newShape;// 如果旋转后发生碰撞,尝试左右移动避免碰撞if(checkCollision()){let offset =1;while(offset <=2){// 尝试向左移动
                    currentPiece.x = originalX - offset;if(!checkCollision()){draw();return;}// 尝试向右移动
                    currentPiece.x = originalX + offset;if(!checkCollision()){draw();return;}// 恢复原始位置
                    currentPiece.x = originalX;
                    offset++;}// 如果无法避免碰撞,恢复原始状态
                currentPiece.shape = originalShape;
                currentPiece.x = originalX;
                currentPiece.y = originalY;}draw();}// 检查碰撞functioncheckCollision(){for(let y =0; y < currentPiece.shape.length; y++){for(let x =0; x < currentPiece.shape[y].length; x++){if(currentPiece.shape[y][x]!==0){const newX = currentPiece.x + x;const newY = currentPiece.y + y;if(
                            newX <0|| 
                            newX >=COLS|| 
                            newY >=ROWS||(newY >=0&& board[newY][newX]!==0)){returntrue;}}}}returnfalse;}// 固定方块到游戏板functionlockPiece(){for(let y =0; y < currentPiece.shape.length; y++){for(let x =0; x < currentPiece.shape[y].length; x++){if(currentPiece.shape[y][x]!==0){const boardY = currentPiece.y + y;if(boardY >=0){// 确保不会在顶部之外固定方块
                            board[boardY][currentPiece.x + x]= currentPiece.shape[y][x];}}}}}// 检查并消除完整的行functioncheckLines(){let linesCleared =0;for(let y =ROWS-1; y >=0; y--){if(board[y].every(cell=> cell !==0)){// 移除该行
                    board.splice(y,1);// 在顶部添加新行
                    board.unshift(Array(COLS).fill(0));
                    linesCleared++;
                    y++;// 重新检查当前行(因为上面的行下移了)}}if(linesCleared >0){// 更新分数updateScore(linesCleared);
                lines += linesCleared;// 更新等级和下落速度
                level = Math.floor(lines /10)+1;
                dropInterval = Math.max(100,1000-(level -1)*100);}}// 更新分数functionupdateScore(linesCleared){const points =[0,40,100,300,1200];// 消除1,2,3,4行的分数
            score += points[linesCleared]* level;}// 快速下落(硬降)functionhardDrop(){if(isPaused || gameOver)return;while(movePiece(0,1)){// 继续下落直到碰撞}}// 处理键盘输入functionhandleKeyPress(event){if(gameOver)return;switch(event.keyCode){case37:// 左箭头movePiece(-1,0);break;case39:// 右箭头movePiece(1,0);break;case40:// 下箭头movePiece(0,1);break;case38:// 上箭头rotatePiece();break;case32:// 空格键hardDrop();break;case80:// P键togglePause();break;}}// 游戏主循环functiongameLoop(){if(isPaused || gameOver){
                animationId =requestAnimationFrame(gameLoop);return;}const now = Date.now();const delta = now - dropStart;if(delta > dropInterval){movePiece(0,1);
                dropStart = now;}draw();
            animationId =requestAnimationFrame(gameLoop);}// 开始游戏functionstartGame(){if(gameOver){restartGame();return;}if(!animationId){
                gameOver =false;
                isPaused =false;
                document.getElementById('gameOver').classList.add('hidden');gameLoop();}}// 暂停/继续游戏functiontogglePause(){if(gameOver)return;
            
            isPaused =!isPaused;
            document.getElementById('pauseButton').textContent = isPaused ?'继续游戏':'暂停游戏';if(!isPaused){
                dropStart = Date.now();gameLoop();}}// 重新开始游戏functionrestartGame(){// 取消动画帧if(animationId){cancelAnimationFrame(animationId);
                animationId =null;}// 重置游戏状态
            score =0;
            level =1;
            lines =0;
            gameOver =false;
            isPaused =false;
            dropInterval =1000;// 重置游戏板createBoard();// 创建新方块
            currentPiece =createPiece();
            nextPiece =createPiece();// 隐藏游戏结束界面
            document.getElementById('gameOver').classList.add('hidden');
            document.getElementById('pauseButton').textContent ='暂停游戏';// 重新绘制draw();// 开始游戏循环gameLoop();}// 页面加载完成后初始化游戏
        window.addEventListener('load', init);</script></body></html>

V3.2-Exp:



这里消耗tokens的值太棒了

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>俄罗斯方块</title><style>*{margin: 0;padding: 0;box-sizing: border-box;}body{font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;background:linear-gradient(135deg, #1a1a2e, #16213e);color: #fff;min-height: 100vh;display: flex;flex-direction: column;align-items: center;padding: 20px;}h1{margin: 20px 0;text-align: center;font-size: 2.5rem;text-shadow: 0 2px 5px rgba(0,0,0,0.3);color: #e94560;}.game-container{display: flex;flex-wrap: wrap;justify-content: center;gap: 30px;max-width: 900px;width: 100%;}.game-board{position: relative;background-color: #0f3460;border-radius: 8px;box-shadow: 0 10px 30px rgba(0,0,0,0.4);overflow: hidden;}canvas{display: block;}.side-panel{background-color:rgba(15, 52, 96, 0.7);border-radius: 8px;padding: 25px;min-width: 220px;box-shadow: 0 5px 15px rgba(0,0,0,0.3);}.info-panel{margin-bottom: 30px;}.info-item{margin-bottom: 20px;}.info-label{font-size: 0.9rem;color: #a9b7c6;margin-bottom: 8px;}.info-value{font-size: 1.8rem;font-weight: bold;color: #e94560;}.next-piece{display: flex;flex-direction: column;align-items: center;margin-bottom: 25px;}#nextPieceCanvas{background-color:rgba(0, 0, 0, 0.2);border-radius: 5px;margin-top: 12px;}.controls{display: flex;flex-direction: column;gap: 12px;margin-top: 25px;}button{background: #e94560;color: white;border: none;padding: 14px 20px;border-radius: 5px;font-size: 1rem;cursor: pointer;transition: all 0.3s;font-weight: bold;}button:hover{background: #ff6b81;transform:translateY(-2px);}button:active{transform:translateY(0);}.game-over{position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color:rgba(0, 0, 0, 0.85);display: flex;flex-direction: column;justify-content: center;align-items: center;border-radius: 8px;z-index: 10;}.game-over h2{font-size: 2.5rem;color: #e94560;margin-bottom: 25px;}.hidden{display: none;}.instructions{max-width: 900px;margin-top: 30px;background-color:rgba(15, 52, 96, 0.7);border-radius: 8px;padding: 25px;box-shadow: 0 5px 15px rgba(0,0,0,0.3);}.instructions h3{color: #e94560;margin-bottom: 15px;}.instructions ul{list-style-type: none;padding-left: 0;}.instructions li{margin-bottom: 12px;padding-left: 20px;position: relative;}.instructions li:before{content:"•";color: #e94560;position: absolute;left: 0;}@media(max-width: 768px){.game-container{flex-direction: column;align-items: center;}.side-panel{width: 100%;max-width: 400px;}h1{font-size: 2rem;}}.key{display: inline-block;background:rgba(0,0,0,0.3);padding: 4px 10px;border-radius: 4px;font-family: monospace;margin: 0 3px;}</style></head><body><h1>俄罗斯方块</h1><divclass="game-container"><divclass="game-board"><canvasid="gameCanvas"width="300"height="600"></canvas><divid="gameOver"class="game-over hidden"><h2>游戏结束</h2><pstyle="margin-bottom: 20px;font-size: 1.2rem;">最终得分: <spanid="finalScore">0</span></p><buttonid="restartButton">重新开始</button></div></div><divclass="side-panel"><divclass="info-panel"><divclass="info-item"><divclass="info-label">分数</div><divid="score"class="info-value">0</div></div><divclass="info-item"><divclass="info-label">等级</div><divid="level"class="info-value">1</div></div><divclass="info-item"><divclass="info-label">已消除行数</div><divid="lines"class="info-value">0</div></div></div><divclass="next-piece"><divclass="info-label">下一个方块</div><canvasid="nextPieceCanvas"width="120"height="120"></canvas></div><divclass="controls"><buttonid="startButton">开始游戏</button><buttonid="pauseButton">暂停游戏</button></div></div></div><divclass="instructions"><h3>游戏操作说明</h3><ul><li><spanclass="key">←</span><spanclass="key">→</span> : 左右移动方块</li><li><spanclass="key">↑</span> : 旋转方块</li><li><spanclass="key">↓</span> : 加速下落</li><li><spanclass="key">空格</span> : 直接落到底部</li><li><spanclass="key">P</span> : 暂停/继续游戏</li></ul></div><script>// 游戏常量constCOLS=10;constROWS=20;constBLOCK_SIZE=30;constCOLORS=[null,'#FF0D72',// I'#0DC2FF',// J'#0DFF72',// L'#F538FF',// O'#FF8E0D',// S'#FFE138',// T'#3877FF'// Z];// 方块形状定义constSHAPES=[null,[[0,0,0,0],[1,1,1,1],[0,0,0,0],[0,0,0,0]],[[2,0,0],[2,2,2],[0,0,0]],[[0,0,3],[3,3,3],[0,0,0]],[[4,4],[4,4]],[[0,5,5],[5,5,0],[0,0,0]],[[0,6,0],[6,6,6],[0,0,0]],[[7,7,0],[0,7,7],[0,0,0]]];// 游戏状态let canvas, ctx, nextCanvas, nextCtx;let board =[];let currentPiece, nextPiece;let score =0;let level =1;let lines =0;let gameOver =false;let isPaused =false;let dropInterval =1000;// 初始下落速度(毫秒)let dropStart = Date.now();let animationId;// 初始化游戏functioninit(){
            canvas = document.getElementById('gameCanvas');
            ctx = canvas.getContext('2d');
            nextCanvas = document.getElementById('nextPieceCanvas');
            nextCtx = nextCanvas.getContext('2d');// 初始化游戏板createBoard();// 创建第一个方块
            currentPiece =createPiece();
            nextPiece =createPiece();// 绘制初始状态draw();// 添加事件监听
            document.addEventListener('keydown', handleKeyPress);
            document.getElementById('startButton').addEventListener('click', startGame);
            document.getElementById('pauseButton').addEventListener('click', togglePause);
            document.getElementById('restartButton').addEventListener('click', restartGame);}// 创建游戏板functioncreateBoard(){
            board = Array.from(Array(ROWS),()=>Array(COLS).fill(0));}// 创建随机方块functioncreatePiece(){const pieceType = Math.floor(Math.random()*7)+1;return{
                shape:SHAPES[pieceType],
                color:COLORS[pieceType],
                x: Math.floor(COLS/2)- Math.floor(SHAPES[pieceType][0].length /2),
                y:0};}// 绘制游戏functiondraw(){
            ctx.clearRect(0,0, canvas.width, canvas.height);// 绘制背景网格drawGrid();// 绘制已固定的方块drawBoard();// 绘制当前下落的方块drawPiece(currentPiece);// 绘制下一个方块预览drawNextPiece();// 更新分数和等级显示
            document.getElementById('score').textContent = score;
            document.getElementById('level').textContent = level;
            document.getElementById('lines').textContent = lines;}// 绘制背景网格functiondrawGrid(){
            ctx.strokeStyle ='rgba(255, 255, 255, 0.1)';for(let x =0; x <=COLS; x++){
                ctx.beginPath();
                ctx.moveTo(x *BLOCK_SIZE,0);
                ctx.lineTo(x *BLOCK_SIZE, canvas.height);
                ctx.stroke();}for(let y =0; y <=ROWS; y++){
                ctx.beginPath();
                ctx.moveTo(0, y *BLOCK_SIZE);
                ctx.lineTo(canvas.width, y *BLOCK_SIZE);
                ctx.stroke();}}// 绘制游戏板functiondrawBoard(){for(let y =0; y <ROWS; y++){for(let x =0; x <COLS; x++){if(board[y][x]){drawBlock(ctx, x, y,COLORS[board[y][x]]);}}}}// 绘制方块functiondrawPiece(piece){for(let y =0; y < piece.shape.length; y++){for(let x =0; x < piece.shape[y].length; x++){if(piece.shape[y][x]){drawBlock(ctx, piece.x + x, piece.y + y, piece.color);}}}}// 绘制单个方块functiondrawBlock(context, x, y, color){
            context.fillStyle = color;
            context.fillRect(x *BLOCK_SIZE, y *BLOCK_SIZE,BLOCK_SIZE,BLOCK_SIZE);
            
            context.strokeStyle ='rgba(255, 255, 255, 0.2)';
            context.strokeRect(x *BLOCK_SIZE, y *BLOCK_SIZE,BLOCK_SIZE,BLOCK_SIZE);// 添加3D效果
            context.fillStyle ='rgba(255, 255, 255, 0.2)';
            context.fillRect(x *BLOCK_SIZE, y *BLOCK_SIZE,BLOCK_SIZE,3);
            context.fillRect(x *BLOCK_SIZE, y *BLOCK_SIZE,3,BLOCK_SIZE);
            
            context.fillStyle ='rgba(0, 0, 0, 0.2)';
            context.fillRect(x *BLOCK_SIZE+BLOCK_SIZE-3, y *BLOCK_SIZE,3,BLOCK_SIZE);
            context.fillRect(x *BLOCK_SIZE, y *BLOCK_SIZE+BLOCK_SIZE-3,BLOCK_SIZE,3);}// 绘制下一个方块预览functiondrawNextPiece(){
            nextCtx.clearRect(0,0, nextCanvas.width, nextCanvas.height);// 居中显示下一个方块const offsetX =(nextCanvas.width /BLOCK_SIZE- nextPiece.shape[0].length)/2;const offsetY =(nextCanvas.height /BLOCK_SIZE- nextPiece.shape.length)/2;for(let y =0; y < nextPiece.shape.length; y++){for(let x =0; x < nextPiece.shape[y].length; x++){if(nextPiece.shape[y][x]){
                        nextCtx.fillStyle = nextPiece.color;
                        nextCtx.fillRect((offsetX + x)*BLOCK_SIZE,(offsetY + y)*BLOCK_SIZE,BLOCK_SIZE,BLOCK_SIZE);
                        
                        nextCtx.strokeStyle ='rgba(255, 255, 255, 0.2)';
                        nextCtx.strokeRect((offsetX + x)*BLOCK_SIZE,(offsetY + y)*BLOCK_SIZE,BLOCK_SIZE,BLOCK_SIZE);}}}}// 移动方块functionmovePiece(dx, dy){if(isPaused || gameOver)return;
            
            currentPiece.x += dx;
            currentPiece.y += dy;if(checkCollision()){
                currentPiece.x -= dx;
                currentPiece.y -= dy;// 如果是向下移动碰到碰撞,则固定方块if(dy >0){lockPiece();checkLines();
                    currentPiece = nextPiece;
                    nextPiece =createPiece();// 检查游戏是否结束if(checkCollision()){
                        gameOver =true;
                        document.getElementById('finalScore').textContent = score;
                        document.getElementById('gameOver').classList.remove('hidden');}}returnfalse;}draw();returntrue;}// 旋转方块functionrotatePiece(){if(isPaused || gameOver)return;const originalShape = currentPiece.shape;const rows = originalShape.length;const cols = originalShape[0].length;// 创建新的旋转后的形状const newShape = Array.from(Array(cols),()=>Array(rows).fill(0));for(let y =0; y < rows; y++){for(let x =0; x < cols; x++){
                    newShape[x][rows -1- y]= originalShape[y][x];}const originalX = currentPiece.x;const originalY = currentPiece.y;// 调整位置使旋转后居中
            currentPiece.x += Math.floor((rows - cols)/2);
            currentPiece.y += Math.floor((cols - rows)/2);
            
            currentPiece.shape = newShape;// 如果旋转后发生碰撞,尝试左右移动避免碰撞if(checkCollision()){let offset =1;while(offset <=2){// 尝试向左移动
                    currentPiece.x = originalX - offset;if(!checkCollision()){draw();return;}// 尝试向右移动
                    currentPiece.x = originalX + offset;if(!checkCollision()){draw();return;}// 恢复原始位置
                    currentPiece.x = originalX;
                    offset++;}// 如果无法避免碰撞,恢复原始状态
                currentPiece.shape = originalShape;
                currentPiece.x = originalX;
                currentPiece.y = originalY;}draw();}// 检查碰撞functioncheckCollision(){for(let y =0; y < currentPiece.shape.length; y++){for(let x =0; x < currentPiece.shape[y].length; x++){if(currentPiece.shape[y][x]!==0){const newX = currentPiece.x + x;const newY = currentPiece.y + y;if(
                            newX <0|| 
                            newX >=COLS|| 
                            newY >=ROWS||(newY >=0&& board[newY][newX]!==0)){returntrue;}}}}returnfalse;}// 固定方块到游戏板functionlockPiece(){for(let y =0; y < currentPiece.shape.length; y++){for(let x =0; x < currentPiece.shape[y].length; x++){if(currentPiece.shape[y][x]!==0){const boardY = currentPiece.y + y;if(boardY >=0){
                            board[boardY][currentPiece.x + x]= currentPiece.shape[y][x];}}}}}// 检查并消除完整的行functioncheckLines(){let linesCleared =0;for(let y =ROWS-1; y >=0; y--){if(board[y].every(cell=> cell !==0)){// 移除该行
                    board.splice(y,1);// 在顶部添加新行
                    board.unshift(Array(COLS).fill(0));
                    linesCleared++;
                    y++;// 重新检查当前行(因为上面的行下移了)}}if(linesCleared >0){// 更新分数updateScore(linesCleared);
                lines += linesCleared;// 更新等级和下落速度
                level = Math.floor(lines /10)+1;
                dropInterval = Math.max(100,1000-(level -1)*100);}}// 更新分数functionupdateScore(linesCleared){const points =[0,40,100,300,1200];// 消除1,2,3,4行的分数
                score += points[linesCleared]* level;}}// 快速下落(硬降)functionhardDrop(){if(isPaused || gameOver)return;while(movePiece(0,1)){// 继续下落直到碰撞}}// 处理键盘输入functionhandleKeyPress(event){if(gameOver)return;switch(event.keyCode){case37:// 左箭头movePiece(-1,0);break;case39:// 右箭头movePiece(1,0);break;case40:// 下箭头movePiece(0,1);break;case38:// 上箭头rotatePiece();break;case32:// 空格键hardDrop();break;case80:// P键togglePause();break;}}// 游戏主循环functiongameLoop(){if(isPaused || gameOver){
                animationId =requestAnimationFrame(gameLoop);return;}const now = Date.now();const delta = now - dropStart;if(delta > dropInterval){movePiece(0,1);
                dropStart = now;}draw();
            animationId =requestAnimationFrame(gameLoop);}// 开始游戏functionstartGame(){if(gameOver){restartGame();return;}if(!animationId){
                gameOver =false;
                isPaused =false;
                document.getElementById('gameOver').classList.add('hidden');gameLoop();}}// 暂停/继续游戏functiontogglePause(){if(gameOver)return;
            
            isPaused =!isPaused;
            document.getElementById('pauseButton').textContent = isPaused ?'继续游戏':'暂停游戏';if(!isPaused){
                dropStart = Date.now();gameLoop();}}// 重新开始游戏functionrestartGame(){// 取消动画帧if(animationId){cancelAnimationFrame(animationId);
                animationId =null;}// 重置游戏状态
            score =0;
            level =1;
            lines =0;
            gameOver =false;
            isPaused =false;
            dropInterval =1000;// 重置游戏板createBoard();// 创建新方块
            currentPiece =createPiece();
            nextPiece =createPiece();// 隐藏游戏结束界面
            document.getElementById('gameOver').classList.add('hidden');
            document.getElementById('pauseButton').textContent ='暂停游戏';// 重新绘制draw();// 开始游戏循环gameLoop();}// 页面加载完成后初始化游戏
        window.addEventListener('load', init);</script></body></html>

结论:没有代码方面没有太大的区别,只能说是差不多;只是这消耗tokens确实牛,3.1消耗了20tokens,3.2直接封神

案例3:联网搜索与信息整合

提示词:

总结近期关于‘AI for Science’的三项重要突破,并列出其研究团队和论文来源。

V3.1-Terminus:


V3.2-Exp:



结论:与其说它们是两个独立的版本,不如说 V3.2-Exp 是在 V3.1-Terminus 奠定的稳健基础上,增强了探索能力的一次演进。FunSearch 的真正突破性,在于它成功地将这两者结合在了一起:它创建了一个系统,这个系统既能像可靠的生产线一样持续运作(Terminus的哲学),又能像富有创造力的科学家一样不断尝试新想法(Exp的哲学)。 正是这种结合,使得它能够在像帽集问题和装箱问题这样困难的领域中发现人类专家未曾发现的解。

总结

同样是解那道经典的帽子推理题,V3.2思考的步骤更短,直接抓住了关键。写俄罗斯方块代码时,两个模型都能完成任务,但V3.2明显更省资源。这就像找了个更熟练的工人,活干得一样好,但用时更短、用料更省。

这背后的门道在于,V3.2学会了一种“跳着读”的本事。处理长内容时,它不再需要逐字逐句反复计算,而是能快速锁定核心信息。这种效率提升直接反映在价格上,现在用同样的钱能调用更多次API。

那么,为什么要选择蓝耘平台?

正是因为蓝耘MaaS平台提供了稳定、高性能的推理环境,才能让我们开发者第一时间、零门槛地体验到这种技术进步带来的直接好处:更快的响应速度和超过50%的成本下降。这意味着,在蓝耘上,我们可以用更少的预算,支撑起更大规模或更复杂的AI应用。选择蓝耘,就是选择了一个能够持续获得最新技术红利、并真正帮助我们降本增效的可靠伙伴。

子推理题,V3.2思考的步骤更短,直接抓住了关键。写俄罗斯方块代码时,两个模型都能完成任务,但V3.2明显更省资源。这就像找了个更熟练的工人,活干得一样好,但用时更短、用料更省。

这背后的门道在于,V3.2学会了一种“跳着读”的本事。处理长内容时,它不再需要逐字逐句反复计算,而是能快速锁定核心信息。这种效率提升直接反映在价格上,现在用同样的钱能调用更多次API。

那么,为什么要选择蓝耘平台?

正是因为蓝耘MaaS平台提供了稳定、高性能的推理环境,才能让我们开发者第一时间、零门槛地体验到这种技术进步带来的直接好处:更快的响应速度和超过50%的成本下降。这意味着,在蓝耘上,我们可以用更少的预算,支撑起更大规模或更复杂的AI应用。选择蓝耘,就是选择了一个能够持续获得最新技术红利、并真正帮助我们降本增效的可靠伙伴。

对我们开发者来说,在蓝耘平台上用V3.2,最实在的好处就是:花更少的钱,办同样的事,遇到长文章时处理速度还更快了。 这种既省钱又提效的升级,才是真正对我们有用的进步。

零基础如何高效学习大模型?

为了帮助大家打破壁垒,快速了解大模型核心技术原理,学习相关大模型技术。从原理出发真正入局大模型。在这里我和MoPaaS魔泊云联合梳理打造了系统大模型学习脉络,这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码免费领取🆓**⬇️⬇️⬇️

在这里插入图片描述

【大模型全套视频教程】

教程从当下的市场现状和趋势出发,分析各个岗位人才需求,带你充分了解自身情况,get 到适合自己的 AI 大模型入门学习路线。

从基础的 prompt 工程入手,逐步深入到 Agents,其中更是详细介绍了 LLM 最重要的编程框架 LangChain。最后把微调与预训练进行了对比介绍与分析。

同时课程详细介绍了AI大模型技能图谱知识树,规划属于你自己的大模型学习路线,并且专门提前收集了大家对大模型常见的疑问,集中解答所有疑惑!

在这里插入图片描述

深耕 AI 领域技术专家带你快速入门大模型

跟着行业技术专家免费学习的机会非常难得,相信跟着学习下来能够对大模型有更加深刻的认知和理解,也能真正利用起大模型,从而“弯道超车”,实现职业跃迁!

在这里插入图片描述

【精选AI大模型权威PDF书籍/教程】

精心筛选的经典与前沿并重的电子书和教程合集,包含《深度学习》等一百多本书籍和讲义精要等材料。绝对是深入理解理论、夯实基础的不二之选。

在这里插入图片描述

【AI 大模型面试题 】

除了 AI 入门课程,我还给大家准备了非常全面的**「AI 大模型面试题」,**包括字节、腾讯等一线大厂的 AI 岗面经分享、LLMs、Transformer、RAG 面试真题等,帮你在面试大模型工作中更快一步。

【大厂 AI 岗位面经分享(92份)】

图片

【AI 大模型面试真题(102 道)】

图片

【LLMs 面试真题(97 道)】

图片

【640套 AI 大模型行业研究报告】

在这里插入图片描述

【AI大模型完整版学习路线图(2025版)】

明确学习方向,2025年 AI 要学什么,这一张图就够了!

img

👇👇点击下方卡片链接免费领取全部内容👇👇

在这里插入图片描述

抓住AI浪潮,重塑职业未来!

科技行业正处于深刻变革之中。英特尔等巨头近期进行结构性调整,缩减部分传统岗位,同时AI相关技术岗位(尤其是大模型方向)需求激增,已成为不争的事实。具备相关技能的人才在就业市场上正变得炙手可热。

行业趋势洞察:

  • 转型加速: 传统IT岗位面临转型压力,拥抱AI技术成为关键。
  • 人才争夺战: 拥有3-5年经验、扎实AI技术功底和真实项目经验的工程师,在头部大厂及明星AI企业中的薪资竞争力显著提升(部分核心岗位可达较高水平)。
  • 门槛提高: “具备AI项目实操经验”正迅速成为简历筛选的重要标准,预计未来1-2年将成为普遍门槛。

与其观望,不如行动!

面对变革,主动学习、提升技能才是应对之道。掌握AI大模型核心原理、主流应用技术与项目实战经验,是抓住时代机遇、实现职业跃迁的关键一步。

在这里插入图片描述

01 为什么分享这份学习资料?

当前,我国在AI大模型领域的高质量人才供给仍显不足,行业亟需更多有志于此的专业力量加入。

因此,我们决定将这份精心整理的AI大模型学习资料,无偿分享给每一位真心渴望进入这个领域、愿意投入学习的伙伴!

我们希望能为你的学习之路提供一份助力。如果在学习过程中遇到技术问题,也欢迎交流探讨,我们乐于分享所知。

*02 这份资料的价值在哪里?*

专业背书,系统构建:

  • 本资料由我与MoPaaS魔泊云的鲁为民博士共同整理。鲁博士拥有清华大学学士和美国加州理工学院博士学位,在人工智能领域造诣深厚:

    • 在IEEE Transactions等顶级学术期刊及国际会议发表论文超过50篇。
    • 拥有多项中美发明专利。
    • 荣获吴文俊人工智能科学技术奖(中国人工智能领域重要奖项)。
  • 目前,我有幸与鲁博士共同进行人工智能相关研究。

在这里插入图片描述

内容实用,循序渐进:

  • 资料体系化覆盖了从基础概念入门到核心技术进阶的知识点。

  • 包含丰富的视频教程与实战项目案例,强调动手实践能力。

  • 无论你是初探AI领域的新手,还是已有一定技术基础希望深入大模型的学习者,这份资料都能为你提供系统性的学习路径和宝贵的实践参考,助力你提升技术能力,向大模型相关岗位转型发展。

    在这里插入图片描述在这里插入图片描述在这里插入图片描述

抓住机遇,开启你的AI学习之旅!

在这里插入图片描述

「文智助手」全场景办公AI助理AI+OPC全流程实践方案(大赛作品) 阅读详情

相关推荐

船载 OpenHarmony AIS 航海工作台:告警与防碰撞预警系统

船载OpenHarmony AIS航海工作台的告警与防碰撞系统,集成十余类告警(超速、偏航、会遇、SOS等),通过网格空间索引实现高效邻近判定,保障实时性。告警管理器统一调度规则、去重、通知与日志,支持悬浮球、语音、跑马灯、弹窗多渠道触达,确保航行安全。SOS紧急通道独立运行,避免干扰。系统设计强调性能优化与多场景适配,为航海安全提供核心支撑。

专注于计算机研发知识和资讯分享 385

超强降本增效!DeepSeek-V3.2-Exp上线,首发DSA稀疏注意力机制

DeepSeek-V3.2-Exp是DeepSeek-AI推出的新一代AI模型,通过创新的DeepSeek Sparse Attention(DSA)机制显著提升了长文本处理效率,计算复杂度从O(L²)降至O(Lk)。该模型在性能上与V3.1-Terminus持平,同时大幅降低API成本50%以上,已在Hugging Face和ModelScope开源。应用场景涵盖长文本处理、代码生成、数学推理等,特别适合需要高效处理大规模文本的任务。核心技术包括FP8低精度训练和闪电索引器,在保持输出质量的同时实现2-3

Lethehong 7万+

TK抓包协议分析:So层逆向

第三个参数是一个回调函数,这里他的返回值1表示成功,0表示失败,那我们手动把他Hook为0,让他不支持quic协议,实现降级。等,我们是为了解决抓包问题,那很有可能是在net目录下(network),那来搜索一下。开了抓包以后APP直接是网络无连接了,并且抓到的请求也是不正常的,下面我们就开始定位。看了半天感觉也没啥有用的东西,那下面我们整理一下已经有信息,来猜测一下,后续怎么进行。那可以猜测,我们真正需要Hook的那个函数也有可能是这样加载的,可以字符串搜索一下。

2503_90751938的博客 3421

DeepSeekV3.2即将发布,献礼国庆

DeepSeek新模型V3.2即将发布,引发六大核心期待:1)R2和V3.2模型在代码生成、多语言推理和AGI能力上的突破;2)AI智能体实现低干预、高自主操作;3)提升国产算力适配和成本效率;4)强化多模态处理能力;5)深化开源生态和商业化落地;6)增强国际竞争力,打破美企垄断。市场期待DeepSeek在技术突破与实用价值间取得平衡,成为国产AI标杆。

架构师刘7的博客 1537

python 中心线提取_二值分析 | OpenCV + skimage如何提取中心线

点击上方蓝字关注我们微信公众号:OpenCV学堂关注获取更多计算机视觉与深度学习知识问题前几天有个人问了我一个问题,问题是这样的,他有如下的一张二值图像:怎么得到白色Blob中心线,他希望的效果如下:显然OpenCV中常见的轮廓分析无法获得上面的中心红色线段,本质上这个问题是如何提取二值对象的骨架,提取骨架的方法在OpenCV的扩展模块中,另外skimage包也支持图像的骨架提取。这里就...

weixin_42204453的博客 4290

图像调整亮度饱和度 c语言,【C#/WPF】调节图像的HSL(色相、饱和度、明亮度)...

先说概念:HSL是一种描述颜色的方式(其他颜色描述方式还有大家熟悉的RGB值)。HSL三个字母分别表示图像的Hue色相、Saturation饱和度、Lightness明亮度。需求:制作一个面板,包含三个滑动条,拖动滑动条可以修改目标图片的HSL值。即模仿PS中类似的功能,如下图:方案一:遍历所有像素点,修改每个点的HSL值。前台界面:一个Image控件显示目标图片,一个Button按钮点击一下降低...

weixin_39935777的博客 1157

LLMs之DeepSeek:DeepSeek-V3.2的简介、安装和使用方法、案例应用之详细攻略

​ LLMs之DeepSeek:DeepSeek-V3.2的简介、安装和使用方法、案例应用之详细攻略 目录 DeepSeek-V3.2的简介 DeepSeek-V3.2的安装和使用方法 DeepSeek-V3.2的案例应用 DeepSeek-V3.2的简介 2025年12月1日,DeepSeek团队发布DeepSeek-V3.2,这是是一个以推理为核心、专为“智能体 (agents)”构建的新一代大模型系列。该系列包含两个主要模型: DeepSeek-V3.2: 这是 D

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 3886

STM32F407 UART4串口DMA收发实战:告别频繁中断,用空闲中断+DMA搞定不定长数据

本文详细介绍了STM32F407 UART4串口结合DMA和空闲中断实现高效不定长数据收发的实战方案。通过DMA硬件级数据搬运和空闲中断智能帧检测,显著降低CPU占用率,提升通信效率,适用于工业传感器数据采集和智能设备通信场景。

weixin_42631411的博客 158

DeepSeek亮出王牌!V3.2正式发布,开源模型正面硬刚GPT-5

DeepSeek发布全新开源大模型V3.2,性能对标GPT-5。该模型采用"一体两面"策略:V3.2为全能日用版本,适合日常问答和长文本处理;V3.2-Speciale专攻极限推理任务,数学和编程能力达到竞赛金牌水准。关键技术突破包括DSA稀疏注意力机制、"思考式工具调用"等创新。在多项基准测试中,V3.2表现优异,软件开发能力甚至超越GPT-5。该模型已在HuggingFace和OpenCSG社区开源,标志着开源AI与闭源巨头的差距进一步缩小。

OpenCSG的博客 3176

YOLOv11改进 - 卷积Conv | PATConv(Partial Attention Convolution)部分注意力卷积,在减少计算量的同时融合卷积与注意力的优势 | AAAI 2026

本文提出部分注意力卷积(PATConv)机制,并将其集成到YOLOv11中。传统神经网络中,卷积计算密集,注意力机制全局计算冗余,此前的“部分卷积”会丢失未计算通道的特征价值。PATConv通过“通道拆分 - 并行处理 - 结果拼接”的逻辑,给不同通道分配“擅长的任务”,兼顾局部与全局特征。基于此,它还衍生出PAT_ch、PAT_sp和PAT_sf三种细分模块。此外,还提出了动态部分卷积(DPConv),并构建了新的混合网络家族PartialNet。我们将PATConv代码集成到YOLOv11中,实验表明,

魔改工程师的博客 1085

YOLO26改进策略【Neck】| arXiv 2025 分层多头注意力HMHA 子空间拆分提多样 + 通道重排降冗余,强化目标检测精度

HMHA(Hierarchical Multi-Head Attention,分层多头注意力)旨在解决传统多头注意力(MHA)在图像恢复任务中的核心缺陷——特征冗余。传统MHA将通道均匀拆分给各个头,导致不同头学习的子空间信息相似,进而出现多头关注同一区域、忽略退化区域修复的问题,限制了模型的特征表达能力。HMHA通过“分层子空间拆分+通道重排序”策略,让每个头学习差异化、互补的上下文特征,从根源上缓解冗余,提升图像恢复任务中对复杂退化场景的特征捕捉能力。

Limiiiing的博客 213

实测封神!DeepSeek-V3.2-Exp 靠稀疏注意力把长文本效率卷出新高度

DeepSeek-V3.2-Exp通过创新的DSA注意力机制显著提升了长文本处理效率。该模型在DeepSeek-V3.1-Terminus基础上改进,采用闪电索引器和细粒度token选择机制,将复杂度从O(L²)降至O(L×k),同时保持性能稳定。实测显示在128K上下文场景下,推理成本降低30-40%,且搜索、数学、代码等任务性能有所提升。模型采用分阶段训练策略(稠密热身+稀疏训练)和混合RL优化,确保稳定收敛。开源权重已发布,适合长文本分析、对话系统等应用场景,为开发者提供高效经济的解决方案。

栖客 1571

超详细教程YoloV8官方推荐免费数据集网站Roboflow一键导出Voc、COCO、Yolo、Csv等格式

YoloV8官方推荐了一个数据集网站,就是Roboflow。Roboflow是一个数据集管理平台,提供了免费的数据集,同时也支持上传自己的数据集进行格式转换。使用Roboflow,开发者可以方便地获取所需格式的数据集,无需手动转换格式。此外,Roboflow还提供了多种数据预处理、数据增强等功能,可帮助开发者更好地优化训练数据

Snu77的博客 2万+

放假前搞大事!DeepSeek 开源 V3.2-Exp,带自主 DSA 稀疏注意力,降 API 价还可本地部署,开发者速冲!

DeepSeek-V3.2-Exp 集成的,是该模型的核心技术创新,其首次实现了细粒度稀疏注意力机制。作为提升大模型处理超长上下文窗口效率的关键技术之一,该机制专注于优化长文本场景下的模型性能。

2089

层层剖析,让你彻底搞懂Self-Attention、MultiHead-Attention和Masked-Attention的机制和原理

本文内容 本文基于李宏毅老师对 Self-Attention 的讲解,进行理解和补充,并结合Pytorch代码,最终目的是使得自己和各位读者更好的理解Self-Attention 李宏毅Self-Attention链接: https://www.youtube.com/watch?v=hYdO9CscNes PPT链接见视频下方 通过本文的阅读,你可以获得以下知识: 什么是Self-Attention,为什么要用Self-Attention? Self-Attention是如何做的? Self-Atten

iioSnail的博客 2万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 379

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

AI 问数真的能替代 BI 报表吗?

AI问数赋能自然语言查询,提升临时分析效率,但无法替代传统报表。报表适用于稳定输出与持续监控,AI则擅长探索性提问。企业用好AI问数,关键在于夯实数据模型、统一指标口径、健全权限体系与结果校验机制。合理组合报表、仪表板与AI,才能实现高效、准确的业务洞察。

葡萄城技术团队博客 298

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

AI Agent之核心框架

A: 显式 Thought 有三类价值:可解释性(便于人类审计)、可调试性(定位哪一步选错工具)、学习信号(可做监督微调或评估中间步骤质量)。ReAct 把推理与 可执行行动 绑定,每一步行动后都有 真实 Observation 反馈,从而用工具结果约束生成,降低闭卷幻觉。做完不等于结束——还要 评估做得好不好,把 教训 记下来,下次 带着教训重试,反思作为 记忆,影响后续尝试的策略。工作流程:Action → Evaluation → Reflection → Retry。A: 普通 CoT 只在。

剑雨巍巍的博客 263

ChatGPT、Perplexity、Gemini 与 AI Overviews 引用对比:谁的引用更可信

AI 引擎的引用机制差异很大:ChatGPT 以行内引用加 Sources 列表呈现来源,Perplexity 几乎逐句可溯源,Gemini 在回答中内嵌相关来源链接,AI Overviews 则把多源聚合答案与来源列表一起放在搜索结果顶部。本文从引用透明度、来源偏好、可干预性 3 个维度对比这 4 个引擎,并给出 GEO 的 3 点启示,帮企业在多引擎环境下提升被引用的概率。

淡然一笑 的专栏 228

【从零理解 Spring AI · 12】MCP 的两种角色:做客户端还是做服务端

上一篇讲了 MCP 的概念:标准协议、三大角色、M+N 替代 M×N。

nice_lcj520的博客 577

AI 应用开发工程师技术实践:大模型接入、通用组件封装与性能优化

本文提出AI应用从PoC到生产的核心挑战:模型调用的持续可用、可控与可优化。通过构建统一LLM网关实现多供应商路由与故障转移,封装对话、工具调用与RAG组件以解耦业务逻辑,结合前缀缓存、批处理与流式背压治理等性能优化手段,形成“接通→接稳→接快”的工程路径,最终以工程化能力决定AI应用的生产可用性。

2301_79189962的博客 635

抽象主义人工智能和生命体AI的内在联系

彭军辉提出“抽象主义人工智能”作为第四大AI范式,批判符号主义、连接主义、行为主义剥离生命本体的误区,确立“智能是现象,生命是本体”的核心公理。主张原生智能必须依附具备存续诉求的生命本体,提出“生命体AI理论”,构建七层演化阶梯与自闭环工程框架,强调智能不可跳过底层存续机制直接模拟语言。该体系为生成式AI提供科学边界,推动从“仿真表象”向“原生智能”的范式跃迁,开辟硅基人工生命新赛道。

抽象主义人工智能和生命体AI 178

OpenAI Control Room 架构拆解:给企业 AI Agent 加一套可审计的急停系统

OpenAI 公开了用于追踪和停止研究模型工作负载的 Control Room。本文拆解 job_id、推理前鉴权、35 秒撤销窗口与 Fail Closed 设计,并给出企业 AI Agent 急停控制面的数据模型、FastAPI 参考实现、缓存撤销策略和故障演练清单。

jerry764的博客 327

OpenClaw 深度调查:把 AI 助手做成你自己的控制平面

对 openclaw/openclaw 的完整技术尽调:Gateway 架构、Agent 运行时、工具与沙箱、30 个消息通道、181 个插件、安全信任边界、工程代价与采用建议。17 章 / 10 张图,全部数字标注口径,数据截至 2026-10-31。

厚积薄发 310

AI赋能智慧港口建设|造形家快速生成港口全要素三维场景

随着智慧港口、港口数字孪生项目的持续推进,港口三维场景的需求日益旺盛。传统港口三维建模,往往需要航拍倾斜摄影采集数据,再人工搭建吊机、岸桥、船舶、集装箱等大量工业设施模型,项目周期长、人力成本高,修改迭代繁琐,制约港口可视化项目落地效率。国产AI三维建模工具,依托卫星影像 AI 识别能力,无需航拍作业,一键快速搭建港口完整三维场景,为港口数字孪生、方案汇报、投标演示提供高效的场景解决方案。

m0_69539167的博客 66

从设备增点到治理闭环:老旧小区物业数智化落地实践

系统连接合同审批、银行流水、收费记录与项目台账,执行到期提醒、收入核验、异常标色和月度对账,让每一笔资金来源明确、去向可查。针对设施老旧、诉求响应慢、公共收益不透明等问题,津南以6类小区为试点场景,统一建设物业数字化底座,关联楼栋、单元、房屋、业主、空间、设施设备、工单、公共收益等核心数据。系统采用统一编码管理,将摄像头、路灯、井盖、道路、绿化等设施纳入资产台账,解决纸质记录更新滞后、故障责任难追溯的问题。基于历史工单建立分类模型和知识库,辅助识别照明、给排水、电梯、环境秩序、秩序维护等问题;

wuyeshuzhihua的博客 136
上一篇: 【DeepSeek_论文精读】13._DeepSeek-V3.2-Exp 技术报告与部署实践
下一篇: 【初级必看】Python+AI大模型:从小白到高手的实用教程(建议收藏)
爱喝白开水a
博客等级 码龄3年 6793粉丝 763原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值