xueyiming 4 mesi fa
parent
commit
50b37aa650

+ 34 - 28
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/utils/other/DeepSeek.java

@@ -4,6 +4,7 @@ import com.volcengine.ark.runtime.model.completion.chat.ChatCompletionRequest;
 import com.volcengine.ark.runtime.model.completion.chat.ChatMessage;
 import com.volcengine.ark.runtime.model.completion.chat.ChatMessageRole;
 import com.volcengine.ark.runtime.service.ArkService;
+import lombok.extern.slf4j.Slf4j;
 import okhttp3.ConnectionPool;
 import okhttp3.Dispatcher;
 
@@ -11,6 +12,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 
+@Slf4j
 public class DeepSeek {
 
     // 在类加载时就创建单例实例
@@ -33,36 +35,40 @@ public class DeepSeek {
 
 
     public static String getTitle(String title) {
-        String single_title_prompt = "请将以上标题改写成适合小程序点击和传播的小程序标题,小程序标题的写作规范如下,请学习后进行小程序标题的编写。直接输出最终的小程序标题\n" +
-                "        小程序标题写作规范:\n" +
-                "        1.要点前置:将最重要的信息放在标题的最前面,以快速吸引读者的注意力。例如,“5月一辈子同学,三辈子亲,送给我的老同学,听哭无数人!”中的“5月”和“一辈子同学,三辈子亲”都是重要的信息点。\n" +
-                "        2.激发情绪:使用能够触动人心的语言,激发读者的情感共鸣。如“只剩两人同学聚会,看后感动落泪。”使用“感动落泪”激发读者的同情和怀旧情绪。\n" +
-                "        3.使用数字和特殊符号:数字可以提供具体性,而特殊符号如“\uD83D\uDD34”、“\uD83D\uDE04”、“\uD83D\uDD25”等可以吸引视觉注意力,增加点击率。\n" +
-                "        4.悬念和好奇心:创建悬念或提出问题,激发读者的好奇心。\n" +
-                "        5.名人效应:如果内容与知名人士相关,提及他们的名字可以增加标题的吸引力。\n" +
-                "        6.社会价值观:触及读者的文化和社会价值观,如家庭、友情、国家荣誉等。\n" +
-                "        7.标点符号的运用:使用感叹号、问号等标点来增强语气和情感表达。\n" +
-                "        8.直接的语言:使用直白、口语化的语言,易于理解,如“狗屁股,笑死我了!”。\n" +
-                "        9.热点人物或事件:提及当前的热点人物或事件,利用热点效应吸引读者。\n" +
-                "        10.字数适中:保持标题在10-20个字之间,既不过长也不过短,确保信息的完整性和吸引力。\n" +
-                "        11.情感或价值诉求:使用如“感动”、“泪目”、“经典”等词汇,直接与读者的情感或价值观产生共鸣。\n" +
-                "        避免误导:确保标题准确反映内容,避免夸大或误导读者。";
+        try {
+            String single_title_prompt = "请将以上标题改写成适合小程序点击和传播的小程序标题,小程序标题的写作规范如下,请学习后进行小程序标题的编写。直接输出最终的小程序标题\n" +
+                    "        小程序标题写作规范:\n" +
+                    "        1.要点前置:将最重要的信息放在标题的最前面,以快速吸引读者的注意力。例如,“5月一辈子同学,三辈子亲,送给我的老同学,听哭无数人!”中的“5月”和“一辈子同学,三辈子亲”都是重要的信息点。\n" +
+                    "        2.激发情绪:使用能够触动人心的语言,激发读者的情感共鸣。如“只剩两人同学聚会,看后感动落泪。”使用“感动落泪”激发读者的同情和怀旧情绪。\n" +
+                    "        3.使用数字和特殊符号:数字可以提供具体性,而特殊符号如“\uD83D\uDD34”、“\uD83D\uDE04”、“\uD83D\uDD25”等可以吸引视觉注意力,增加点击率。\n" +
+                    "        4.悬念和好奇心:创建悬念或提出问题,激发读者的好奇心。\n" +
+                    "        5.名人效应:如果内容与知名人士相关,提及他们的名字可以增加标题的吸引力。\n" +
+                    "        6.社会价值观:触及读者的文化和社会价值观,如家庭、友情、国家荣誉等。\n" +
+                    "        7.标点符号的运用:使用感叹号、问号等标点来增强语气和情感表达。\n" +
+                    "        8.直接的语言:使用直白、口语化的语言,易于理解,如“狗屁股,笑死我了!”。\n" +
+                    "        9.热点人物或事件:提及当前的热点人物或事件,利用热点效应吸引读者。\n" +
+                    "        10.字数适中:保持标题在10-20个字之间,既不过长也不过短,确保信息的完整性和吸引力。\n" +
+                    "        11.情感或价值诉求:使用如“感动”、“泪目”、“经典”等词汇,直接与读者的情感或价值观产生共鸣。\n" +
+                    "        避免误导:确保标题准确反映内容,避免夸大或误导读者。";
 
+            final List<ChatMessage> messages = new ArrayList<>();
+            final ChatMessage systemMessage = ChatMessage.builder()
+                    .role(ChatMessageRole.SYSTEM)
+                    .content("")
+                    .build();
+            final ChatMessage userMessage = ChatMessage.builder().role(ChatMessageRole.USER).content(title + "\n" + single_title_prompt).build();
+            messages.add(systemMessage);
+            messages.add(userMessage);
 
-        final List<ChatMessage> messages = new ArrayList<>();
-        final ChatMessage systemMessage = ChatMessage.builder()
-                .role(ChatMessageRole.SYSTEM)
-                .content("")
-                .build();
-        final ChatMessage userMessage = ChatMessage.builder().role(ChatMessageRole.USER).content(title + "\n" + single_title_prompt).build();
-        messages.add(systemMessage);
-        messages.add(userMessage);
-
-        ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest.builder()
-                .model("ep-20250213194558-rrmr2")
-                .messages(messages)
-                .build();
+            ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest.builder()
+                    .model("ep-20250213194558-rrmr2")
+                    .messages(messages)
+                    .build();
 
-        return (String) service.createChatCompletion(chatCompletionRequest).getChoices().get(0).getMessage().getContent();
+            return (String) service.createChatCompletion(chatCompletionRequest).getChoices().get(0).getMessage().getContent();
+        } catch (Exception e) {
+            log.error("DeepSeek getTitle error", e);
+        }
+        return "";
     }
 }