v1.44.1: log per-completion tool census (sent, mcp, core, lazy, names)
This commit is contained in:
+8
-1
@@ -17068,8 +17068,10 @@ class LoggerTests(unittest.TestCase):
|
||||
cand = {"provider": "p", "model": "m"}
|
||||
messages = [{"role": "system", "content": "sys"}, {"role": "user", "content": "hi"}]
|
||||
reply = {"role": "assistant", "content": "yo", "reasoning": "", "tool_calls": [], "backend": "p"}
|
||||
schemas = [tai.tool_schema("shell", "d", {}, []), tai.tool_schema("record_search", "d", {}, []),
|
||||
{"type": "function", "function": {"name": "mcp_srv_echo"}}]
|
||||
with mock.patch.object(tai.ChatClient, "call_candidate", return_value=reply):
|
||||
self.assertEqual(chat.try_candidate(cand, messages, None, {"model": "x"}, None, False, []), reply)
|
||||
self.assertEqual(chat.try_candidate(cand, messages, schemas, {"model": "x"}, None, False, []), reply)
|
||||
tai.LOG.db.commit()
|
||||
rows = self.store.log_query(component="llm", event="completion")
|
||||
self.assertEqual(len(rows), 1)
|
||||
@@ -17078,6 +17080,11 @@ class LoggerTests(unittest.TestCase):
|
||||
self.assertEqual(meta["assistant_text"], "yo")
|
||||
self.assertEqual(meta["tokens_total"], meta["tokens_in"] + meta["tokens_out"])
|
||||
self.assertIsNone(meta["cost_usd"])
|
||||
self.assertEqual(meta["tools_sent"], 3)
|
||||
self.assertEqual(meta["tools_core"], 1)
|
||||
self.assertEqual(meta["tools_lazy"], 1)
|
||||
self.assertEqual(meta["tools_mcp"], 1)
|
||||
self.assertEqual(meta["tool_names"], ["mcp_srv_echo", "record_search", "shell"])
|
||||
with mock.patch.object(tai.ChatClient, "call_candidate", side_effect=tai.BackendError("boom")):
|
||||
self.assertIsNone(chat.try_candidate(cand, messages, None, {"model": "x"}, None, False, []))
|
||||
tai.LOG.db.commit()
|
||||
|
||||
Reference in New Issue
Block a user