From 5db7759db3fa6792155d72139f9d5d9e56eb3436 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 23 七月 2026 17:05:15 +0800
Subject: [PATCH] 【丽水】回写语言判断 增加AI识别
---
smartor/src/main/java/com/smartor/common/DeepSeekApi.java | 34 ++++++++++++++++++++++++++++++++--
1 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/common/DeepSeekApi.java b/smartor/src/main/java/com/smartor/common/DeepSeekApi.java
index 6f20955..aafd84f 100644
--- a/smartor/src/main/java/com/smartor/common/DeepSeekApi.java
+++ b/smartor/src/main/java/com/smartor/common/DeepSeekApi.java
@@ -19,8 +19,9 @@
public static void main(String[] args) {
String questionText = "鎮ㄥソ,璇烽棶鎮ㄦ槸鎮h�呮湰浜鸿繕鏄灞烇紵\n";
String voiceText = "鎴戣嚜宸�";
- List<String> options = new ArrayList<>(Arrays.asList("鏈汉","浜插睘","鍏朵粬"));
- Integer resp = matchOptionIndex(questionText, voiceText, options);
+// List<String> options = new ArrayList<>(Arrays.asList("鏈汉","浜插睘","鍏朵粬"));
+ String optionText = "浜插睘";
+ Integer resp = matchQuestionAnswer(questionText, voiceText, optionText);
System.out.println("DeepSeek杩斿洖缁撴灉锛歕n" + resp);
}
@@ -120,6 +121,35 @@
}
/**
+ * 鍒ゆ柇璇煶鏂囨湰鏈�鎺ヨ繎鍝釜閫夐」锛岃繑鍥為�夐」鍦ㄥ垪琛ㄤ腑鐨勪笅鏍囥��
+ *
+ * @param questionText 璇煶璇嗗埆寰楀埌鐨勬枃鏈�
+ * @param answerText 绛旀鏂囨湰
+ * @param optionText 閫夐」鏂囨湰
+ * @return 鍛戒腑閫夐」鐨勪笅鏍囷紙浠� 0 寮�濮嬶級锛涙棤娉曞尮閰嶄换涓�閫夐」鏃惰繑鍥� {@code -1}
+ */
+ public static int matchQuestionAnswer(String questionText, String answerText, String optionText) {
+ if (StringUtils.isBlank(questionText) || StringUtils.isBlank(answerText) || StringUtils.isBlank(optionText)) {
+ return -1;
+ }
+
+ String systemPrompt = "\"浣犳槸涓�涓笓涓氱殑璇煶璇嗗埆鏂囨湰璇箟鍖归厤鍔╂墜銆備綘鐨勪换鍔℃槸鍒ゆ柇鐢ㄦ埛鐨勮闊虫枃鏈湪璇箟涓婃渶绗﹀悎鐨勯�夐」銆傜敤鎴蜂細缁欏嚭涓�娈佃闊宠瘑鍒枃鏈拰閫夐」鏂囨湰锛�"
+ + "璇峰垽鏂繖娈垫枃鏈湪璇箟涓婃槸鍚﹀尮閰嶉�夐」, 鍖归厤鍒欒緭鍑� 1锛屾病鏈夊尮閰嶅垯杈撳嚭 0, 鍙厑璁歌緭鍑�1鎴栬��0锛�"
+ + "涓嶈鍋氫换浣曡В閲娿�傜洿鎺ヨ緭鍑烘渶鍖归厤閫夐」鐨勭紪鍙锋暟瀛楋紱鑻ユ病鏈変换浣曢�夐」涓庢枃鏈浉鍏筹紝鍒欒緭鍑� 0銆�";
+ String userPrompt = "璇锋牴鎹互涓嬩俊鎭繘琛岃涔夊尮閰嶅垽鏂細\n" +
+ "- 闂鏂囨湰锛�" + questionText + "\n\n"
+ + "- 璇█璇嗗埆鏂囨湰锛�" + answerText + "\n\n"
+ + "- 閫夐」鏂囨湰锛�" + optionText + "\n\n"
+ + "\n璇峰彧杈撳嚭涓�涓暟瀛楋紙鍖归厤鍒欒緭鍑� 1锛屾病鏈夊尮閰嶅垯杈撳嚭 0,鍙厑璁歌緭鍑�1鎴栬��0锛夈��";
+
+ String content = chatCompletion(systemPrompt, userPrompt);
+ if (StringUtils.isBlank(content)) {
+ return -1;
+ }
+ return extractFirstNumber(content);
+ }
+
+ /**
* 浠庢ā鍨嬪洖澶嶄腑鎻愬彇绗竴涓暣鏁般�傛ā鍨嬪伓灏斾細鍥炲 鈥滈�夐」2鈥� 鈥�2銆傗�� 涔嬬被锛屽仛涓�娆″厹搴曡В鏋愩��
*/
private static Integer extractFirstNumber(String text) {
--
Gitblit v1.9.3