调整旧代码

This commit is contained in:
BBIT-Kai
2025-08-21 14:55:45 +08:00
parent 72901d5964
commit cdce90bb27
4 changed files with 57 additions and 4 deletions
@@ -5,6 +5,7 @@ import ink.snowflake.server.plugins.*
import ink.snowflake.server.route.User
import ink.snowflake.server.route.chat
import ink.snowflake.server.plugins.configureSockets
import ink.snowflake.server.route.AI
import ink.snowflake.server.route.ImageAnalytics
import ink.snowflake.server.route.RemoteDebug
import ink.snowflake.server.route.VideoAnalytics
@@ -65,4 +66,6 @@ fun Application.module() {
VideoAnalyticsJetson()
// 业务-图片分析
ImageAnalytics()
// 业务-AI
AI()
}
@@ -0,0 +1,50 @@
package ink.snowflake.server.route
import ai.koog.agents.core.agent.AIAgent
import ai.koog.agents.core.tools.ToolRegistry
import ai.koog.agents.ext.tool.SayToUser
import ai.koog.prompt.executor.clients.openai.OpenAIModels
import ai.koog.prompt.executor.llms.all.simpleOllamaAIExecutor
import ai.koog.prompt.executor.llms.all.simpleOpenAIExecutor
import ai.koog.prompt.executor.ollama.client.OllamaClient
import ai.koog.prompt.executor.ollama.client.OllamaModelCard
import ai.koog.prompt.llm.LLMCapability
import ai.koog.prompt.llm.LLMProvider
import ai.koog.prompt.llm.LLModel
import ink.snowflake.server.model.response.BaseResponse
import io.ktor.server.application.Application
import io.ktor.server.response.respond
import io.ktor.server.routing.get
import io.ktor.server.routing.route
import io.ktor.server.routing.routing
import kotlinx.coroutines.launch
fun Application.AI() {
val agent = AIAgent(
executor = simpleOllamaAIExecutor("http://171.212.101.199:13011/"),
systemPrompt = "You are a helpful assistant. Answer user questions concisely.", //系统提示词
llmModel = LLModel(
provider = LLMProvider.Ollama,
id = "llama3.2:latest",
capabilities = listOf(
LLMCapability.Temperature,
// LLMCapability.Tools
)
), // 模型
temperature = 0.7, // 温度
// toolRegistry = ToolRegistry {
// tool(SayToUser) // 注册工具
// },
maxIterations = 30 //
)
routing {
route("/api") {
get("/getAiList") {
val result = agent.run("Hello! How can you help me?")
call.respond(BaseResponse(data = result))
}
}
}
}