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

IDEA 2025.1更新-AI助手试用和第三方模型集成方案

今天刚把 IntelliJ IDEA 更新到了 2025.1 版本,主要是想看看这次 AI Assistant 有什么新东西。之前看到消息说功能有更新,而且似乎可以免费试用,就动手试了试,顺便把过程和一些发现记录下来,给可能需要的朋友一个参考。

一、启用 AI Assistant 试用

之前的版本 AI Assistant 对国内用户不太友好,这次更新后,我发现通过调整区域设置,可以重新弹出 AI Assistant 的登录和试用选项。

具体步骤是这样的:

  1. 确认 IDEA 版本: 确保是 2025.1 或更新版本。

  2. 修改地区设置:

    image-20250417203643237

  3. 重启 IDEA: 必须完全关闭 IDEA 再重新打开,让配置生效。

  4. 检查 AI Assistant 插件:

    • Settings/Preferences -> Plugins -> Installed 确认 AI Assistant, Junie插件是启用状态。如果没有,去 Marketplace 搜索安装一下。

    image-20250417203601570

  5. 登录并开始试用:

    • 重启后,IDE 右侧应该会出现 AI Assistant 的工具窗口。点击登录你的 JetBrains 账号。
    • 登录成功后,应该会看到一个 “Start Trial” 或类似的按钮,点击它就可以开始试用了。

    image-20250417204108437

注意: 这个方法本质上是开启了 JetBrains 提供的试用期。试用期有多长、结束后政策如何,目前还不确定。这更像是一个基于区域的试用策略,不保证长期有效。

二、新东西:Agent AI

这次更新除了常规的 AI 功能(代码补全、解释、生成 Commit Message 等),比较有意思的是推出了一个叫 “Agent AI” 的东西。

看介绍和初步试用,它似乎不只是建议,而是可以直接参与到跨文件、更复杂的代码修改任务中。比如你可以让它分析某个方法的调用链,或者尝试进行一些重构。

这个功能看起来潜力挺大,可以直接在 IDE 里处理一些稍微繁琐的任务。具体效果怎么样,还需要在实际项目中多用用看。

image-20250417212613727

image-20250417212539428

image-20250417212553335

三、连接本地模型(可选)

对于注重隐私或者想用特定模型的开发者,AI Assistant 现在也支持连接本地运行的大语言模型了。

  1. 本地运行模型: 如果你本地用 Ollama 或其他兼容 OpenAI API 格式的服务跑了模型(比如 Llama 3, Qwen, Gemma 等),确保服务在运行。

  2. 配置 IDEA:

    • 打开 Settings/Preferences -> Tools -> AI Assistant -> LLM Service
    • 选择 CustomLocal (具体选项名称可能微调),然后填入你本地服务的地址,比如 Ollama 默认的 http://localhost:11434

    image-20250417205159689

本地跑不动模型怎么办?

