feat: added tool support setup for models

This commit is contained in:
2026-05-01 21:49:31 +02:00
parent f8b8ccabbd
commit e4db1d6d62
5 changed files with 90 additions and 8 deletions

View File

@@ -452,7 +452,7 @@ defmodule BDS.AI.Chat do
end
defp build_chat_request(conversation, messages, model, project_id, tools) do
system_message = %{"role" => "system", "content" => chat_system_prompt(project_id)}
system_message = %{"role" => "system", "content" => chat_system_prompt(project_id, tools)}
%{
operation: :chat,
@@ -511,15 +511,14 @@ defmodule BDS.AI.Chat do
ChatTools.available_specs(project_id, Catalog.model_capabilities(model))
end
defp chat_system_prompt(project_id) do
defp chat_system_prompt(project_id, tools) do
base = get_setting("ai.system_prompt") || @default_system_prompt
case project_stats_summary(project_id) do
nil ->
base
summary ->
base <> "\n\nCurrent blog statistics:\n" <> summary <> "\n\n" <> blog_tool_guidance()
with true <- tools != [],
summary when is_binary(summary) <- project_stats_summary(project_id) do
base <> "\n\nCurrent blog statistics:\n" <> summary <> "\n\n" <> blog_tool_guidance()
else
_other -> base
end
end