From 41e585324d6682cc3dea85cfb38796a3787e827b Mon Sep 17 00:00:00 2001
From: lexluo09 <39718951+lexluo09@users.noreply.github.com>
Date: Mon, 27 Nov 2023 17:40:10 +0800
Subject: [PATCH] [improvement](chat) remove Python service and rewrite it
using a Java project (#428)
---
chat/core/pom.xml | 13 ---
.../chat/llm/EmbedLLMInterpreter.java | 84 -------------------
.../llm/listener/EmbeddingInitListener.java | 43 ----------
.../prompt/FunctionCallPromptGenerator.java | 43 ----------
.../chat/llm/prompt/InputFormat.java | 43 ----------
.../chat/llm/prompt/OutputFormat.java | 54 ------------
.../chat/llm/prompt/SqlExample.java | 32 -------
.../chat/llm/prompt/SqlExampleLoader.java | 50 -----------
.../chat/llm/prompt/SqlPromptGenerator.java | 66 ---------------
.../llm/vectordb/EmbeddingStoreFactory.java | 20 -----
.../llm/vectordb/EmbeddingStoreOperator.java | 55 ------------
.../{llm => parser}/HttpLLMInterpreter.java | 6 +-
.../chat/{llm => parser}/LLMInterpreter.java | 2 +-
.../parser/llm/s2sql/LLMRequestService.java | 2 +-
.../embedding/EmbeddingBasedParser.java | 4 +-
.../plugin/function/FunctionBasedParser.java | 4 +-
.../chat/utils/ComponentFactory.java | 2 +-
.../main/resources/META-INF/spring.factories | 4 +-
launchers/standalone/pom.xml | 10 ---
.../supersonic/config/LangChain4jConfig.java | 15 ----
.../main/resources/META-INF/spring.factories | 8 +-
.../src/main/resources/application-local.yaml | 17 +---
pom.xml | 52 ------------
23 files changed, 16 insertions(+), 613 deletions(-)
delete mode 100644 chat/core/src/main/java/com/tencent/supersonic/chat/llm/EmbedLLMInterpreter.java
delete mode 100644 chat/core/src/main/java/com/tencent/supersonic/chat/llm/listener/EmbeddingInitListener.java
delete mode 100644 chat/core/src/main/java/com/tencent/supersonic/chat/llm/prompt/FunctionCallPromptGenerator.java
delete mode 100644 chat/core/src/main/java/com/tencent/supersonic/chat/llm/prompt/InputFormat.java
delete mode 100644 chat/core/src/main/java/com/tencent/supersonic/chat/llm/prompt/OutputFormat.java
delete mode 100644 chat/core/src/main/java/com/tencent/supersonic/chat/llm/prompt/SqlExample.java
delete mode 100644 chat/core/src/main/java/com/tencent/supersonic/chat/llm/prompt/SqlExampleLoader.java
delete mode 100644 chat/core/src/main/java/com/tencent/supersonic/chat/llm/prompt/SqlPromptGenerator.java
delete mode 100644 chat/core/src/main/java/com/tencent/supersonic/chat/llm/vectordb/EmbeddingStoreFactory.java
delete mode 100644 chat/core/src/main/java/com/tencent/supersonic/chat/llm/vectordb/EmbeddingStoreOperator.java
rename chat/core/src/main/java/com/tencent/supersonic/chat/{llm => parser}/HttpLLMInterpreter.java (98%)
rename chat/core/src/main/java/com/tencent/supersonic/chat/{llm => parser}/LLMInterpreter.java (91%)
delete mode 100644 launchers/standalone/src/main/java/com/tencent/supersonic/config/LangChain4jConfig.java
diff --git a/chat/core/pom.xml b/chat/core/pom.xml
index e42d719fc..42cc3a8ad 100644
--- a/chat/core/pom.xml
+++ b/chat/core/pom.xml
@@ -116,19 +116,6 @@
${mockito-inline.version}
test
-
-
- dev.langchain4j
- langchain4j-open-ai
-
-
- dev.langchain4j
- langchain4j
-
-
- dev.langchain4j
- langchain4j-chroma
-
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/llm/EmbedLLMInterpreter.java b/chat/core/src/main/java/com/tencent/supersonic/chat/llm/EmbedLLMInterpreter.java
deleted file mode 100644
index 19236c6a1..000000000
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/llm/EmbedLLMInterpreter.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package com.tencent.supersonic.chat.llm;
-
-import com.tencent.supersonic.chat.config.OptimizationConfig;
-import com.tencent.supersonic.chat.llm.prompt.FunctionCallPromptGenerator;
-import com.tencent.supersonic.chat.llm.prompt.OutputFormat;
-import com.tencent.supersonic.chat.llm.prompt.SqlExampleLoader;
-import com.tencent.supersonic.chat.llm.prompt.SqlPromptGenerator;
-import com.tencent.supersonic.chat.parser.plugin.function.FunctionReq;
-import com.tencent.supersonic.chat.parser.plugin.function.FunctionResp;
-import com.tencent.supersonic.chat.query.llm.s2sql.LLMReq;
-import com.tencent.supersonic.chat.query.llm.s2sql.LLMReq.ElementValue;
-import com.tencent.supersonic.chat.query.llm.s2sql.LLMResp;
-import com.tencent.supersonic.common.util.ContextUtils;
-import com.tencent.supersonic.common.util.JsonUtil;
-import dev.langchain4j.data.message.AiMessage;
-import dev.langchain4j.model.chat.ChatLanguageModel;
-import dev.langchain4j.model.input.Prompt;
-import dev.langchain4j.model.input.PromptTemplate;
-import dev.langchain4j.model.output.Response;
-import lombok.extern.slf4j.Slf4j;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Slf4j
-public class EmbedLLMInterpreter implements LLMInterpreter {
-
- public LLMResp query2sql(LLMReq llmReq, String modelClusterKey) {
-
- ChatLanguageModel chatLanguageModel = ContextUtils.getBean(ChatLanguageModel.class);
-
- SqlExampleLoader sqlExampleLoader = ContextUtils.getBean(SqlExampleLoader.class);
-
- OptimizationConfig config = ContextUtils.getBean(OptimizationConfig.class);
-
- List