- 新增 llmhub-core-service 模块,实现聊天和嵌入功能 - 添加 LLMService 接口及其实现类 LLMServiceImpl - 实现了与 LLM 提供商的交互接口 LLMProvider- 新增模型路由管理器 ModelRouteManager 和相关配置 - 添加开发和生产环境配置文件 - 更新项目依赖,引入 Spring Cloud 和 Nacos
120 lines
3.7 KiB
Plaintext
120 lines
3.7 KiB
Plaintext
plugins {
|
|
alias(libs.plugins.java)
|
|
alias(libs.plugins.kotlin.jvm)
|
|
alias(libs.plugins.kotlin.plugin.spring)
|
|
alias(libs.plugins.spring.boot)
|
|
alias(libs.plugins.spring.dependency.management)
|
|
}
|
|
|
|
group = "org.jcnc"
|
|
version = "1.0-SNAPSHOT"
|
|
|
|
/**
|
|
* 由于 Kotlin 插件引入时会自动添加依赖,但根项目不需要 Kotlin 依赖,因此需要排除 Kotlin 依赖
|
|
*/
|
|
configurations.implementation {
|
|
exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib")
|
|
}
|
|
allprojects {
|
|
// 设置全局属性
|
|
ext {
|
|
set(ProjectFlags.USE_SPRING_BOOT, false)
|
|
set(ProjectFlags.USE_LLM_CORE_SPI, false)
|
|
set(ProjectFlags.USE_SPRING_CLOUD_BOM, false)
|
|
set(ProjectFlags.IS_ROOT_MODULE, false)
|
|
}
|
|
repositories {
|
|
mavenLocal()
|
|
val host = System.getenv("GEWUYOU_GITEA_HOST")
|
|
host?.let {
|
|
maven {
|
|
url = uri("http://${host}/api/packages/gewuyou/maven")
|
|
isAllowInsecureProtocol = true
|
|
}
|
|
}
|
|
maven {
|
|
url = uri("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev")
|
|
}
|
|
maven {
|
|
url = uri("https://raw.githubusercontent.com/eurotech/kura_addons/mvn-repo/")
|
|
}
|
|
maven {
|
|
url = uri("https://maven.aliyun.com/repository/public/")
|
|
}
|
|
maven {
|
|
url = uri("https://maven.aliyun.com/repository/spring/")
|
|
}
|
|
maven {
|
|
url = uri("https://maven.aliyun.com/repository/spring-plugin/")
|
|
}
|
|
maven {
|
|
url = uri("https://maven.aliyun.com/repository/gradle-plugin/")
|
|
}
|
|
mavenCentral()
|
|
google()
|
|
gradlePluginPortal()
|
|
}
|
|
afterEvaluate {
|
|
if (project.getPropertyByBoolean(ProjectFlags.IS_ROOT_MODULE)) {
|
|
/**
|
|
* 由于 Kotlin 插件引入时会自动添加依赖,但根项目不需要 Kotlin 依赖,因此需要排除 Kotlin 依赖
|
|
*/
|
|
configurations.implementation {
|
|
exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
subprojects {
|
|
afterEvaluate {
|
|
// springbootWeb
|
|
if (project.getPropertyByBoolean(ProjectFlags.USE_SPRING_BOOT)) {
|
|
apply {
|
|
plugin(libs.plugins.spring.dependency.management.get().pluginId)
|
|
plugin(libs.plugins.spring.boot.get().pluginId)
|
|
plugin(libs.plugins.kotlin.plugin.spring.get().pluginId)
|
|
}
|
|
dependencies {
|
|
implementation(libs.springBootStarter.web)
|
|
|
|
testImplementation(libs.springBootStarter.test)
|
|
testRuntimeOnly(libs.junitPlatform.launcher)
|
|
}
|
|
}
|
|
// llm-core-spi
|
|
if (project.getPropertyByBoolean(ProjectFlags.USE_LLM_CORE_SPI)) {
|
|
dependencies {
|
|
implementation(project(Modules.Core.SPI))
|
|
}
|
|
}
|
|
// springCloudBom
|
|
if (project.getPropertyByBoolean(ProjectFlags.USE_SPRING_CLOUD_BOM)) {
|
|
dependencies {
|
|
implementation(libs.springCloudDependencies.bom)
|
|
}
|
|
}
|
|
}
|
|
val libs = rootProject.libs
|
|
apply {
|
|
plugin(libs.plugins.java.get().pluginId)
|
|
plugin(libs.plugins.kotlin.jvm.get().pluginId)
|
|
}
|
|
println(project.name + ":" + project.getPropertyByBoolean(ProjectFlags.USE_SPRING_BOOT))
|
|
|
|
kotlin {
|
|
compilerOptions {
|
|
freeCompilerArgs.addAll("-Xjsr305=strict")
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.test {
|
|
useJUnitPlatform()
|
|
}
|
|
kotlin {
|
|
jvmToolchain(21)
|
|
}
|
|
fun Project.getPropertyByBoolean(key: String): Boolean {
|
|
return properties[key]?.toString()?.toBoolean() ?: false
|
|
} |