我看有人整理了一些提供免费在线 Ollama 服务的列表(比如这个:https://idea.wangwangit.com/zh),你可以找一个试试看,配置方法和本地一样,填入对应的服务地址就行。不过用第三方服务,数据隐私方面就需要自己衡量了。

ollama模型太辣鸡?

那就让我抛出重磅级武器吧,直接接入第三方API, 修改API_URL,API_KEY为自己的配置,在ENABLED_MODELS中添加合适的模型,然后在本地或者服务器启动这份代码! 就可以集成各种在线AI模型使用啦!

from flask import Flask, request, jsonify
import requests
import time
import uuid
import logging
import json
from typing import Dict, Any
from datetime import datetime, UTC# 配置日志(更改为中文)
logging.basicConfig(level=logging.INFO,format='%(asctime)s [%(levelname)s] %(message)s',handlers=[logging.StreamHandler()]
)
logger = logging.getLogger(__name__)app = Flask(__name__)# 启用模型配置:直接定义启用的模型名称
# 用户可添加/删除模型名称,动态生成元数据
ENABLED_MODELS = {"gemini-2.0-flash","grok-3-beta","DeepSeek-V3"
}# API 配置
API_URL = "https://xxxx/v1/chat/completions"
# 请替换为你的 API 密钥(请勿公开分享)
API_KEY = "xxxxx"# 模拟 Ollama 聊天响应数据库
OLLAMA_MOCK_RESPONSES = {"What is the capital of France?": "The capital of France is Paris.","Tell me about AI.": "AI is the simulation of human intelligence in machines, enabling tasks like reasoning and learning.","Hello": "Hi! How can I assist you today?"
}@app.route("/", methods=["GET"])
def root_endpoint():"""模拟 Ollama 根路径,返回 'Ollama is running'"""logger.info("收到根路径请求")return "Ollama is running", 200@app.route("/api/tags", methods=["GET"])
def tags_endpoint():"""模拟 Ollama 的 /api/tags 端点,动态生成启用模型列表"""logger.info("收到 /api/tags 请求")models = []for model_name in ENABLED_MODELS:# 推导 family:从模型名称提取前缀(如 "gpt-4o" -> "gpt")family = model_name.split('-')[0].lower() if '-' in model_name else model_name.lower()# 特殊处理已知模型if 'llama' in model_name:family = 'llama'format = 'gguf'size = 1234567890parameter_size = '405B' if '405b' in model_name else 'unknown'quantization_level = 'Q4_0'elif 'mistral' in model_name:family = 'mistral'format = 'gguf'size = 1234567890parameter_size = 'unknown'quantization_level = 'unknown'else:format = 'unknown'size = 9876543210parameter_size = 'unknown'quantization_level = 'unknown'models.append({"name": model_name,"model": model_name,"modified_at": datetime.now(UTC).strftime("%Y-%m-%dT%H:%M:%S.%fZ"),"size": size,"digest": str(uuid.uuid4()),"details": {"parent_model": "","format": format,"family": family,"families": [family],"parameter_size": parameter_size,"quantization_level": quantization_level}})logger.info(f"返回 {len(models)} 个模型: {[m['name'] for m in models]}")return jsonify({"models": models}), 200def generate_ollama_mock_response(prompt: str, model: str) -> Dict[str, Any]:"""生成模拟的 Ollama 聊天响应,符合 /api/chat 格式"""response_content = OLLAMA_MOCK_RESPONSES.get(prompt, f"Echo: {prompt} (这是来自模拟 Ollama 服务器的响应。)")return {"model": model,"created_at": datetime.now(UTC).strftime("%Y-%m-%dT%H:%M:%SZ"),"message": {"role": "assistant","content": response_content},"done": True,"total_duration": 123456789,"load_duration": 1234567,"prompt_eval_count": 10,"prompt_eval_duration": 2345678,"eval_count": 20,"eval_duration": 3456789}def convert_api_to_ollama_response(api_response: Dict[str, Any], model: str) -> Dict[str, Any]:"""将 API 的 OpenAI 格式响应转换为 Ollama 格式"""try:content = api_response["choices"][0]["message"]["content"]total_duration = api_response.get("usage", {}).get("total_tokens", 30) * 1000000prompt_tokens = api_response.get("usage", {}).get("prompt_tokens", 10)completion_tokens = api_response.get("usage", {}).get("completion_tokens", 20)return {"model": model,"created_at": datetime.now(UTC).strftime("%Y-%m-%dT%H:%M:%SZ"),"message": {"role": "assistant","content": content},"done": True,"total_duration": total_duration,"load_duration": 1234567,"prompt_eval_count": prompt_tokens,"prompt_eval_duration": prompt_tokens * 100000,"eval_count": completion_tokens,"eval_duration": completion_tokens * 100000}except KeyError as e:logger.error(f"转换API响应失败: 缺少键 {str(e)}")return {"error": f"无效的API响应格式: 缺少键 {str(e)}"}def print_request_params(data: Dict[str, Any], endpoint: str) -> None:"""打印请求参数"""model = data.get("model", "未指定")temperature = data.get("temperature", "未指定")stream = data.get("stream", False)messages_info = []for msg in data.get("messages", []):role = msg.get("role", "未知")content = msg.get("content", "")content_preview = content[:50] + "..." if len(content) > 50 else contentmessages_info.append(f"[{role}] {content_preview}")params_str = {"端点": endpoint,"模型": model,"温度": temperature,"流式输出": stream,"消息数量": len(data.get("messages", [])),"消息预览": messages_info}logger.info(f"请求参数: {json.dumps(params_str, ensure_ascii=False, indent=2)}")@app.route("/api/chat", methods=["POST"])
def ollama_chat_endpoint():"""模拟 Ollama 的 /api/chat 端点,所有模型都能使用"""try:data = request.get_json()if not data or "messages" not in data:logger.error("无效请求: 缺少 'messages' 字段")return jsonify({"error": "无效请求: 缺少 'messages' 字段"}), 400messages = data.get("messages", [])if not messages or not isinstance(messages, list):logger.error("无效请求: 'messages' 必须是非空列表")return jsonify({"error": "无效请求: 'messages' 必须是非空列表"}), 400model = data.get("model", "llama3.2")user_message = next((msg["content"] for msg in reversed(messages) if msg.get("role") == "user"),"")if not user_message:logger.error("未找到用户消息")return jsonify({"error": "未找到用户消息"}), 400# 打印请求参数print_request_params(data, "/api/chat")logger.info(f"处理 /api/chat 请求, 模型: {model}")# 移除模型限制,所有模型都使用APIapi_request = {"model": model,"messages": messages,"stream": False,"temperature": data.get("temperature", 0.7)}headers = {"Content-Type": "application/json","Authorization": f"Bearer {API_KEY}"}try:logger.info(f"转发请求到API: {API_URL}")response = requests.post(API_URL, json=api_request, headers=headers, timeout=30)response.raise_for_status()api_response = response.json()ollama_response = convert_api_to_ollama_response(api_response, model)logger.info(f"收到来自API的响应,模型: {model}")return jsonify(ollama_response), 200except requests.RequestException as e:logger.error(f"API请求失败: {str(e)}")# 如果API请求失败,使用模拟响应作为备用logger.info(f"使用模拟响应作为备用方案,模型: {model}")response = generate_ollama_mock_response(user_message, model)return jsonify(response), 200except Exception as e:logger.error(f"/api/chat 服务器错误: {str(e)}")return jsonify({"error": f"服务器错误: {str(e)}"}), 500@app.route("/v1/chat/completions", methods=["POST"])
def api_chat_endpoint():"""转发到API的 /v1/chat/completions 端点,并转换为 Ollama 格式"""try:data = request.get_json()if not data or "messages" not in data:logger.error("无效请求: 缺少 'messages' 字段")return jsonify({"error": "无效请求: 缺少 'messages' 字段"}), 400messages = data.get("messages", [])if not messages or not isinstance(messages, list):logger.error("无效请求: 'messages' 必须是非空列表")return jsonify({"error": "无效请求: 'messages' 必须是非空列表"}), 400model = data.get("model", "grok-3")user_message = next((msg["content"] for msg in reversed(messages) if msg.get("role") == "user"),"")if not user_message:logger.error("未找到用户消息")return jsonify({"error": "未找到用户消息"}), 400# 打印请求参数print_request_params(data, "/v1/chat/completions")logger.info(f"处理 /v1/chat/completions 请求, 模型: {model}")headers = {"Content-Type": "application/json","Authorization": f"Bearer {API_KEY}"}try:logger.info(f"转发请求到API: {API_URL}")response = requests.post(API_URL, json=data, headers=headers, timeout=30)response.raise_for_status()api_response = response.json()ollama_response = convert_api_to_ollama_response(api_response, model)logger.info(f"收到来自API的响应,模型: {model}")return jsonify(ollama_response), 200except requests.RequestException as e:logger.error(f"API请求失败: {str(e)}")return jsonify({"error": f"API请求失败: {str(e)}"}), 500except Exception as e:logger.error(f"/v1/chat/completions 服务器错误: {str(e)}")return jsonify({"error": f"服务器错误: {str(e)}"}), 500def main():"""启动模拟服务器"""logger.info("正在启动模拟 Ollama 和 API 代理服务器,地址: http://localhost:11434")app.run(host="0.0.0.0", port=11434, debug=False)if __name__ == "__main__":main()

image-20250417232425105

image-20250417232529974

总结

总的来说,IDEA 2025.1 的 AI 功能值得尝试一下,尤其是通过改区域设置就能方便地开启试用。Agent AI 是个新方向,看看后续发展如何。连接本地模型也给了大家更多选择。

我就先用到这儿,算是个快速上手记录。如果你也更新了,欢迎交流使用体验,特别是 Agent AI 的实战效果。

相关文章:

IDEA 2025.1更新-AI助手试用和第三方模型集成方案

今天刚把 IntelliJ IDEA 更新到了 2025.1 版本,主要是想看看这次 AI Assistant 有什么新东西。之前看到消息说功能有更新,而且似乎可以免费试用,就动手试了试,顺便把过程和一些发现记录下来,给可能需要的朋友一个参考。…...

static关键字

思维导图: 在 Java 中,static 是一个非常重要的关键字,它可以用来修饰类的成员,包括变量、方法、代码块以及内部类。下面为你详细介绍 static 关键字的各种用法和特点。 一.修饰内部类 静态内部类:当 static 修饰内部类…...

gl-matrix 库简介

gl-matrix 库简介 gl-matrix 是一个高性能的 JavaScript 矩阵和向量库,专门为 WebGL 和其他 3D 图形应用设计。它提供了处理 2D、3D 和 4D 向量以及矩阵运算的高效方法。 主要特性 高性能:经过高度优化,执行速度快轻量级:体积小…...

Spring Boot 核心注解全解:@SpringBootApplication背后的三剑客

大家好呀!👋 今天我们要聊一个超级重要的Spring Boot话题 - 那个神奇的主类注解SpringBootApplication!很多小伙伴可能每天都在用Spring Boot开发项目,但你真的了解这个注解背后的秘密吗?🤔 别担心&#x…...

Android 音频架构全解析:从 AudioTrack 到 AudioFlinger

在开发音视频相关应用时,我们常会接触到 MediaPlayer、SoundPool、AudioTrack、OpenSL ES、AAudio、Oboe 等名词,它们都与 Android 的音频播放息息相关。然而,真正理解它们之间的关系以及背后运行机制,才能写出高性能、低延迟的音…...

【教程】无视硬件限制强制升级Windows 11

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 1、下载升级工具:https://github.com/builtbybel/Flyby11/releases 2、解压后打开软件: 3、拖入win11.iso或者自动下载&#xf…...

ICPR-2025 | 让机器人在未知环境中 “听懂” 指令精准导航!VLTNet:基于视觉语言推理的零样本目标导航

作者:Congcong Wen, Yisiyuan Huang, Hao Huang ,Yanjia Huang, Shuaihang Yuan, YuHao, HuiLin and Yi Fang 单位:纽约大学阿布扎比分校具身人工智能与机器人实验室,纽约大学阿布扎比分校人工智能与机器人中心,纽约大学坦登工程…...

替代升级VMware | 云轴科技ZStack构建山西证券一云多芯云平台

通过云轴科技ZStack Cloud云平台,山西证券打造了敏捷部署、简单运维的云平台,不仅兼容x86、海光、鲲鹏三种异构服务器实现一云多芯,还通过云平台虚拟化纳管模块纳管原有VMware虚拟化资源,并对接第三方集中式存储,在保护…...

Houdini python code:参数指定文件路径

创建null节点并命名为control并增加filedir参数 创建python节点 node hou.pwd() geo node.geometry()node hou.node(/obj/output_tetgen/control) filedir node.parm(filedir).eval() print("filedir:",filedir)得到输出...

ChatGPT-o3辅助学术写作的关键词和引言效果如何?

目录 关键词 引言 论文引言(≈300 字) 大家好这里是AIWritePaper官方账号,官网👉AIWritePaper~ 关键词 摘要是文章的精华,通常在200-250词左右。要包括研究的目的、方法、结果和结论。让AI工具作为某领域内资深的研…...

树莓派5+Vosk+python实现语音识别

简介 Vosk是语音识别开源框架,支持二十种语言 - 中文,英语,印度英语,德语,法语,西班牙语,葡萄牙语,俄语,土耳其语,越南语,意大利语,荷…...

Selenium之 CSS 选择器详细讲解

Selenium之 CSS 选择器详细讲解 引言 在.Selenium.自动化测试中,元素定位是至关重要的一环。而.CSS.选择器作为一种强大且灵活的定位工具,在.Selenium.中得到了广泛的应用。本文将详细介绍.CSS.选择器的基本语法、常用类型以及如何在.Selenium.中高效地…...

【LeetCode】大厂面试算法真题回忆(61)--组装新的数组

题目描述 给你一个整数M和数组N,N中的元素为连续整数,要求根据N中的元素组装成新的数组R,组装规则: R中元素总和加起来等于M。R中的元素可以从N中重复选取。R中的元素最多只能有1个不在N中,且比N中的数字都要小(不能为负数)。请输出:数组R一共有多少组装办法。 输入描…...

基于用户的协同过滤推荐系统实战项目

文章目录 基于用户的协同过滤推荐系统实战项目1. 推荐系统基础理论1.1 协同过滤概述1.2 基于用户的协同过滤原理1.3 相似度计算方法1.3.1 余弦相似度(Cosine Similarity)1.3.2 皮尔逊相关系数(Pearson Correlation)1.3.3 欧几里得距离(Euclidean Distance)1.3.4 调整余弦相似度…...

浅析数据库面试问题

以下是关于数据库的一些常见面试问题: 一、基础问题 什么是数据库? 数据库是按照数据结构来组织、存储和管理数据的仓库。SQL 和 NoSQL 的区别是什么? SQL 是关系型数据库,使用表结构存储数据;NoSQL 是非关系型数据库,支持多种数据模型(如文档型、键值对型等)。什么是…...

【Python3】Django 学习之路

第一章:Django 简介 1.1 什么是 Django? Django 是一个高级的 Python Web 框架,旨在让 Web 开发变得更加快速和简便。它鼓励遵循“不要重复自己”(DRY,Don’t Repeat Yourself)的原则,并提供了…...

Java并发编程高频面试题(已整理Java面试宝典PDF完整版)

为什么要使用并发编程 提升多核CPU利用率:现代计算机通常配备多核CPU,通过创建多个线程,操作系统可以将不同线程分配到不同CPU核心上并行执行,从而充分利用硬件资源。若仅使用单线程,则只能利用一个CPU核心&#xff0c…...

第 4 期:DDPM中的损失函数——为什么只预测噪声?

—— 从变分下界到噪声预测 回顾:我们到底在做什么? 在第 3 期中,我们介绍了扩散模型的逆过程建模。简而言之,目标是通过神经网络学习从噪声 x_t​ 中恢复图像 x_0,并且我们通过预测噪声 ϵ来完成这个任务。 今天&a…...

Docker使用、容器迁移

Docker 简介 Docker 是一个开源的容器化平台,用于打包、部署和运行应用程序及其依赖环境。Docker 容器是轻量级的虚拟化单元,运行在宿主机操作系统上,通过隔离机制(如命名空间和控制组)确保应用运行环境的一致性和可移…...

专业热度低,25西电光电工程学院(考研录取情况)

1、光电工程学院各个方向 2、光电工程学院近三年复试分数线对比 学长、学姐分析 由表可看出: 1、光学工程25年相较于24年下降20分, 2、光电信息与工程(专硕)25年相较于24年上升15分 3、25vs24推免/统招人数对比 学长、学姐分析…...

六、LangChain Agent 最佳实践

1. 架构设计与组件选择 (1) 核心组件分层设计 Model(LLM驱动层) 生产环境推荐:使用 gpt-4-1106-preview 或 Anthropic Claude 3 等高性能模型,结合 model.with_fallbacks() 实现故障转移(如备用模型或本地模型)。本地部署:选择 Llama3-70B 等开源模型,搭配 Docker 或 …...

ubantu18.04(Hadoop3.1.3)之MapReduce编程

说明:本文图片较多,耐心等待加载。(建议用电脑) 注意所有打开的文件都要记得保存。 第一步:准备工作 本文是在之前Hadoop搭建完集群环境后继续进行的,因此需要读者完成我之前教程的所有操作。 第二步&…...

PoCL环境搭建

PoCL环境搭建 **一.关键功能与优势****二.设计目的****三.测试步骤**1.创建容器2.安装依赖3.编译安装pocl4.运行OpenCL测试程序 Portable Computing Language (PoCL) 简介 Portable Computing Language (PoCL) 是一个开源的、符合标准的异构计算框架,旨在为 OpenCL…...

关于hadoop和yarn的问题

1.hadoop的三大结构及各自的作用? HDFS(Hadoop Distributed File System):分布式文件系统,负责海量数据的存储,具有高容错性和高吞吐量。 MapReduce:分布式计算框架,用于并行处理大…...

软件工程中数据一致性的探讨

软件工程中数据一致性的探讨 引言数据一致性:软件工程中的业务正确性与性能的权衡数据一致性为何重要业务正确性:事务的原子性与一致性ACID原则的基石分布式事务的挑战一致性级别:从强一致到最终一致 实践中的一致性权衡金融系统:…...

在服务器上安装redis

1.安装所需插件gcc 查看gcc版本 gcc -v 没有安装的话,安装命令如下 yum -y install gcc 2.安装 下载安装包 https://download.redis.io/releases/ 将安装包上传到/opt/software目录下 解压安装包 cd /opt/software tar -zxvf redis-6.2.6.tar.gz 编译并安装redis到指…...

如何选择适合您的过程控制器?

在现代工业中,过程控制器是确保生产效率、质量和安全性的关键设备。它们可以精准监测温度、湿度等变量,优化制造流程,减少人工干预,从而降低错误率和运营成本。但您是否清楚,哪种过程控制器更适合您的企业?…...

C#/.NET/.NET Core拾遗补漏合集(25年4月更新)

前言 在这个快速发展的技术世界中,时常会有一些重要的知识点、信息或细节被忽略或遗漏。《C#/.NET/.NET Core拾遗补漏》专栏我们将探讨一些可能被忽略或遗漏的重要知识点、信息或细节,以帮助大家更全面地了解这些技术栈的特性和发展方向。 ✍C#/.NET/.N…...

闲来无事,用HTML+CSS+JS打造一个84键机械键盘模拟器

今天闲来无聊,突发奇想要用前端技术模拟一个机械键盘。说干就干,花了点时间搞出来了这么一个有模有样的84键机械键盘模拟器。来看看效果吧! 升级版的模拟器 屏幕录制 2025-04-18 155308 是不是挺像那么回事的?哈哈! 它…...

极狐GitLab 项目导入导出设置介绍?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 导入导出设置 (BASIC SELF) 导入和导出相关功能的设置。 配置允许的导入源 在从其他系统导入项目之前,必须为该…...

极狐GitLab 项目 API 的速率限制如何设置?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 项目 API 的速率限制 (BASIC SELF) 引入于 15.10 版本,功能标志为rate_limit_for_unauthenticated_projects_api_…...

electron 渲染进程按钮创建新window,报BrowserWindow is not a constructor错误;

在 Electron 中,有主进程和渲染进程 主进程:在Node.js环境中运行—意味着能够使用require模块并使用所有Node.js API 渲染进程:每个electron应用都会为每个打开的BrowserWindow(与每个网页嵌入)生成一个单独的渲染器进…...

【前沿】成像“跨界”测量——扫焦光场成像

01 背景 眼睛是人类认识世界的重要“窗口”,而相机作为眼睛的“延伸”,已经成为生产生活中最常见的工具之一,广泛应用于工业检测、医疗诊断与影音娱乐等领域。传统相机通常以“所见即所得”的方式记录场景,传感器捕捉到的二维图像…...

基于C++(MFC)图形编辑界面工具

MFC 图形编辑界面工具 一、背景 喔,五天的实训终于结束了,学校安排的这次实训课名称叫高级程序设计实训,但在我看来,主要是学习了 Visual C .NET 所提供的 MFC(Microsoft Foundation Class)库所提供的类及其功能函数…...

Linux网络通信核心机制解析与层级架构探秘

作为现代操作系统的神经网络,Linux网络通信系统通过多层协作架构实现高效的数据传输机制。本文将从模块化设计、报文处理路径、核心组件交互等多个维度,解析Linux网络通信系统的实现原理与优化策略,并结合内核源码示例与性能调优实践&#xf…...

Tensorflow实现用接口调用模型训练和停止训练功能

语言:Python 框架:Flask、Tensorflow 功能描述:存在两个接口,一个接口实现开始训练模型的功能,一个接口实现停止训练的功能。 实现:用一个全局变量存储在训练中的模型。 # 存储所有训练任务 training_task…...

HTTP测试智能化升级:动态变量管理实战与效能跃迁

在Web应用、API接口测试等领域,测试场景的动态性和复杂性对测试数据的灵活管理提出了极高要求。传统的静态测试数据难以满足多用户并发、参数化请求及响应内容验证等需求。例如,在电商系统性能测试中,若无法动态生成用户ID、订单号或实时提取…...

PyTorch 浮点数精度全景:从 float16/bfloat16 到 float64 及混合精度实战

PyTorch 在深度学习中提供了多种 IEEE 754 二进制浮点格式的支持,包括半精度(float16)、Brain‑float(bfloat16)、单精度(float32)和双精度(float64),并通过统…...

《软件设计师》复习笔记(14.2)——统一建模语言UML、事务关系图

目录 1. UML概述 2. UML构造块 (1) 事物(Things) (2) 关系(Relationships) 真题示例: 3. UML图分类 (1) 结构图(静态) (2) 行为图(动态) 4. 核心UML图详解 5.…...

基于C++(MFC)的细胞识别程序

基于 mfc 的细胞识别程序 一、图像处理课程设计目标 1.1 课题与技术指标 课题:利用图像处理技术设计细胞识别程序。 技术指标: 实验 VS2019 MFC 开发平台待识别图像为 24bit 的真彩色细胞图像进行处理要求识别出细胞,并且保证准确度情况下…...

【前端HTML生成二维码——MQ】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前端HTML生成二维码——MQ 前言本文将介绍前端HTML如何更具用户输入的内容生成对应的二维码,附页面代码、实现函数、js脚本。一、自定义显示页面1、效果图二、使用步骤1、引入库2、实现函数3、页面及函数代…...

Spring Boot自动配置原理深度解析:从条件注解到spring.factories

大家好!今天我们来深入探讨Spring Boot最神奇的特性之一——自动配置(Auto-configuration)。这个功能让Spring Boot如此受欢迎,因为它大大简化了我们的开发工作。让我们一起来揭开它的神秘面纱吧!👀 🌟 什么是自动配置…...

【unity实战】Animator启用root motion根运动动画,实现完美的动画动作匹配

文章目录 前言1、动画分类2、如何使用根位移动画? 一、根位移动画的具体使用1、导入人形模型2、导入动画3、配置动画参数4、配置角色Animator动画状态机5、使用代码控制人物前进后退 二、问题分析三、Humanoid动画中的Root Motion机制及相关配置1、Humanoid动画中的…...

(51单片机)LCD显示数据存储(DS1302时钟模块教学)(LCD1602教程)(独立按键教程)(延时函数教程)(I2C总线认识)(AT24C02认识)

目录 演示视频: 源代码 main.c LCD1602.c LCD1602.h AT24C02.c AT24C02.h Key.c Key.h I2C.c I2C.h Delay.c Delay.h 代码解析与教程: Dealy模块 LCD1602模块 Key模块 I2C总线模块 AT24C02模块 /E2PROM模块 main模块 演示视频: &…...

2d深度预测

Depth anything v1 相对深度估计,要用绝对深度估计需要微调 概要: 1 使用大量的未标注图像信息 2 采用优化策略—数据增强工具(作用在未标注图像) 3 进行辅助监督—继承语义分割知识(作用在未标注图像) 数据层面: …...

Android12 ServiceManager::addService源码解读

源码 Status ServiceManager::addService(const std::string& name, const sp<IBinder>& binder, bool allowIsolated, int32_t dumpPriority) {auto ctx mAccess->getCallingContext();// apps cannot add servicesif (multiuser_get_app_id(ctx.uid) >…...

【HDFS入门】HDFS性能调优实战:从基准测试到优化策略

目录 引言 1 HDFS性能评估体系 1.1 性能评估体系架构 1.2 基准测试工具对比 2 TestDFSIO基准测试实战 2.1 TestDFSIO工作原理 2.2 测试执行步骤 2.3 结果分析指标 3 TeraSort基准测试实战 3.1 TeraSort测试流程 3.2 测试执行命令 3.3 关键性能指标 4 HDFS性能调优…...

Linux 内核开发/测试工具对比 Windows 驱动验证工具 (Driver Verifier)

Windows 的 Driver Verifier 是一个用于测试和验证驱动程序的强大工具。在 Linux 内核开发中&#xff0c;虽然没有一个完全等价的单一工具&#xff0c;但有多种工具和框架可以提供类似或更专业的功能。 Linux 内核开发和测试工具 1. KASAN (Kernel Address Sanitizer) 功能&…...

通信算法之269 : OFDM信号的循环自相关特性用于无人机图传信号识别

OFDM信号的循环自相关特性是其循环平稳性的核心体现,如下: [相关仿真代码,联系,提供] 一、循环自相关特性来源 ‌循环前缀引入周期性‌ OFDM符号通过添加循环前缀(CP)形成符号周期结构,导致信号具有循环平稳性‌26。每个符号的CP与尾部数据重复,在时延等于FFT长度(N…...

【无人机】电子速度控制器 (ESC) 驱动电机,常见的电调协议,PWM协议,Oneshot协议,DShot协议

目录 1、ESCs & 电机 #1.1、ESC 协议 --ESC Protocols #1.1.1、PWM协议&#xff0c;需要校准 #1.1.2、One Shot 125协议&#xff0c;速率更快 #1.1.3、DShot &#xff0c;减少延迟&#xff0c;无需校准 #1.1.4、无人机CAN 2、PWM 伺服系统和 ESC&#xff08;电机控…...