old-backup

// 调用 OpenRouter API 发送请求
// const response = await fetch("https://openrouter.ai/api/v1/chat/completions", {
// method: "POST",
// headers: {
// "Authorization": "Bearer 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", // 请替换为实际 API 密钥
// },
// body: JSON.stringify({
// "model": "google/gemini-2.0-flash-thinking-exp:free",
// "messages": [
// {
// "role": "user",
// "content": [
// { "type": "text", "text": prompt }
// //{ "type": "image_url", "image_url": { "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg" } }
// ]
// }
// ]
// })
// });

prompt

//prompt-v2
// const prompt = `
// 当前系统状态:
// [实时监控]
// - CPU利用率 = ${systemLoad.cpuUsage}% (${systemLoad.cpuCores}核)
// - GPU利用率 = ${systemLoad.gpus}% (${systemLoad.gpuModels.join(',')})
// - 内存占用 = ${systemLoad.memoryUsage}% (${systemLoad.totalMemory}GB)
// - 存储空间 = ${systemLoad.storageSpace}GB (类型:${systemLoad.storageType})
// - 任务队列深度 = ${systemLoad.queueLength}

// 请按以下逻辑处理用户需求:${message}

// ### 第一阶段:需求解析
// 1. **任务建模**
// - 复杂度分析:根据"${message}"识别计算类型(CPU密集型/GPU加速型/IO密集型)
// - 历史模式匹配:对比相似任务的资源消耗模式(如${historicalTasks})

// 2. **资源预测**
// - 基础需求:估算CPU核数/GPU显存/内存基线(公式:同类任务均值×1.2安全系数)
// - 动态调整:叠加峰值负载预测(基于${peakPredictionMethod}算法)和运行时长权重

// ### 第二阶段:可行性评估
// [实时检查]
// 3. **冲突检测**
// - 硬性约束:当前空闲资源是否满足最低要求(CPU需预留${systemLoad.cpuReserve}%系统开销)
// - 软性约束:队列等待时间预估(当前队列需${systemLoad.avgTaskTime}分钟清空)

// 4. **多维优化**
// - 成本维度:对比按需实例 vs 预留实例的单位成本($$/小时)
// - 效率维度:计算资源碎片化造成的性能损失(如跨NUMA节点内存访问)

// ### 第三阶段:建议生成
// 5. **方案输出**
// - 主推方案:${recommendationAlgorithm}算法生成的资源配置(示例:4vCPU+RTX6000+32GB内存)
// - 备选方案:
// a. 降级模式:减少并发数至${systemLoad.safeConcurrency}以匹配当前资源
// b. 延迟执行:等待${systemLoad.estimatedIdleTime}小时后可用目标资源
// c. 混合部署:拆分任务到本地集群+云服务(成本增加${costIncreaseRatio}%)

// 6. **风险提示**
// - 关键瓶颈:识别${bottleneckDetection}确定的限制因素(如存储IOPS不足)
// - 回退策略:当内存超用时自动触发${fallbackPolicy}机制

// ### 交互规范
// - 使用「技术结论 → 白话解释 → 可选操作」的三段式表达
// - 主动询问扩展需求:"是否需要查看历史任务的详细资源曲线?"
// - 紧急级别标识:当预测资源缺口>30%时显示⚠️
// `;

