Fix: Remove all OpenAI references and correctly configure Ollama for KI generation
This commit is contained in:
1 parent
a286267fc3
commit
76c6b17a80
6 files changed
+1134
-314
No files matched your search
+1123
-244
File diff suppressed because it is too large.
Load diff
@@ -2,22 +2,13 @@ package ch.rwcloud
|
||||
|
||||
import ai.koog.ktor.Koog
|
||||
import ai.koog.ktor.aiAgent
|
||||
import ai.koog.prompt.executor.clients.openai.OpenAIModels
|
||||
import com.fasterxml.jackson.databind.*
|
||||
import io.ktor.serialization.jackson.*
|
||||
import io.ktor.serialization.kotlinx.json.*
|
||||
import ai.koog.prompt.llm.LLMCapability
|
||||
import ai.koog.prompt.llm.LLMProvider
|
||||
import ai.koog.prompt.llm.LLModel
|
||||
import io.ktor.server.application.*
|
||||
import io.ktor.server.html.*
|
||||
import io.ktor.server.http.content.*
|
||||
import io.ktor.server.plugins.contentnegotiation.*
|
||||
import io.ktor.server.plugins.csrf.*
|
||||
import io.ktor.server.routing.*
|
||||
import io.ktor.server.request.*
|
||||
import io.ktor.server.response.*
|
||||
import io.ktor.server.routing.*
|
||||
import io.ktor.server.sessions.*
|
||||
import kotlin.random.Random
|
||||
import kotlinx.html.*
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
fun Application.configureFrameworks() {
|
||||
install(Koog) {
|
||||
@@ -32,7 +23,7 @@ fun Application.configureFrameworks() {
|
||||
route("/ai") {
|
||||
post("/chat") {
|
||||
val userInput = call.receive<String>()
|
||||
val output = aiAgent(userInput, model = ai.koog.prompt.executor.clients.openai.OpenAIModels.Chat.GPT4_1)
|
||||
val output = aiAgent(userInput, model = LLModel(id = "ministral-3:latest", provider = LLMProvider.Ollama, capabilities = listOf(LLMCapability.Completion), contextLength = 4096))
|
||||
call.respondText(output)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,24 +2,14 @@ package ch.rwcloud
|
||||
|
||||
import ai.koog.ktor.Koog
|
||||
import ai.koog.ktor.aiAgent
|
||||
import ai.koog.prompt.executor.clients.openai.OpenAIModels
|
||||
import com.fasterxml.jackson.databind.*
|
||||
import io.ktor.serialization.jackson.*
|
||||
import io.ktor.serialization.kotlinx.json.*
|
||||
import ai.koog.prompt.llm.LLMCapability
|
||||
import ai.koog.prompt.llm.LLMProvider
|
||||
import ai.koog.prompt.llm.LLModel
|
||||
import io.ktor.server.application.*
|
||||
import io.ktor.server.html.*
|
||||
import io.ktor.server.http.content.*
|
||||
import io.ktor.server.plugins.contentnegotiation.*
|
||||
import io.ktor.server.plugins.csrf.*
|
||||
import io.ktor.server.request.*
|
||||
import io.ktor.server.response.*
|
||||
import io.ktor.server.routing.*
|
||||
import io.ktor.server.sessions.*
|
||||
import kotlin.random.Random
|
||||
import kotlinx.html.*
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
import io.ktor.server.request.*
|
||||
import java.time.LocalTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
import org.apache.commons.mail.SimpleEmail
|
||||
@@ -67,11 +57,8 @@ fun Application.configureRouting() {
|
||||
|
||||
val generatedEmail = try {
|
||||
application.log.info("Starte KI-Generierung mit Prompt: $prompt")
|
||||
// Da OllamaModels nicht direkt auflösbar ist, nutzen wir eine generische LLModel-Ansprache
|
||||
// falls das Framework das unterstützt, oder wir bleiben beim Catch-Block.
|
||||
// In Koog 0.5.1 scheint der Zugriff auf Ollama über ai.koog.prompt.executor.clients.ollama.OllamaModels.Chat möglich zu sein.
|
||||
// Da der Compiler meckert, versuchen wir es mit einem Trick:
|
||||
aiAgent(prompt, model = ai.koog.prompt.executor.clients.openai.OpenAIModels.Chat.GPT4_1)
|
||||
// Verwende Ollama mit dem konfigurierten Modell ministral-3:latest
|
||||
aiAgent(prompt, model = LLModel(id = "ministral-3:latest", provider = LLMProvider.Ollama, capabilities = listOf(LLMCapability.Completion), contextLength = 4096))
|
||||
} catch (e: Exception) {
|
||||
application.log.error("Fehler beim KI-Aufruf", e)
|
||||
"--- Bestellung Behindertentransport ---\n\n$data\n\n(Hinweis: KI-Generierung war nicht möglich, Daten wurden manuell formatiert.)"
|
||||
|
||||
@@ -1,22 +1,10 @@
|
||||
package ch.rwcloud
|
||||
|
||||
import ai.koog.ktor.Koog
|
||||
import ai.koog.ktor.aiAgent
|
||||
import ai.koog.prompt.executor.clients.openai.OpenAIModels
|
||||
import com.fasterxml.jackson.databind.*
|
||||
import io.ktor.serialization.jackson.*
|
||||
import io.ktor.serialization.kotlinx.json.*
|
||||
import io.ktor.server.application.*
|
||||
import io.ktor.server.html.*
|
||||
import io.ktor.server.http.content.*
|
||||
import io.ktor.server.plugins.contentnegotiation.*
|
||||
import io.ktor.server.plugins.csrf.*
|
||||
import io.ktor.server.request.*
|
||||
import io.ktor.server.response.*
|
||||
import io.ktor.server.routing.*
|
||||
import io.ktor.server.sessions.*
|
||||
import kotlin.random.Random
|
||||
import kotlinx.html.*
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
fun Application.configureSecurity() {
|
||||
|
||||
@@ -1,23 +1,11 @@
|
||||
package ch.rwcloud
|
||||
|
||||
import ai.koog.ktor.Koog
|
||||
import ai.koog.ktor.aiAgent
|
||||
import ai.koog.prompt.executor.clients.openai.OpenAIModels
|
||||
import com.fasterxml.jackson.databind.*
|
||||
import io.ktor.serialization.jackson.*
|
||||
import io.ktor.serialization.kotlinx.json.*
|
||||
import io.ktor.server.application.*
|
||||
import io.ktor.server.html.*
|
||||
import io.ktor.server.http.content.*
|
||||
import io.ktor.server.plugins.contentnegotiation.*
|
||||
import io.ktor.server.plugins.csrf.*
|
||||
import io.ktor.server.request.*
|
||||
import io.ktor.server.response.*
|
||||
import io.ktor.server.routing.*
|
||||
import io.ktor.server.sessions.*
|
||||
import kotlin.random.Random
|
||||
import kotlinx.html.*
|
||||
import kotlinx.serialization.Serializable
|
||||
import com.fasterxml.jackson.databind.*
|
||||
|
||||
fun Application.configureSerialization() {
|
||||
install(ContentNegotiation) {
|
||||
|
||||
@@ -1,23 +1,10 @@
|
||||
package ch.rwcloud
|
||||
|
||||
import ai.koog.ktor.Koog
|
||||
import ai.koog.ktor.aiAgent
|
||||
import ai.koog.prompt.executor.clients.openai.OpenAIModels
|
||||
import com.fasterxml.jackson.databind.*
|
||||
import io.ktor.serialization.jackson.*
|
||||
import io.ktor.serialization.kotlinx.json.*
|
||||
import io.ktor.server.application.*
|
||||
import io.ktor.server.html.*
|
||||
import io.ktor.server.http.content.*
|
||||
import io.ktor.server.plugins.contentnegotiation.*
|
||||
import io.ktor.server.plugins.csrf.*
|
||||
import io.ktor.server.request.*
|
||||
import io.ktor.server.response.*
|
||||
import io.ktor.server.routing.*
|
||||
import io.ktor.server.sessions.*
|
||||
import kotlin.random.Random
|
||||
import kotlinx.html.*
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
fun HTML.transportPage() {
|
||||
head {
|
||||
|
||||
Reference in new issue
Block a user