Add two-tier LLM analysis with triage/escalation
Triage model (LLM_MODEL) handles every message cheaply. If toxicity >= 0.25, off_topic, or coherence < 0.6, the message is re-analyzed with the heavy model (LLM_ESCALATION_MODEL). Chat, image analysis, /bcs-test, and /bcs-scan always use the heavy model. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -126,9 +126,19 @@ class CommandsCog(commands.Cog):
|
||||
inline=True,
|
||||
)
|
||||
embed.add_field(
|
||||
name="LLM",
|
||||
value=f"`{self.bot.llm.model}` @ `{self.bot.llm.host}`",
|
||||
inline=False,
|
||||
name="Triage Model",
|
||||
value=f"`{self.bot.llm.model}`",
|
||||
inline=True,
|
||||
)
|
||||
embed.add_field(
|
||||
name="Escalation Model",
|
||||
value=f"`{self.bot.llm_heavy.model}`",
|
||||
inline=True,
|
||||
)
|
||||
embed.add_field(
|
||||
name="LLM Host",
|
||||
value=f"`{self.bot.llm.host}`",
|
||||
inline=True,
|
||||
)
|
||||
|
||||
await interaction.response.send_message(embed=embed, ephemeral=True)
|
||||
@@ -301,7 +311,7 @@ class CommandsCog(commands.Cog):
|
||||
else "(no prior context)"
|
||||
)
|
||||
|
||||
result = await self.bot.llm.analyze_message(msg.content, context)
|
||||
result = await self.bot.llm_heavy.analyze_message(msg.content, context)
|
||||
if result is None:
|
||||
embed = discord.Embed(
|
||||
title=f"Analysis: {msg.author.display_name}",
|
||||
@@ -374,7 +384,7 @@ class CommandsCog(commands.Cog):
|
||||
channel_context = "\n".join(lines)
|
||||
|
||||
user_notes = self.bot.drama_tracker.get_user_notes(interaction.user.id)
|
||||
raw, parsed = await self.bot.llm.raw_analyze(
|
||||
raw, parsed = await self.bot.llm_heavy.raw_analyze(
|
||||
message, user_notes=user_notes, channel_context=channel_context,
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user