diff --git a/deploy/docker/docker-compose-middleware.yaml b/deploy/docker/docker-compose-middleware.yaml index 5b878c99ff..076294a474 100644 --- a/deploy/docker/docker-compose-middleware.yaml +++ b/deploy/docker/docker-compose-middleware.yaml @@ -28,6 +28,33 @@ services: interval: 10s timeout: 5s retries: 5 + + # ActiveMQ Artemis 消息队列 + # http://localhost:18161/console,使用 admin/admin 作为登录凭据 + bytedesk-artemis: + image: apache/activemq-artemis:latest + container_name: artemis-bytedesk + environment: + - ARTEMIS_USER=admin + - ARTEMIS_PASSWORD=admin + - ANONYMOUS_LOGIN=false + - EXTRA_ARGS=--http-host 0.0.0.0 --relax-jolokia + ports: + - "16161:61616" # JMS + - "16162:61617" # AMQP + - "18161:8161" # Web Console + - "15672:5672" # AMQP + - "16163:61613" # STOMP + - "11883:1883" # MQTT + volumes: + - artemis_data:/var/lib/artemis/data + networks: + - bytedesk-network + healthcheck: + test: ["CMD", "curl", "--fail", "-u", "admin:admin", "http://localhost:8161/console/jolokia/"] + interval: 30s + timeout: 10s + retries: 5 bytedesk-ollama: image: ollama/ollama:latest @@ -84,6 +111,8 @@ volumes: name: bytedesk_ollama_models elasticsearch_data: name: bytedesk_elasticsearch_data + artemis_data: + name: bytedesk_artemis_data networks: bytedesk-network: diff --git a/deploy/docker/docker-compose-ollama.yaml b/deploy/docker/docker-compose-ollama.yaml index b9fa48715c..d89c4c8995 100644 --- a/deploy/docker/docker-compose-ollama.yaml +++ b/deploy/docker/docker-compose-ollama.yaml @@ -33,6 +33,33 @@ services: # interval: 10s # timeout: 5s # retries: 5 + + # ActiveMQ Artemis 消息队列 + # http://localhost:18161/console,使用 admin/admin 作为登录凭据 + bytedesk-artemis: + image: apache/activemq-artemis:latest + container_name: artemis-bytedesk + environment: + - ARTEMIS_USER=admin + - ARTEMIS_PASSWORD=admin + - ANONYMOUS_LOGIN=false + - EXTRA_ARGS=--http-host 0.0.0.0 --relax-jolokia + ports: + - "16161:61616" # JMS + - "16162:61617" # AMQP + - "18161:8161" # Web Console + - "15672:5672" # AMQP + - "16163:61613" # STOMP + - "11883:1883" # MQTT + volumes: + - artemis_data:/var/lib/artemis/data + networks: + - bytedesk-network + healthcheck: + test: ["CMD", "curl", "--fail", "-u", "admin:admin", "http://localhost:8161/console/jolokia/"] + interval: 30s + timeout: 10s + retries: 5 bytedesk-ollama: image: ollama/ollama:latest @@ -91,6 +118,7 @@ services: - bytedesk-redis - bytedesk-ollama - bytedesk-elasticsearch + - bytedesk-artemis # bytedesk-mysql: # condition: service_healthy # bytedesk-redis: @@ -99,6 +127,8 @@ services: # condition: service_healthy # bytedesk-elasticsearch: # condition: service_healthy + # bytedesk-artemis: + # condition: service_healthy environment: SERVER_PORT: 9003 # bytedesk config @@ -352,6 +382,8 @@ volumes: name: bytedesk_upload_data ollama_models: name: bytedesk_ollama_models + artemis_data: + name: bytedesk_artemis_data networks: bytedesk-network: diff --git a/deploy/docker/docker-compose.yaml b/deploy/docker/docker-compose.yaml index ce424795c8..144cedcf30 100644 --- a/deploy/docker/docker-compose.yaml +++ b/deploy/docker/docker-compose.yaml @@ -33,6 +33,33 @@ services: # interval: 10s # timeout: 5s # retries: 5 + + # ActiveMQ Artemis 消息队列 + # http://localhost:18161/console,使用 admin/admin 作为登录凭据 + bytedesk-artemis: + image: apache/activemq-artemis:latest + container_name: artemis-bytedesk + environment: + - ARTEMIS_USER=admin + - ARTEMIS_PASSWORD=admin + - ANONYMOUS_LOGIN=false + - EXTRA_ARGS=--http-host 0.0.0.0 --relax-jolokia + ports: + - "16161:61616" # JMS + - "16162:61617" # AMQP + - "18161:8161" # Web Console + - "15672:5672" # AMQP + - "16163:61613" # STOMP + - "11883:1883" # MQTT + volumes: + - artemis_data:/var/lib/artemis/data + networks: + - bytedesk-network + healthcheck: + test: ["CMD", "curl", "--fail", "-u", "admin:admin", "http://localhost:8161/console/jolokia/"] + interval: 30s + timeout: 10s + retries: 5 # ElasticSearch 向量数据库 bytedesk-elasticsearch: @@ -73,12 +100,15 @@ services: - bytedesk-mysql - bytedesk-redis - bytedesk-elasticsearch + - bytedesk-artemis # bytedesk-mysql: # condition: service_healthy # bytedesk-redis: # condition: service_healthy # bytedesk-elasticsearch: # condition: service_healthy + # bytedesk-artemis: + # condition: service_healthy environment: SERVER_PORT: 9003 # bytedesk config @@ -340,6 +370,8 @@ volumes: name: bytedesk_elasticsearch_data upload_data: name: bytedesk_upload_data + artemis_data: + name: bytedesk_artemis_data networks: bytedesk-network: diff --git a/modules/ai/src/main/java/com/bytedesk/ai/springai/service/BaseSpringAIService.java b/modules/ai/src/main/java/com/bytedesk/ai/springai/service/BaseSpringAIService.java index 5cd132a735..bb7c73bd46 100644 --- a/modules/ai/src/main/java/com/bytedesk/ai/springai/service/BaseSpringAIService.java +++ b/modules/ai/src/main/java/com/bytedesk/ai/springai/service/BaseSpringAIService.java @@ -28,19 +28,19 @@ import com.bytedesk.core.message.MessageProtobuf; import com.bytedesk.core.message.MessageTypeEnum; import com.bytedesk.core.thread.ThreadRestService; import com.bytedesk.core.uid.UidUtils; -import com.bytedesk.kbase.faq.FaqElastic; -import com.bytedesk.kbase.faq.FaqElasticSearchResult; import com.bytedesk.kbase.faq.FaqProtobuf; import com.bytedesk.kbase.faq.FaqVector; import com.bytedesk.kbase.faq.FaqVectorSearchResult; import com.bytedesk.kbase.faq.FaqVectorService; +import com.bytedesk.kbase.faq.elastic.FaqElastic; +import com.bytedesk.kbase.faq.elastic.FaqElasticSearchResult; +import com.bytedesk.kbase.faq.elastic.FaqElasticService; import com.bytedesk.kbase.llm_chunk.ChunkElastic; import com.bytedesk.kbase.llm_chunk.ChunkElasticSearchResult; import com.bytedesk.kbase.llm_chunk.ChunkElasticService; import com.bytedesk.kbase.llm_chunk.ChunkVector; import com.bytedesk.kbase.llm_chunk.ChunkVectorSearchResult; import com.bytedesk.kbase.llm_chunk.ChunkVectorService; -import com.bytedesk.kbase.faq.FaqElasticService; import com.bytedesk.kbase.llm_text.TextElastic; import com.bytedesk.kbase.llm_text.TextElasticSearchResult; import com.bytedesk.kbase.llm_text.TextElasticService; diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqEventListener.java b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqEventListener.java index 745a5a7224..85746571b8 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqEventListener.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqEventListener.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-09-07 15:42:23 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-05-17 09:14:03 + * @LastEditTime: 2025-05-17 10:35:00 * @Description: bytedesk.com https://github.com/Bytedesk/bytedesk * Please be aware of the BSL license restrictions before installing Bytedesk IM – * selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license. @@ -26,6 +26,7 @@ import com.bytedesk.core.utils.BdFileUtils; import com.bytedesk.kbase.faq.event.FaqCreateEvent; import com.bytedesk.kbase.faq.event.FaqDeleteEvent; import com.bytedesk.kbase.faq.event.FaqUpdateDocEvent; +import com.bytedesk.kbase.faq.mq.FaqMessageService; import com.bytedesk.kbase.kbase.KbaseTypeEnum; import lombok.AllArgsConstructor; @@ -36,10 +37,6 @@ import lombok.extern.slf4j.Slf4j; @AllArgsConstructor public class FaqEventListener { - // private final FaqElasticService faqService; - - // private final FaqVectorService faqVectorService; - private final FaqRestService faqRestService; private final UploadRestService uploadRestService; diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqProtobuf.java b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqProtobuf.java index 075d97da41..393d81fa03 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqProtobuf.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqProtobuf.java @@ -18,6 +18,8 @@ import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson2.JSON; +import com.bytedesk.kbase.faq.elastic.FaqElastic; +import com.bytedesk.kbase.faq.vector.FaqVector; import com.bytedesk.kbase.llm_chunk.ChunkElastic; import com.bytedesk.kbase.llm_chunk.ChunkVector; import com.bytedesk.kbase.llm_text.TextElastic; diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqRestController.java b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqRestController.java index 624ca0a49c..968b6e5945 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqRestController.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqRestController.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-03-22 22:59:07 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-05-14 16:17:45 + * @LastEditTime: 2025-05-17 10:38:46 * @Description: bytedesk.com https://github.com/Bytedesk/bytedesk * Please be aware of the BSL license restrictions before installing Bytedesk IM – * selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license. @@ -25,6 +25,9 @@ import org.springframework.web.bind.annotation.RestController; import com.bytedesk.core.annotation.ActionAnnotation; import com.bytedesk.core.base.BaseRestController; import com.bytedesk.core.utils.JsonResult; +import com.bytedesk.kbase.faq.elastic.FaqElasticService; +import com.bytedesk.kbase.faq.vector.FaqVectorService; + import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqRestControllerVisitor.java b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqRestControllerVisitor.java index 326926e878..29a01c99f1 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqRestControllerVisitor.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqRestControllerVisitor.java @@ -16,6 +16,8 @@ package com.bytedesk.kbase.faq; import org.springframework.web.bind.annotation.RestController; import com.bytedesk.core.utils.JsonResult; +import com.bytedesk.kbase.faq.elastic.FaqElasticSearchResult; +import com.bytedesk.kbase.faq.elastic.FaqElasticService; import lombok.AllArgsConstructor; diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqElastic.java b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/elastic/FaqElastic.java similarity index 96% rename from modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqElastic.java rename to modules/kbase/src/main/java/com/bytedesk/kbase/faq/elastic/FaqElastic.java index 864d9ed199..110d40e2b3 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqElastic.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/elastic/FaqElastic.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2025-04-22 17:02:50 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-05-14 10:16:14 + * @LastEditTime: 2025-05-17 10:37:07 * @Description: bytedesk.com https://github.com/Bytedesk/bytedesk * Please be aware of the BSL license restrictions before installing Bytedesk IM – * selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license. @@ -11,7 +11,7 @@ * * Copyright (c) 2025 by bytedesk.com, All Rights Reserved. */ -package com.bytedesk.kbase.faq; +package com.bytedesk.kbase.faq.elastic; import java.time.LocalDateTime; import java.util.List; @@ -22,6 +22,8 @@ import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldType; +import com.bytedesk.kbase.faq.FaqEntity; + import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqElasticSearchResult.java b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/elastic/FaqElasticSearchResult.java similarity index 96% rename from modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqElasticSearchResult.java rename to modules/kbase/src/main/java/com/bytedesk/kbase/faq/elastic/FaqElasticSearchResult.java index 6725a25565..a852b52ff9 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqElasticSearchResult.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/elastic/FaqElasticSearchResult.java @@ -11,7 +11,7 @@ * * Copyright (c) 2025 by bytedesk.com, All Rights Reserved. */ -package com.bytedesk.kbase.faq; +package com.bytedesk.kbase.faq.elastic; import java.io.Serializable; diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqElasticService.java b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/elastic/FaqElasticService.java similarity index 98% rename from modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqElasticService.java rename to modules/kbase/src/main/java/com/bytedesk/kbase/faq/elastic/FaqElasticService.java index 0ff350bc11..02b4567a1f 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqElasticService.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/elastic/FaqElasticService.java @@ -11,7 +11,7 @@ * * Copyright (c) 2025 by bytedesk.com, All Rights Reserved. */ -package com.bytedesk.kbase.faq; +package com.bytedesk.kbase.faq.elastic; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -27,6 +27,10 @@ import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.elasticsearch.core.query.DeleteQuery; import org.springframework.stereotype.Service; +import com.bytedesk.kbase.faq.FaqEntity; +import com.bytedesk.kbase.faq.FaqRequest; +import com.bytedesk.kbase.faq.FaqRestService; + import co.elastic.clients.elasticsearch._types.query_dsl.BoolQuery; import co.elastic.clients.elasticsearch._types.query_dsl.DateRangeQuery; import co.elastic.clients.elasticsearch._types.query_dsl.MultiMatchQuery; diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqIndexConsumer.java b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/mq/FaqIndexConsumer.java similarity index 96% rename from modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqIndexConsumer.java rename to modules/kbase/src/main/java/com/bytedesk/kbase/faq/mq/FaqIndexConsumer.java index 5441fb6c0e..d2b578518b 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqIndexConsumer.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/mq/FaqIndexConsumer.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2025-05-17 10:10:00 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-05-17 09:39:41 + * @LastEditTime: 2025-05-17 10:38:26 * @Description: bytedesk.com https://github.com/Bytedesk/bytedesk * Please be aware of the BSL license restrictions before installing Bytedesk IM – * selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license. @@ -11,7 +11,7 @@ * 联系:270580156@qq.com * Copyright (c) 2024 by bytedesk.com, All Rights Reserved. */ -package com.bytedesk.kbase.faq; +package com.bytedesk.kbase.faq.mq; import java.util.Optional; import java.util.Random; @@ -20,6 +20,10 @@ import org.springframework.jms.annotation.JmsListener; import org.springframework.stereotype.Component; import com.bytedesk.core.jms.JmsArtemisConstants; +import com.bytedesk.kbase.faq.FaqEntity; +import com.bytedesk.kbase.faq.FaqRestService; +import com.bytedesk.kbase.faq.elastic.FaqElasticService; +import com.bytedesk.kbase.faq.vector.FaqVectorService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqIndexMessage.java b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/mq/FaqIndexMessage.java similarity index 97% rename from modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqIndexMessage.java rename to modules/kbase/src/main/java/com/bytedesk/kbase/faq/mq/FaqIndexMessage.java index 467c7e1a26..1a9f48d99b 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqIndexMessage.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/mq/FaqIndexMessage.java @@ -11,7 +11,7 @@ * 联系:270580156@qq.com * Copyright (c) 2024 by bytedesk.com, All Rights Reserved. */ -package com.bytedesk.kbase.faq; +package com.bytedesk.kbase.faq.mq; import java.io.Serializable; diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqMessageService.java b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/mq/FaqMessageService.java similarity index 97% rename from modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqMessageService.java rename to modules/kbase/src/main/java/com/bytedesk/kbase/faq/mq/FaqMessageService.java index f0c27ed830..911ca93ffb 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqMessageService.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/mq/FaqMessageService.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2025-05-17 10:05:00 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-05-17 10:30:00 + * @LastEditTime: 2025-05-17 10:36:20 * @Description: bytedesk.com https://github.com/Bytedesk/bytedesk * Please be aware of the BSL license restrictions before installing Bytedesk IM – * selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license. @@ -11,7 +11,7 @@ * 联系:270580156@qq.com * Copyright (c) 2024 by bytedesk.com, All Rights Reserved. */ -package com.bytedesk.kbase.faq; +package com.bytedesk.kbase.faq.mq; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jms.core.JmsTemplate; diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqVector.java b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/vector/FaqVector.java similarity index 96% rename from modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqVector.java rename to modules/kbase/src/main/java/com/bytedesk/kbase/faq/vector/FaqVector.java index 4ebd0c2434..020f255c7e 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqVector.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/vector/FaqVector.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2025-05-14 14:13:52 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-05-14 14:25:31 + * @LastEditTime: 2025-05-17 10:37:57 * @Description: bytedesk.com https://github.com/Bytedesk/bytedesk * Please be aware of the BSL license restrictions before installing Bytedesk IM – * selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license. @@ -11,7 +11,7 @@ * * Copyright (c) 2025 by bytedesk.com, All Rights Reserved. */ -package com.bytedesk.kbase.faq; +package com.bytedesk.kbase.faq.vector; import java.time.LocalDateTime; import java.util.List; @@ -20,6 +20,9 @@ import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldType; + +import com.bytedesk.kbase.faq.FaqEntity; + import org.springframework.data.elasticsearch.annotations.DateFormat; import lombok.AllArgsConstructor; diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqVectorSearchResult.java b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/vector/FaqVectorSearchResult.java similarity index 97% rename from modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqVectorSearchResult.java rename to modules/kbase/src/main/java/com/bytedesk/kbase/faq/vector/FaqVectorSearchResult.java index c79b0643ee..c16a0027d6 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqVectorSearchResult.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/vector/FaqVectorSearchResult.java @@ -10,7 +10,7 @@ * contact: 270580156@qq.com * Copyright (c) 2025 by bytedesk.com, All Rights Reserved. */ -package com.bytedesk.kbase.faq; +package com.bytedesk.kbase.faq.vector; import java.io.Serializable; diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqVectorService.java b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/vector/FaqVectorService.java similarity index 98% rename from modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqVectorService.java rename to modules/kbase/src/main/java/com/bytedesk/kbase/faq/vector/FaqVectorService.java index 1bbdb8ed30..f422ef6139 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/faq/FaqVectorService.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/faq/vector/FaqVectorService.java @@ -11,7 +11,7 @@ * 联系:270580156@qq.com * Copyright (c) 2025 by bytedesk.com, All Rights Reserved. */ -package com.bytedesk.kbase.faq; +package com.bytedesk.kbase.faq.vector; import java.util.ArrayList; import java.util.List; @@ -28,6 +28,9 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.bytedesk.kbase.config.KbaseConst; +import com.bytedesk.kbase.faq.FaqEntity; +import com.bytedesk.kbase.faq.FaqRequest; +import com.bytedesk.kbase.faq.FaqRestService; import com.bytedesk.kbase.llm_chunk.ChunkStatusEnum; import lombok.RequiredArgsConstructor; diff --git a/modules/kbase/src/test/java/com/bytedesk/kbase/faq/FaqBulkIndexTester.java b/modules/kbase/src/test/java/com/bytedesk/kbase/faq/FaqBulkIndexTester.java index ef910a5975..507d199a28 100644 --- a/modules/kbase/src/test/java/com/bytedesk/kbase/faq/FaqBulkIndexTester.java +++ b/modules/kbase/src/test/java/com/bytedesk/kbase/faq/FaqBulkIndexTester.java @@ -21,6 +21,8 @@ import java.util.concurrent.TimeUnit; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import com.bytedesk.kbase.faq.mq.FaqMessageService; + import jakarta.annotation.PreDestroy; import lombok.extern.slf4j.Slf4j; diff --git a/modules/kbase/src/test/java/com/bytedesk/kbase/faq/FaqIndexTestController.java b/modules/kbase/src/test/java/com/bytedesk/kbase/faq/FaqIndexTestController.java index 7049c1f1d5..3366bd36f4 100644 --- a/modules/kbase/src/test/java/com/bytedesk/kbase/faq/FaqIndexTestController.java +++ b/modules/kbase/src/test/java/com/bytedesk/kbase/faq/FaqIndexTestController.java @@ -30,6 +30,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import com.bytedesk.kbase.faq.mq.FaqMessageService; + import lombok.extern.slf4j.Slf4j; /** diff --git a/modules/kbase/src/test/java/com/bytedesk/kbase/faq/FaqMessageQueueTests.java b/modules/kbase/src/test/java/com/bytedesk/kbase/faq/FaqMessageQueueTests.java index 768e8e20a4..be61763ccd 100644 --- a/modules/kbase/src/test/java/com/bytedesk/kbase/faq/FaqMessageQueueTests.java +++ b/modules/kbase/src/test/java/com/bytedesk/kbase/faq/FaqMessageQueueTests.java @@ -19,6 +19,12 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import com.bytedesk.kbase.faq.elastic.FaqElasticService; +import com.bytedesk.kbase.faq.mq.FaqIndexConsumer; +import com.bytedesk.kbase.faq.mq.FaqIndexMessage; +import com.bytedesk.kbase.faq.mq.FaqMessageService; +import com.bytedesk.kbase.faq.vector.FaqVectorService; + import jakarta.jms.JMSException; import jakarta.jms.Message; import lombok.extern.slf4j.Slf4j; diff --git a/starter/src/main/resources/artemis.properties b/starter/src/main/resources/artemis.properties deleted file mode 100644 index d742300866..0000000000 --- a/starter/src/main/resources/artemis.properties +++ /dev/null @@ -1,24 +0,0 @@ -# =============================== -#= Artemis JMS Properties -# =============================== -# 嵌入式Artemis配置 -spring.artemis.mode=embedded -spring.artemis.embedded.enabled=true -# 配置队列和主题 -spring.artemis.embedded.queues=artemis.queue.faq.index -# 可选:数据存储路径 -spring.artemis.embedded.data-directory=${user.dir}/artemis-data -# 并发消费者数 -spring.jms.listener.concurrency=1 -spring.jms.listener.max-concurrency=10 -# 消息确认模式 -spring.jms.listener.acknowledge-mode=client - -# 配置消息重传机制 -spring.artemis.embedded.max-delivery-attempts=5 -spring.artemis.embedded.redelivery-delay=5000 -spring.artemis.embedded.redelivery-delay-multiplier=2.0 -spring.artemis.embedded.max-redelivery-delay=60000 - -# 会话事务 -spring.jms.listener.auto-startup=true diff --git a/starter/src/main/resources/compose.yaml b/starter/src/main/resources/compose.yaml index 6e71622c31..173e7459ac 100644 --- a/starter/src/main/resources/compose.yaml +++ b/starter/src/main/resources/compose.yaml @@ -74,7 +74,7 @@ services: networks: - bytedesk-network healthcheck: - test: ["CMD", "curl", "--fail", "http://localhost:8161/console/jolokia/read/org.apache.activemq.artemis:broker=\"0.0.0.0\""] + test: ["CMD", "curl", "--fail", "-u", "admin:admin", "http://localhost:8161/console/jolokia/"] interval: 30s timeout: 10s retries: 5