Browse Source

core-ai add chatEndpoint api

deason 1 month ago
parent
commit
99f515b8ac

+ 15 - 0
core-ai/src/main/java/com/qmth/boot/core/ai/client/LlmApiClient.java

@@ -3,6 +3,7 @@ package com.qmth.boot.core.ai.client;
 import com.qmth.boot.core.ai.config.LlmApiConfiguration;
 import com.qmth.boot.core.ai.model.AiConstants;
 import com.qmth.boot.core.ai.model.llm.*;
+import com.qmth.boot.core.ai.model.llm.endpoint.ChatEndpoint;
 import com.qmth.boot.core.retrofit.annotatioin.RetrofitClient;
 import com.qmth.boot.core.retrofit.utils.SignatureInfo;
 import retrofit2.http.Body;
@@ -16,6 +17,20 @@ import retrofit2.http.Tag;
 @RetrofitClient(configuration = LlmApiConfiguration.class)
 public interface LlmApiClient {
 
+    /**
+     * 构建大模型chat类型请求信息
+     *
+     * @param baseUrl   接口前缀地址,默认取配置文件的值(选填)
+     * @param signature 使用机构AK构造Secret类型签名
+     * @param type      大模型应用类型
+     * @param param     模版变量
+     * @return
+     */
+    @POST(AiConstants.LLM_CHAT_ENDPOINT_PATH)
+    ChatEndpoint chatEndpoint(@Header(AiConstants.BASE_URL) String baseUrl, @Tag SignatureInfo signature,
+                              @Header(AiConstants.LLM_APP_TYPE) LlmAppType type,
+                              @Body Object param);
+
     /**
      * 大模型chat类型请求
      *

+ 2 - 0
core-ai/src/main/java/com/qmth/boot/core/ai/model/AiConstants.java

@@ -10,6 +10,8 @@ public interface AiConstants {
 
     String LLM_BALANCE_PATH = API_PREFIX + "/llm/balance";
 
+    String LLM_CHAT_ENDPOINT_PATH = API_PREFIX + "/llm/chat_endpoint";
+
     String LLM_CHAT_PATH = API_PREFIX + "/llm/chat";
 
     String LLM_CHAT_TEMPLATE_PATH = API_PREFIX + "/llm/chat_template";

+ 21 - 0
core-ai/src/main/java/com/qmth/boot/core/ai/model/llm/ChatRequest.java

@@ -10,6 +10,10 @@ public class ChatRequest {
 
     private List<ChatMessage> messages;
 
+    private String model;
+
+    private Boolean stream;
+
     public ChatRequest() {
         this.messages = new LinkedList<>();
     }
@@ -28,4 +32,21 @@ public class ChatRequest {
     public void setMessages(List<ChatMessage> messages) {
         this.messages = messages;
     }
+
+    public String getModel() {
+        return model;
+    }
+
+    public void setModel(String model) {
+        this.model = model;
+    }
+
+    public Boolean isStream() {
+        return stream;
+    }
+
+    public void setStream(Boolean stream) {
+        this.stream = stream;
+    }
+
 }