atlasbot: strengthen cluster disambiguation

This commit is contained in:
Brad Stein 2026-01-27 15:07:28 -03:00
parent f649a6a9a2
commit dea70df209
2 changed files with 4 additions and 3 deletions

View File

@ -16,7 +16,7 @@ spec:
labels: labels:
app: atlasbot app: atlasbot
annotations: annotations:
checksum/atlasbot-configmap: manual-atlasbot-44 checksum/atlasbot-configmap: manual-atlasbot-45
vault.hashicorp.com/agent-inject: "true" vault.hashicorp.com/agent-inject: "true"
vault.hashicorp.com/role: "comms" vault.hashicorp.com/role: "comms"
vault.hashicorp.com/agent-inject-secret-turn-secret: "kv/data/atlas/comms/turn-shared-secret" vault.hashicorp.com/agent-inject-secret-turn-secret: "kv/data/atlas/comms/turn-shared-secret"

View File

@ -1870,7 +1870,7 @@ class _AtlasbotHandler(BaseHTTPRequestHandler):
fallback = "I don't have enough data to answer that." fallback = "I don't have enough data to answer that."
llm_prompt = cleaned llm_prompt = cleaned
if cluster_query: if cluster_query:
llm_prompt = f"Atlas cluster question: {cleaned}" llm_prompt = f"Atlas cluster question (use the cluster snapshot context): {cleaned}"
answer = ollama_reply( answer = ollama_reply(
("http", "internal"), ("http", "internal"),
llm_prompt, llm_prompt,
@ -2108,6 +2108,7 @@ def _ollama_call(hist_key, prompt: str, *, context: str, use_history: bool = Tru
"Be helpful, direct, and concise. " "Be helpful, direct, and concise. "
"Use the provided context and facts as your source of truth. " "Use the provided context and facts as your source of truth. "
"If the context includes a cluster snapshot, treat the question as about the Atlas/Othrys cluster even if the prompt is ambiguous. " "If the context includes a cluster snapshot, treat the question as about the Atlas/Othrys cluster even if the prompt is ambiguous. "
"When a cluster snapshot is provided, never answer about unrelated meanings of 'Atlas' (maps, mythology, Apache Atlas, etc). "
"Treat 'hottest' as highest utilization (CPU/RAM/NET/IO) rather than temperature. " "Treat 'hottest' as highest utilization (CPU/RAM/NET/IO) rather than temperature. "
"If you infer or synthesize, say 'Based on the snapshot' and keep it brief. " "If you infer or synthesize, say 'Based on the snapshot' and keep it brief. "
"Prefer exact repo paths and Kubernetes resource names when relevant. " "Prefer exact repo paths and Kubernetes resource names when relevant. "
@ -2318,7 +2319,7 @@ def sync_loop(token: str, room_id: str):
llm_prompt = cleaned_body llm_prompt = cleaned_body
if cluster_query: if cluster_query:
llm_prompt = f"Atlas cluster question: {cleaned_body}" llm_prompt = f\"Atlas cluster question (use the cluster snapshot context): {cleaned_body}\"
reply = ollama_reply_with_thinking( reply = ollama_reply_with_thinking(
token, token,
rid, rid,