d68c76ee3c
Adds [router.embedder] and [router.l3] sections to CorrexConfig with backend selectors. Ships LlamaCppEmbedder that hits llama.cpp's /embedding endpoint (handles OpenAI-compatible, simple, and array response shapes; validates dimension). InfrastructureModule gains createEmbedderFromConfig and createL3MemoryStoreFromConfig that dispatch on backend value. Defaults preserve current behavior (noop embedder + in-memory L3). Switching to "llamacpp" / "turbovec" is a config-only change — no code edits required. For turbovec backend, the bundled python sidecar script is extracted from classpath to ~/.cache/correx/ on first use.
29 lines
938 B
Groovy
29 lines
938 B
Groovy
plugins {
|
|
id 'java-library'
|
|
id 'org.jetbrains.kotlin.jvm'
|
|
id 'org.jetbrains.kotlin.plugin.serialization'
|
|
}
|
|
|
|
ext {
|
|
ktor_version = '3.0.3'
|
|
// Ensure parent version is available
|
|
ext.ktor_version = '3.0.3'
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(':core:inference')
|
|
implementation project(':core:events')
|
|
implementation project(':core:artifacts')
|
|
implementation project(':core:context')
|
|
implementation project(':infrastructure:inference:commons')
|
|
|
|
implementation "io.ktor:ktor-client-core:$ktor_version"
|
|
implementation "io.ktor:ktor-client-cio:$ktor_version"
|
|
implementation "io.ktor:ktor-client-content-negotiation:$ktor_version"
|
|
implementation "io.ktor:ktor-serialization-kotlinx-json:$ktor_version"
|
|
testImplementation "org.junit.jupiter:junit-jupiter"
|
|
testImplementation "io.ktor:ktor-client-mock:$ktor_version"
|
|
}
|
|
|
|
tasks.named("koverVerify").configure { enabled = false }
|