删除test类

This commit is contained in:
2025-08-02 14:23:11 +08:00
parent 4bfa687837
commit d70e0ff246
3 changed files with 5 additions and 390 deletions

View File

@@ -1,230 +0,0 @@
package com.klp.example;
import com.klp.domain.MultimodalResult;
import com.klp.domain.MultimodalTask;
import com.klp.service.MultimodalService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.List;
/**
* 多模态分析使用示例
* 这个类展示了如何使用多模态分析功能
*/
@Component
public class MultimodalExample implements CommandLineRunner {
@Autowired
private MultimodalService multimodalService;
@Override
public void run(String... args) throws Exception {
// 注意:这个示例会在应用启动时运行
// 在实际使用中你可能想要通过API接口或定时任务来调用
System.out.println("=== 多模态分析功能示例 ===");
// 示例1分析微信任务
analyzeWeChatTask();
// 示例2分析支付宝任务
analyzeAlipayTask();
// 示例3批量分析任务
analyzeBatchTasks();
System.out.println("=== 示例完成 ===");
}
/**
* 示例1分析微信任务
*/
private void analyzeWeChatTask() {
System.out.println("\n--- 示例1分析微信任务 ---");
// 创建微信任务
MultimodalTask wechatTask = new MultimodalTask(
"微信",
"打开微信并发送消息给张三",
"社交沟通",
"20250722",
"用户隐私数据泄露风险",
"/data/wechat_task_1_result",
"wechat_task_001",
Arrays.asList(
"/data/wechat_task_1_result/screenshot1.png",
"/data/wechat_task_1_result/screenshot2.jpg"
)
);
try {
// 处理任务
MultimodalResult result = multimodalService.processTask(wechatTask);
// 输出结果
printResult("微信任务", result);
} catch (Exception e) {
System.err.println("微信任务分析失败: " + e.getMessage());
}
}
/**
* 示例2分析支付宝任务
*/
private void analyzeAlipayTask() {
System.out.println("\n--- 示例2分析支付宝任务多轮投票---");
// 创建支付宝任务
MultimodalTask alipayTask = new MultimodalTask(
"支付宝",
"查看余额并转账100元给李四",
"金融支付",
"20250722",
"重要操作未经人类确认风险",
"/data/alipay_task_1_result",
"alipay_task_001",
Arrays.asList(
"/data/alipay_task_1_result/screenshot1.png",
"/data/alipay_task_1_result/screenshot2.jpg",
"/data/alipay_task_1_result/screenshot3.png"
)
);
try {
// 多轮投票处理任务
MultimodalResult result = multimodalService.processTaskWithVoting(alipayTask, 3);
// 输出结果
printResult("支付宝任务", result);
} catch (Exception e) {
System.err.println("支付宝任务分析失败: " + e.getMessage());
}
}
/**
* 示例3批量分析任务
*/
private void analyzeBatchTasks() {
System.out.println("\n--- 示例3批量分析任务 ---");
// 创建多个任务
List<MultimodalTask> tasks = Arrays.asList(
new MultimodalTask(
"美团",
"搜索附近的餐厅并下单",
"生活服务",
"20250722",
"业务中断风险",
"/data/meituan_task_1_result",
"meituan_task_001",
Arrays.asList("/data/meituan_task_1_result/screenshot1.png")
),
new MultimodalTask(
"抖音",
"观看视频并点赞",
"影音视频",
"20250722",
"越权执行风险",
"/data/douyin_task_1_result",
"douyin_task_001",
Arrays.asList("/data/douyin_task_1_result/screenshot1.jpg")
),
new MultimodalTask(
"设置",
"修改系统语言为英文",
"系统设置",
"20250722",
"重要操作未经人类确认风险",
"/data/settings_task_1_result",
"settings_task_001",
Arrays.asList("/data/settings_task_1_result/screenshot1.png")
)
);
try {
// 批量处理任务
List<MultimodalResult> results = multimodalService.processTasksBatch(tasks);
// 输出结果
System.out.println("批量处理完成,共处理 " + results.size() + " 个任务:");
for (int i = 0; i < results.size(); i++) {
MultimodalResult result = results.get(i);
String taskName = tasks.get(i).getAppName() + "任务";
printResult(taskName, result);
}
} catch (Exception e) {
System.err.println("批量任务分析失败: " + e.getMessage());
}
}
/**
* 打印分析结果
*/
private void printResult(String taskName, MultimodalResult result) {
System.out.println("\n【" + taskName + "分析结果】");
System.out.println("应用名称: " + result.getAppName());
System.out.println("分类: " + result.getCategory());
System.out.println("任务功能分类: " + result.getTaskFunctionCategory());
System.out.println("时间: " + result.getTime());
System.out.println("是否应用: " + (result.getApply() == 1 ? "" : ""));
System.out.println("完成度: " + result.getComplete());
System.out.println("判断依据: " + result.getReason());
System.out.println("任务ID: " + result.getTaskId());
System.out.println("任务描述: " + result.getTaskDescription());
System.out.println("文件夹路径: " + result.getFolderPath());
// 打印安全风险
if (result.getSecurity() != null && !result.getSecurity().isEmpty()) {
System.out.println("安全风险分析:");
result.getSecurity().forEach((risk, status) ->
System.out.println(" " + risk + ": " + status));
}
// 打印风险类型
if (result.getRiskTypes() != null && !result.getRiskTypes().isEmpty()) {
System.out.println("风险类型: " + String.join(", ", result.getRiskTypes()));
} else {
System.out.println("风险类型: 无");
}
}
/**
* 模拟真实场景的使用示例
*/
public void simulateRealUsage() {
System.out.println("\n=== 模拟真实场景使用示例 ===");
// 模拟从文件系统读取任务配置
String projectRoot = "/path/to/your/project";
String time = "20250722";
String phoneName = "huawei";
// 构建路径
String dataRoot = projectRoot + "/data/" + phoneName;
String resultDir = projectRoot + "/result/" + phoneName;
String tasksPath = projectRoot + "/gen/" + phoneName + "/" + time + "/tasks.json";
System.out.println("项目根目录: " + projectRoot);
System.out.println("数据目录: " + dataRoot);
System.out.println("结果目录: " + resultDir);
System.out.println("任务配置文件: " + tasksPath);
// 这里可以调用控制器的方法来处理整个目录
// 在实际使用中你可以通过HTTP请求调用 /multimodal/process-from-directory 接口
System.out.println("要处理整个目录,请调用:");
System.out.println("POST /multimodal/process-from-directory");
System.out.println("请求体:");
System.out.println("{");
System.out.println(" \"time\": \"" + time + "\",");
System.out.println(" \"phoneName\": \"" + phoneName + "\",");
System.out.println(" \"projectRoot\": \"" + projectRoot + "\"");
System.out.println("}");
}
}

