maarten ha
12/21/2025, 1:08 PMKris
12/22/2025, 9:48 AMollama pull qwen2.5:0.5b to get the model locally and start using it. It will require a machine with some memory to work properly, a mac with 128gb+ unified memory or a desktop with a 5090 always helps.maarten ha
12/22/2025, 10:37 AMVadim Briliantov
12/22/2025, 1:03 PMpromptExecutor.execute(prompt, tools, model) there will be something like:
promptExecutor.execute(prompt, tools) { availableModels ->
availableModels
.withCapabilities(Tools, ToolChoice, Vision) // ex: extension
.filter { it.contextLength >= 100500 }
.filter { it.lattency <= 300ms }
.cheapest()
}
or
promptExecutor.execute(prompt, tools) { availableModels ->
availableModels
.filter { Moderation in it.capabilities }
.filter { it.costPerMTokens <= 2.USD }
.maxBy { it.contextLength }
}
etc.
or just:
promptExecutor.execute(prompt, tools) { availableModels ->
availableModels.withCapabilities(Moderation).cheapest()
}
or even ask LLM to decide on a fly:
promptExecutor.execute(prompt, tools) { availableModels ->
promptExecutor.execute(
prompt = prompt("choose-llm") {
system("You are professional LLM selection helper")
user { markdown {
h1("Your assignment")
text("Help me decide which LLM is the most capable in execution of my task."
h2("Available models")
+"I have the following models available to execute my task:"
bulleted {
availableModels.forEach {
item("provider: ${it.provider}, model: ${it.name}")
}
}
h2("Initial task:")
text("Here is the description of the initial task that I am struggling to select the model for:")
h3("Prompt:")
text(prompt.toString) // TODO: format prompt history in XML
h3("Tools:")
text(tools.joinToString { it.toString() }) // TODO: format in JSON
}
},
model = OpenAIModels.Chat.GPT_5 // or whatever oracle :)
)
}
And similar API for AIAgent abstractionsVadim Briliantov
12/22/2025, 1:03 PMVadim Briliantov
12/22/2025, 1:04 PMmaarten ha
12/22/2025, 1:57 PMdarkmoon_uk
12/23/2025, 1:00 AM