diff --git a/aioj-backend-ai-service/pom.xml b/aioj-backend-ai-service/pom.xml
index d6337ca..1ed6ab8 100644
--- a/aioj-backend-ai-service/pom.xml
+++ b/aioj-backend-ai-service/pom.xml
@@ -14,5 +14,111 @@
jar
AIOJ AI服务
-
-
\ No newline at end of file
+
+
+
+ org.springdoc
+ springdoc-openapi-starter-webmvc-ui
+
+
+ com.github.xiaoymin
+ knife4j-openapi3-jakarta-spring-boot-starter
+
+
+
+
+ cn.meowrain.aioj
+ aioj-backend-common-core
+
+
+ cn.meowrain.aioj
+ aioj-backend-common-log
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+
+ io.grpc
+ grpc-netty-shaded
+ 1.68.1
+
+
+ io.grpc
+ grpc-protobuf
+ 1.68.1
+
+
+ io.grpc
+ grpc-stub
+ 1.68.1
+
+
+ io.grpc
+ grpc-services
+ 1.68.1
+
+
+
+ com.google.protobuf
+ protobuf-java
+ 4.29.2
+
+
+
+ org.apache.tomcat
+ annotations-api
+ 6.0.53
+ provided
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+
+
+ kr.motd.maven
+ os-maven-plugin
+ 1.7.1
+
+
+
+
+
+ org.xolstice.maven.plugins
+ protobuf-maven-plugin
+ 0.6.1
+
+ com.google.protobuf:protoc:4.29.2:exe:${os.detected.classifier}
+ grpc-java
+ io.grpc:protoc-gen-grpc-java:1.68.1:exe:${os.detected.classifier}
+ ${project.basedir}/src/main/proto
+
+
+
+
+ compile
+ compile-custom
+
+
+
+
+
+
+
diff --git a/aioj-backend-ai-service/src/main/java/cn/meowrain/aioj/backend/aiservice/service/impl/AIServiceImpl.java b/aioj-backend-ai-service/src/main/java/cn/meowrain/aioj/backend/aiservice/service/impl/AIServiceImpl.java
deleted file mode 100644
index 9f879f2..0000000
--- a/aioj-backend-ai-service/src/main/java/cn/meowrain/aioj/backend/aiservice/service/impl/AIServiceImpl.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package cn.meowrain.aioj.backend.aiservice.service.impl;
-
-import cn.meowrain.aioj.backend.aiservice.service.AIService;
-import dev.langchain4j.model.chat.ChatLanguageModel;
-import dev.langchain4j.model.openai.OpenAiChatModel;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-
-/**
- * AI 服务实现
- */
-@Slf4j
-@Service
-@RequiredArgsConstructor
-public class AIServiceImpl implements AIService {
-
- private final ChatLanguageModel chatLanguageModel;
-
- @Override
- public String analyzeCode(String code, String language) {
- String prompt = buildPrompt("代码分析", language, code,
- "请分析以下代码的质量、潜在问题和改进建议。");
- log.info("执行代码分析: language={}, codeLength={}", language, code.length());
- return chatLanguageModel.generate(prompt);
- }
-
- @Override
- public String optimizeCode(String code, String language) {
- String prompt = buildPrompt("代码优化", language, code,
- "请提供以下代码的优化建议,包括性能优化、代码风格改进等。");
- log.info("执行代码优化: language={}, codeLength={}", language, code.length());
- return chatLanguageModel.generate(prompt);
- }
-
- @Override
- public String generateTestCases(String code, String language) {
- String prompt = buildPrompt("测试用例生成", language, code,
- "请为以下代码生成完整的测试用例,包括边界条件和异常情况。");
- log.info("生成测试用例: language={}, codeLength={}", language, code.length());
- return chatLanguageModel.generate(prompt);
- }
-
- @Override
- public String explainCode(String code, String language) {
- String prompt = buildPrompt("代码解释", language, code,
- "请详细解释以下代码的功能、逻辑和实现方式。");
- log.info("解释代码: language={}, codeLength={}", language, code.length());
- return chatLanguageModel.generate(prompt);
- }
-
- /**
- * 构建提示词
- */
- private String buildPrompt(String task, String language, String code, String instruction) {
- return String.format("""
- # 任务:%s
-
- # 编程语言:%s
-
- # 代码:
- ```%s
- %s
- ```
-
- # 要求:
- %s
-
- 请提供详细、准确的分析结果。
- """, task, language, language, code, instruction);
- }
-}
diff --git a/aioj-backend-ai-service/src/main/resources/application.yml b/aioj-backend-ai-service/src/main/resources/application.yml
index 1b2e0a0..b15d345 100644
--- a/aioj-backend-ai-service/src/main/resources/application.yml
+++ b/aioj-backend-ai-service/src/main/resources/application.yml
@@ -39,14 +39,14 @@ jwt:
access-expire: 900000 # 15分钟
refresh-expire: 604800000 # 7天
-# AI 服务配置
-ai:
- openai:
- api-key: ${OPENAI_API_KEY:your-api-key}
- base-url: ${OPENAI_BASE_URL:https://api.openai.com}
- model: ${OPENAI_MODEL:gpt-4}
- max-tokens: ${OPENAI_MAX_TOKENS:2000}
- temperature: ${OPENAI_TEMPERATURE:0.7}
+# gRPC 客户端配置
+grpc:
+ client:
+ host: ${GRPC_SERVER_HOST:localhost}
+ port: ${GRPC_SERVER_PORT:50051}
+ timeout: ${GRPC_TIMEOUT:10}
+ tls-enabled: ${GRPC_TLS_ENABLED:false}
+ max-message-size: ${GRPC_MAX_MESSAGE_SIZE:10485760}
aioj:
log:
diff --git a/pom.xml b/pom.xml
index f069109..471303b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,6 +28,7 @@
aioj-backend-auth
aioj-backend-upms
aioj-backend-file-service
+ aioj-backend-blog-service