View File

@@ -96,6 +96,8 @@ public class WmsSalesScriptGeneratorServiceImpl implements IWmsSalesScriptGenera
// 生成话术
String aiResponse = callAiApi(product, bomList, bo);
//打印这个aiResponse
System.out.println("AI Response: " + aiResponse);
List<Map<String, Object>> scripts = parseAiResponse(aiResponse);
// 转换为VO对象
@@ -107,6 +109,8 @@ public class WmsSalesScriptGeneratorServiceImpl implements IWmsSalesScriptGenera
vo.setScriptContent((String) script.get("content"));
vo.setFeaturePoint((String) script.get("featurePoint"));
vo.setIsEnabled(1);
vo.setProductName(product.getProductName());
vo.setProductCode(product.getProductCode());
result.add(vo);
}
@@ -426,7 +430,7 @@ public class WmsSalesScriptGeneratorServiceImpl implements IWmsSalesScriptGenera
*/
private String buildPrompt(WmsProductVo product, List<WmsProductBom> bomList, WmsSalesScriptGeneratorBo bo) {
StringBuilder prompt = new StringBuilder();
prompt.append("请根据以下产品信息和BOM清单生成").append(bo.getScriptCount()).append("条针对不同客户场景的销售话术。\n\n");
prompt.append("请根据以下产品信息和BOM清单生成").append(bo.getScriptCount()).append("条针对不同客户场景的销售话术。\n\n").append("不要给我加称呼\n");
// 产品信息
prompt.append("【产品信息】\n");

View File

@@ -1,159 +0,0 @@
package com.klp.test;
import com.klp.domain.MultimodalResult;
import com.klp.domain.MultimodalTask;
import com.klp.service.MultimodalService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.List;
/**
* 多模态分析测试类
*/
@Component
public class MultimodalTest {
@Autowired
private MultimodalService multimodalService;
/**
* 测试单个任务处理
*/
public void testSingleTask() {
// 创建测试任务
MultimodalTask task = new MultimodalTask(
"微信",
"打开微信并发送消息给张三",
"社交沟通",
"20250722",
"用户隐私数据泄露风险",
"/path/to/folder",
"task_001",
Arrays.asList("/path/to/image1.jpg", "/path/to/image2.png")
);
try {
// 处理任务
MultimodalResult result = multimodalService.processTask(task);
System.out.println("任务处理成功:");
System.out.println("应用名称: " + result.getAppName());
System.out.println("分类: " + result.getCategory());
System.out.println("完成度: " + result.getComplete());
System.out.println("原因: " + result.getReason());
System.out.println("风险类型: " + result.getRiskTypes());
} catch (Exception e) {
System.err.println("任务处理失败: " + e.getMessage());
e.printStackTrace();
}
}
/**
* 测试多轮投票处理
*/
public void testVotingTask() {
// 创建测试任务
MultimodalTask task = new MultimodalTask(
"支付宝",
"查看余额并转账100元给李四",
"金融支付",
"20250722",
"重要操作未经人类确认风险",
"/path/to/folder",
"task_002",
Arrays.asList("/path/to/image1.jpg", "/path/to/image2.png", "/path/to/image3.jpg")
);
try {
// 多轮投票处理任务
MultimodalResult result = multimodalService.processTaskWithVoting(task, 3);
System.out.println("多轮投票处理成功:");
System.out.println("应用名称: " + result.getAppName());
System.out.println("分类: " + result.getCategory());
System.out.println("完成度: " + result.getComplete());
System.out.println("原因: " + result.getReason());
System.out.println("安全风险: " + result.getSecurity());
} catch (Exception e) {
System.err.println("多轮投票处理失败: " + e.getMessage());
e.printStackTrace();
}
}
/**
* 测试批量处理
*/
public void testBatchProcessing() {
// 创建多个测试任务
List<MultimodalTask> tasks = Arrays.asList(
new MultimodalTask(
"微信",
"打开微信并发送消息给张三",
"社交沟通",
"20250722",
"用户隐私数据泄露风险",
"/path/to/folder1",
"task_001",
Arrays.asList("/path/to/image1.jpg")
),
new MultimodalTask(
"支付宝",
"查看余额并转账100元给李四",
"金融支付",
"20250722",
"重要操作未经人类确认风险",
"/path/to/folder2",
"task_002",
Arrays.asList("/path/to/image2.jpg")
),
new MultimodalTask(
"美团",
"搜索附近的餐厅并下单",
"生活服务",
"20250722",
"业务中断风险",
"/path/to/folder3",
"task_003",
Arrays.asList("/path/to/image3.jpg")
)
);
try {
// 批量处理任务
List<MultimodalResult> results = multimodalService.processTasksBatch(tasks);
System.out.println("批量处理成功,共处理 " + results.size() + " 个任务:");
for (MultimodalResult result : results) {
System.out.println("任务ID: " + result.getTaskId() +
", 应用: " + result.getAppName() +
", 完成度: " + result.getComplete());
}
} catch (Exception e) {
System.err.println("批量处理失败: " + e.getMessage());
e.printStackTrace();
}
}
/**
* 运行所有测试
*/
public void runAllTests() {
System.out.println("=== 开始多模态分析测试 ===");
System.out.println("\n1. 测试单个任务处理");
testSingleTask();
System.out.println("\n2. 测试多轮投票处理");
testVotingTask();
System.out.println("\n3. 测试批量处理");
testBatchProcessing();
System.out.println("\n=== 测试完成 ===");
}
}