// 下一步操作是找接口或者知识库来获取历史任务数据
//历史任务数据:过去相似任务的CPU需求=4核,GPU需求=2块,内存需求=16GB,存储需求=200GB
// async function updateSystemLoad() {
// try {
// const response = await fetch("http://192.168.85.80:5000/full_status");
// if (!response.ok) {
// throw new Error(`HTTP error! Status: ${response.status}`);
// }
// const data = await response.json();
// console.log("API response:", data);
// // 计算所有 GPU 总使用率
// let totalGpuUsage = 0;
// let gpuDetails = {};
// data.gpu.forEach((gpu, index) => {
// totalGpuUsage += gpu.utilization_gpu;
// gpuDetails[`GPU${index + 1}`] = {
// name: gpu.name,
// utilization: gpu.utilization_gpu,
// temperature: gpu.temperature,
// memory_total: gpu.memory_total,
// memory_used: gpu.memory_used,
// memory_free: gpu.memory_free
// };
// });
// systemLoad = {
// cpuUsage: data.cpu.usage_percent, // CPU 使用率
// memoryUsage: data.memory.percent, // 内存使用率
// storageSpace: data.disk.percent, // 磁盘占用率
// cpuCores: data.cpu.cores, // CPU 核心数
// cpuThreads: data.cpu.threads, // CPU 线程数
// memoryTotal: data.memory.total, // 总内存
// memoryFree: data.memory.free, // 空闲内存
// diskTotal: data.disk.total, // 总磁盘空间
// diskFree: data.disk.free, // 剩余磁盘空间
// networkBytesSent: data.network.bytes_sent, // 网络发送字节
// networkBytesRecv: data.network.bytes_recv, // 网络接收字节
// totalGpuUsage: totalGpuUsage / data.gpu.length, // 计算所有 GPU 平均使用率
// gpus: gpuDetails // 详细的 GPU 信息
// };
// console.log("Updated System Load:", systemLoad);
// } catch (error) {
// console.error("Failed to fetch system status:", error);
// return null;
// }
// }
// // 每 5 秒更新一次系统状态
// setInterval(updateSystemLoad, 5000);
// updateSystemLoad(); // 页面加载时立即执行一次
// const systemLoad = {
// cpuUsage: 70,
// gpuUsage: 60,
// memoryUsage: 50,
// storageSpace: 500,
// };

//目前是写死的,后续要根据实际情况获取 done
// 需要对接曙光的接口 未完成
// 构建 Prompt 数据
// const prompt = `
// 用户需求:${message}
// 当前系统负载:CPU使用率=${systemLoad.cpuUsage}%,GPU使用率=${systemLoad.gpus}%,内存使用率=${systemLoad.memoryUsage}%,存储空间=${systemLoad.storageSpace}GB
// 首先在回复我对话的最开始列举出当前的系统负载情况,然后根据这些信息评估资源需求并给出建议使用的:CPU、GPU、内存、存储空间,所有回复默认使用中文
// `;
// 用户输入拼接到prompt-v1
// prompt = `
// 当前系统状态:
// - CPU使用率 = ${systemLoad.cpuUsage}%
// - GPU使用率 = ${systemLoad.totalGpuUsage}%
// - 内存使用率 = ${systemLoad.memoryUsage}%
// - 存储空间 = ${systemLoad.diskUsage}GB
// 请基于以下两部分要求生成资源建议:

// 【1. 智能评估系统】
// - 任务复杂度分析:评估用户任务的复杂性。
// - CPU/GPU需求评估:判断任务对计算资源(包括 CPU 和 GPU)的需求。
// - 内存占用预测:预测任务可能占用的内存资源。
// - 存储空间估算:评估任务执行过程中所需的存储空间。
// - 历史数据分析:结合历史数据判断类似任务的资源消耗模式。
// - 相似任务资源使用模式:参考之前相似任务的资源使用情况。
// - 峰值负载预测:预估任务执行时可能的峰值负载。
// - 运行时长估算:预测任务执行的持续时间。

// 【2. 建议生成机制】
// - 实时资源可用性检查:检查当前系统是否有足够的资源支持任务。
// - 多维度优化算法:基于多项指标对资源配置进行优化。
// - 成本效益优化:分析资源投入与任务效益,提出降本建议。
// - 任务优先级考虑:考虑任务的重要性与紧急程度。
// - 队列等待时间预估:预估任务在资源队列中的等待时间。
// - 备选方案生成:提供多种资源配置方案供用户选择。

// 请先对系统状态和任务需求进行总结,再结合以上评估与建议机制生成详细的资源建议报告。技术术语请附带白话解释,回复应以自然对话形式表达,并主动询问用户是否需要进一步的帮助(例如“是否需要具体的监控命令?”)。

// 所有回答均使用中文。
// `;
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.