Forráskód Böngészése

use another model

fengchang 1 éve
szülő
commit
aaa5cc5259

+ 1 - 0
hichina-admin-backend/build.gradle

@@ -50,6 +50,7 @@ dependencies {
 	implementation 'com.theokanning.openai-gpt3-java:api:0.12.0'
 	// https://mvnrepository.com/artifact/com.theokanning.openai-gpt3-java/client
 	implementation 'com.theokanning.openai-gpt3-java:client:0.12.0'
+	implementation 'com.lilittlecat:chatgpt:1.0.2'
 }
 
 tasks.named('test') {

+ 1 - 1
hichina-admin-backend/src/main/java/com/hichina/admin/hichinaadminbackend/controller/DestinationController.java

@@ -52,7 +52,7 @@ public class DestinationController {
             throw new RuntimeException("Nothing to update");
         }
         Destination toUpdate = destinations.get(0);
-        String generatedDescription = hichinaOpenAiService.generateShortDescription(toUpdate.getDestinationName());
+        String generatedDescription = hichinaOpenAiService.generateShortDescriptionV2(toUpdate.getDestinationName());
         toUpdate.setDescription(generatedDescription);
         destinationMapper.update(toUpdate);
         ret.setOk(true);

+ 12 - 1
hichina-admin-backend/src/main/java/com/hichina/admin/hichinaadminbackend/service/HichinaOpenAiService.java

@@ -1,5 +1,6 @@
 package com.hichina.admin.hichinaadminbackend.service;
 
+import com.lilittlecat.chatgpt.offical.ChatGPT;
 import com.theokanning.openai.OpenAiService;
 import com.theokanning.openai.completion.CompletionChoice;
 import com.theokanning.openai.completion.CompletionRequest;
@@ -10,6 +11,8 @@ import org.springframework.stereotype.Service;
 
 import java.util.List;
 
+import static java.time.Duration.ofSeconds;
+
 @Service
 public class HichinaOpenAiService {
     private static final Logger LOG = LoggerFactory.getLogger(HichinaOpenAiService.class);
@@ -19,18 +22,26 @@ public class HichinaOpenAiService {
 
     private OpenAiService service;
 
+    private ChatGPT chatGPT;
+
     @Value("${openai.token}")
     public void setNameStatic(String tokenAndTimeout){
         String[] args = tokenAndTimeout.split(",");
         // key trick: the timeout here is very important
         LOG.info(String.format("===init openai args: %s, %s",args[0],args[1]));
-        service = new OpenAiService(args[0], Integer.parseInt(args[1]));
+        service = new OpenAiService(args[0], ofSeconds(Integer.parseInt(args[1])));
+
+        chatGPT = new ChatGPT(args[0]);
     }
 
     private String generateDescriptionRequest(String destinationName){
         return String.format("Please give me a travel introduction of %s in 50 words in English", destinationName);
     }
 
+    public String generateShortDescriptionV2(String destinationName){
+        String ret = chatGPT.ask(generateDescriptionRequest(destinationName));
+        return ret;
+    }
     public String generateShortDescription(String destinationName){
         CompletionRequest completionRequest = CompletionRequest.builder()
                 .model(model).topP(1.0).temperature(0.0).maxTokens(100)