build:重构项目依赖并优化配置 #37

Merged
gewuyou merged 1 commits from dev into test 2025-05-10 18:44:22 +08:00
12 changed files with 59 additions and 55 deletions

View File

@ -24,6 +24,8 @@ allprojects {
set(ProjectFlags.IS_ROOT_MODULE, false) set(ProjectFlags.IS_ROOT_MODULE, false)
set(ProjectFlags.USE_SPRING_BOOT_BOM, false) set(ProjectFlags.USE_SPRING_BOOT_BOM, false)
set(ProjectFlags.USE_LLM_IMPL_PLATFORM_DEPENDENCE, false) set(ProjectFlags.USE_LLM_IMPL_PLATFORM_DEPENDENCE, false)
set(ProjectFlags.USE_NACOS_DEPENDENCE, false)
set(ProjectFlags.USE_DAO_DEPENDENCE, false)
} }
repositories { repositories {
mavenLocal() mavenLocal()
@ -73,12 +75,9 @@ subprojects {
setProperty(ProjectFlags.USE_SPRING_BOOT_WEB, true) setProperty(ProjectFlags.USE_SPRING_BOOT_WEB, true)
setProperty(ProjectFlags.USE_SPRING_CLOUD_BOM, true) setProperty(ProjectFlags.USE_SPRING_CLOUD_BOM, true)
setProperty(ProjectFlags.USE_LLM_KT_IMPL_DEPENDENCE, true) setProperty(ProjectFlags.USE_LLM_KT_IMPL_DEPENDENCE, true)
setProperty(ProjectFlags.USE_NACOS_DEPENDENCE, true)
} }
dependencies { dependencies {
// Nacos 服务发现和配置
implementation(libs.springCloudStarter.alibaba.nacos.discovery)
implementation(libs.springCloudStarter.alibaba.nacos.config)
implementation(libs.springCloudStarter.bootstrap)
// 核心spi依赖 // 核心spi依赖
implementation(project(Modules.Core.SPI)) implementation(project(Modules.Core.SPI))
// okHttp依赖 // okHttp依赖
@ -88,6 +87,20 @@ subprojects {
implementation(libs.forgeBoot.core.extension) implementation(libs.forgeBoot.core.extension)
} }
} }
if(project.getPropertyByBoolean(ProjectFlags.USE_DAO_DEPENDENCE)){
dependencies{
runtimeOnly(libs.postgresql)
implementation(libs.springBootStarter.data.jpa)
}
}
// nacos dependence
if(project.getPropertyByBoolean(ProjectFlags.USE_NACOS_DEPENDENCE)){
dependencies {
implementation(libs.springCloudStarter.alibaba.nacos.discovery)
implementation(libs.springCloudStarter.alibaba.nacos.config)
implementation(libs.springCloudStarter.bootstrap)
}
}
// springCloudBom // springCloudBom
if (project.getPropertyByBoolean(ProjectFlags.USE_SPRING_CLOUD_BOM)) { if (project.getPropertyByBoolean(ProjectFlags.USE_SPRING_CLOUD_BOM)) {
dependencies { dependencies {

View File

@ -4,6 +4,8 @@ object ProjectFlags {
const val USE_SPRING_CLOUD_BOM = "useSpringCloudBom" const val USE_SPRING_CLOUD_BOM = "useSpringCloudBom"
const val USE_LLM_KT_IMPL_DEPENDENCE = "useLLMKtImplDependence" const val USE_LLM_KT_IMPL_DEPENDENCE = "useLLMKtImplDependence"
const val IS_ROOT_MODULE = "isRootModule" const val IS_ROOT_MODULE = "isRootModule"
const val USE_NACOS_DEPENDENCE = "useNacosDependence"
const val USE_DAO_DEPENDENCE = "useDaoDependence"
/** /**
* 使用实现服务第三方平台依赖 * 使用实现服务第三方平台依赖

View File

@ -8,7 +8,7 @@ services:
networks: networks:
- llmx-net - llmx-net
environment: environment:
POSTGRES_DB: llmx_core POSTGRES_DB: llmx_db
POSTGRES_USER: llmx POSTGRES_USER: llmx
POSTGRES_PASSWORD: L4s6f9y3, POSTGRES_PASSWORD: L4s6f9y3,
volumes: volumes:

View File

@ -4,9 +4,9 @@ services:
container_name: llmx-nacos container_name: llmx-nacos
restart: always restart: always
ports: ports:
- "9001:8848" - "8848:8848"
- "9053:9848" - "9848:9848"
- "9054:9849" - "9849:9849"
networks: networks:
- llmx-net-test - llmx-net-test
environment: environment:

View File

@ -9,6 +9,7 @@ forgeBoot-version = "1.3.0-SNAPSHOT"
okHttp-version = "4.12.0" okHttp-version = "4.12.0"
jib-version = "3.4.2" jib-version = "3.4.2"
org-reactivestreams-reactiveStreams-version = "1.0.4" org-reactivestreams-reactiveStreams-version = "1.0.4"
postgresql-version = "42.7.4"
[plugins] [plugins]
# 应用 Java 插件,提供基本的 Java 代码编译和构建能力 # 应用 Java 插件,提供基本的 Java 代码编译和构建能力
java = { id = "java" } java = { id = "java" }
@ -50,6 +51,7 @@ springCloudStarter-bootstrap = { group = "org.springframework.cloud", name = "sp
springBootStarter-webflux = { group = "org.springframework.boot", name = "spring-boot-starter-webflux" } springBootStarter-webflux = { group = "org.springframework.boot", name = "spring-boot-starter-webflux" }
springBootStarter-web = { group = "org.springframework.boot", name = "spring-boot-starter-web" } springBootStarter-web = { group = "org.springframework.boot", name = "spring-boot-starter-web" }
springBootStarter-test = { group = "org.springframework.boot", name = "spring-boot-starter-test" } springBootStarter-test = { group = "org.springframework.boot", name = "spring-boot-starter-test" }
springBootStarter-data-jpa = { group = "org.springframework.boot", name = "spring-boot-starter-data-jpa" }
junitPlatform-launcher = { group = "org.junit.platform", name = "junit-platform-launcher" } junitPlatform-launcher = { group = "org.junit.platform", name = "junit-platform-launcher" }
@ -67,4 +69,6 @@ jackson-databind={group="com.fasterxml.jackson.core", name="jackson-databind"}
jackson-annotations={group="com.fasterxml.jackson.core", name="jackson-annotations"} jackson-annotations={group="com.fasterxml.jackson.core", name="jackson-annotations"}
jackson-datatype-jsr310={group="com.fasterxml.jackson.datatype", name="jackson-datatype-jsr310"} jackson-datatype-jsr310={group="com.fasterxml.jackson.datatype", name="jackson-datatype-jsr310"}
jackson-module-kotlin={group="com.fasterxml.jackson.module", name="jackson-module-kotlin"} jackson-module-kotlin={group="com.fasterxml.jackson.module", name="jackson-module-kotlin"}
postgresql = { module = "org.postgresql:postgresql", version.ref = "postgresql-version" }
[bundles] [bundles]

View File

@ -2,13 +2,10 @@ extra {
// 开启springboot // 开启springboot
setProperty(ProjectFlags.USE_SPRING_BOOT_WEB, true) setProperty(ProjectFlags.USE_SPRING_BOOT_WEB, true)
setProperty(ProjectFlags.USE_SPRING_CLOUD_BOM,true) setProperty(ProjectFlags.USE_SPRING_CLOUD_BOM,true)
setProperty(ProjectFlags.USE_NACOS_DEPENDENCE, true)
setProperty(ProjectFlags.USE_DAO_DEPENDENCE, true)
} }
dependencies { dependencies {
// Nacos 服务发现和配置
implementation(libs.springCloudStarter.alibaba.nacos.discovery)
implementation(libs.springCloudStarter.alibaba.nacos.config)
implementation(libs.springCloudStarter.bootstrap)
// WebClient 和 Spring Cloud LoadBalancer // WebClient 和 Spring Cloud LoadBalancer
implementation(libs.springBootStarter.webflux) implementation(libs.springBootStarter.webflux)
implementation(libs.springCloudStarter.loadbalancer) implementation(libs.springCloudStarter.loadbalancer)

View File

@ -1,14 +1,4 @@
server: server:
port: 8081 port: 8081
spring:
config:
import: classpath:bootstrap-dev.yml
llmx:
model-route:
modelServiceMap:
qwen-turbo: llmx-impl-baiLian
qwen-max: llmx-impl-baiLian
qwen-plus: llmx-impl-baiLian
qwen-vl-max-latest: llmx-impl-baiLian

View File

@ -2,11 +2,19 @@ spring:
cloud: cloud:
nacos: nacos:
username: nacos username: nacos
password: L4s6f9y3 password: L4s6f9y3,
server-addr: 49.235.96.75:8848 server-addr: 49.235.96.75:8848
ip: 192.168.1.100 ip: 192.168.1.100
discovery: discovery:
server-addr: ${spring.cloud.nacos.server-addr} server-addr: ${spring.cloud.nacos.server-addr}
username: ${spring.cloud.nacos.username} username: ${spring.cloud.nacos.username}
password: ${spring.cloud.nacos.password} password: ${spring.cloud.nacos.password}
ip: ${spring.cloud.nacos.ip} ip: ${spring.cloud.nacos.ip}
config:
file-extension: yaml
namespace: a17d57ec-4fd9-44c7-a617-7f6003a0b332
refresh-enabled: true
extension-configs:
- data-id: ${spring.application.name}-${spring.profiles.active}.yaml
refresh: true
group: ${spring.application.name}

View File

@ -9,12 +9,10 @@ spring:
username: ${spring.cloud.nacos.username} username: ${spring.cloud.nacos.username}
password: ${spring.cloud.nacos.password} password: ${spring.cloud.nacos.password}
config: config:
server-addr: ${spring.cloud.nacos.server-addr}
username: ${spring.cloud.nacos.username}
password: ${spring.cloud.nacos.password}
file-extension: yaml file-extension: yaml
namespace: 1a32d4f4-469a-4e10-ba3b-ce1bc6ba8cc9 namespace: 54a289f7-5f4a-4c83-8a0a-199defa35458
shared-configs: refresh-enabled: true
- data-id: llmx-core-service.yml extension-configs:
- data-id: ${spring.application.name}-${spring.profiles.active}.yaml
refresh: true refresh: true
group: test group: ${spring.application.name}

View File

@ -9,17 +9,3 @@ spring:
nacos: nacos:
discovery: discovery:
server-addr: 49.235.96.75:8848 # Nacos 服务地址 server-addr: 49.235.96.75:8848 # Nacos 服务地址
# 阿里云配置
aliyun:
# DashScope服务配置
dash:
# 访问凭证配置
scope:
access-key-id: LTAI5tHiA2Ry3XTAfoSEJW6z # 阿里云访问密钥ID
access-key-secret: K5sf4FxZZuUgLEFnyfepBfMqFGmDcD # 阿里云访问密钥密钥
endpoint: bailian.cn-beijing.aliyuncs.com # 阿里云服务端点
workspace-id: llm-axfkuqft05uzbjpi # 工作区ID
api-key: sk-78af4dd964a94f4cb373851064dbdc12 # API密钥
app-id: 3fae0bbab2e54a90a37aa02cd12dd62c # 应用ID
base-url: https://dashscope.aliyuncs.com/api/v1/apps/ # 基础API URL
multimodality-url: https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

View File

@ -2,11 +2,19 @@ spring:
cloud: cloud:
nacos: nacos:
username: nacos username: nacos
password: L4s6f9y3 password: L4s6f9y3,
server-addr: 49.235.96.75:8848 server-addr: 49.235.96.75:8848
ip: 192.168.1.100 ip: 192.168.1.100
discovery: discovery:
server-addr: ${spring.cloud.nacos.server-addr} server-addr: ${spring.cloud.nacos.server-addr}
username: ${spring.cloud.nacos.username} username: ${spring.cloud.nacos.username}
password: ${spring.cloud.nacos.password} password: ${spring.cloud.nacos.password}
ip: ${spring.cloud.nacos.ip} ip: ${spring.cloud.nacos.ip}
config:
file-extension: yaml
namespace: a17d57ec-4fd9-44c7-a617-7f6003a0b332
refresh-enabled: true
extension-configs:
- data-id: ${spring.application.name}-${spring.profiles.active}.yaml
refresh: true
group: ${spring.application.name}

View File

@ -9,12 +9,10 @@ spring:
username: ${spring.cloud.nacos.username} username: ${spring.cloud.nacos.username}
password: ${spring.cloud.nacos.password} password: ${spring.cloud.nacos.password}
config: config:
server-addr: ${spring.cloud.nacos.server-addr}
username: ${spring.cloud.nacos.username}
password: ${spring.cloud.nacos.password}
file-extension: yaml file-extension: yaml
namespace: da45f3a6-e7d0-4d92-b075-776adea07d6d namespace: 54a289f7-5f4a-4c83-8a0a-199defa35458
shared-configs: refresh-enabled: true
- data-id: llmx-impl-bailian.yml extension-configs:
- data-id: ${spring.application.name}-${spring.profiles.active}.yaml
refresh: true refresh: true
group: test group: ${spring.application.name}