prompt from bot user

This commit is contained in:
Daniel O'Connell 2025-11-02 16:46:26 +01:00
parent 64e84b1c89
commit afdff1708b
3 changed files with 9 additions and 6 deletions

View File

@ -207,7 +207,7 @@ def comm_channel_prompt(
def call_llm(
session: Session | scoped_session,
bot_user: BotUser,
bot_user: DiscordUser,
from_user: DiscordUser | None,
channel: DiscordChannel | None,
model: str,
@ -253,7 +253,7 @@ def call_llm(
from memory.common.llms.tools.discord import make_discord_tools
from memory.common.llms.tools.base import WebSearchTool
tools = make_discord_tools(bot_user, from_user, channel, model=model)
tools = make_discord_tools(bot_user.system_user, from_user, channel, model=model)
tools |= {"web_search": WebSearchTool()}
# Filter to allowed tools if specified
@ -264,7 +264,7 @@ def call_llm(
return provider.run_with_tools(
messages=provider.as_messages(message_content),
tools=tools,
system_prompt=system_prompt,
system_prompt=bot_user.system_prompt + "\n\n" + system_prompt,
max_iterations=settings.DISCORD_MAX_TOOL_CALLS,
).response

View File

@ -118,7 +118,7 @@ def should_process(message: DiscordMessage) -> bool:
response = call_llm(
session,
bot_user=message.recipient_user.system_user,
bot_user=message.recipient_user,
from_user=message.from_user,
channel=message.channel,
model=settings.SUMMARIZER_MODEL,
@ -192,7 +192,7 @@ def process_discord_message(message_id: int) -> dict[str, Any]:
try:
response = call_llm(
session,
bot_user=discord_message.recipient_user.system_user,
bot_user=discord_message.recipient_user,
from_user=discord_message.from_user,
channel=discord_message.channel,
model=settings.DISCORD_MODEL,

View File

@ -27,9 +27,12 @@ def _call_llm_for_scheduled(session, scheduled_call: ScheduledLLMCall) -> str |
message = cast(str, scheduled_call.message)
allowed_tools_list = cast(list[str] | None, scheduled_call.allowed_tools)
bot_user = (
scheduled_call.user.discord_users and scheduled_call.user.discord_users[0]
)
return call_llm(
session=session,
bot_user=scheduled_call.user,
bot_user=bot_user,
from_user=scheduled_call.discord_user,
channel=scheduled_call.discord_channel,
messages=[message],