浏览代码

增加deepseek

xueyiming 4 月之前
父节点
当前提交
3ad9fc3de9

+ 2 - 1
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/service/local/impl/KimiServiceImpl.java

@@ -5,6 +5,7 @@ import com.tzld.piaoquan.longarticle.dao.mapper.longarticle.LongArticlesTextMapp
 import com.tzld.piaoquan.longarticle.model.po.longarticle.LongArticlesText;
 import com.tzld.piaoquan.longarticle.model.po.longarticle.LongArticlesTextExample;
 import com.tzld.piaoquan.longarticle.service.local.KimiService;
+import com.tzld.piaoquan.longarticle.utils.other.DeepSeek;
 import com.tzld.piaoquan.longarticle.utils.other.OpenAIUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -46,7 +47,7 @@ public class KimiServiceImpl implements KimiService {
         if (longArticlesText.getKimiStatus() == 1) {
             return true;
         }
-        String kimiTitle = OpenAIUtils.getKimiTitle(longArticlesText.getArticleTitle());
+        String kimiTitle = DeepSeek.getTitle(longArticlesText.getArticleTitle());
         if (StringUtils.isEmpty(kimiTitle)) {
             return false;
         }

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

@@ -0,0 +1,68 @@
+package com.tzld.piaoquan.longarticle.utils.other;
+
+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 okhttp3.ConnectionPool;
+import okhttp3.Dispatcher;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+public class DeepSeek {
+
+    // 在类加载时就创建单例实例
+    private static final ArkService service;
+
+    static {
+        String apiKey = "5e275c38-44fd-415f-abcf-4b59f6377f72";
+        ConnectionPool connectionPool = new ConnectionPool(5, 5, TimeUnit.SECONDS);
+        Dispatcher dispatcher = new Dispatcher();
+        service = ArkService.builder()
+                .dispatcher(dispatcher)
+                .connectionPool(connectionPool)
+                .apiKey(apiKey)
+                .build();
+    }
+
+    // 私有构造函数,防止外部实例化
+    private 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" +
+                "        避免误导:确保标题准确反映内容,避免夸大或误导读者。";
+
+
+        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();
+
+        return (String) service.createChatCompletion(chatCompletionRequest).getChoices().get(0).getMessage().getContent();
+    }
+}

+ 6 - 0
pom.xml

@@ -215,6 +215,12 @@
         </dependency>
 
 
+        <dependency>
+            <groupId>com.volcengine</groupId>
+            <artifactId>volcengine-java-sdk-ark-runtime</artifactId>
+            <version>0.1.152</version>
+        </dependency>
+
 
     </dependencies>
 </project>