mirror of
https://github.com/microsoft/autogen.git
synced 2026-02-08 03:35:19 -05:00
Add token usage to messages (#4028)
* Add token usage to messages * small test edit
This commit is contained in:
@@ -78,7 +78,7 @@ async def test_run_with_tools(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
created=0,
|
||||
model=model,
|
||||
object="chat.completion",
|
||||
usage=CompletionUsage(prompt_tokens=0, completion_tokens=0, total_tokens=0),
|
||||
usage=CompletionUsage(prompt_tokens=10, completion_tokens=5, total_tokens=0),
|
||||
),
|
||||
ChatCompletion(
|
||||
id="id2",
|
||||
@@ -88,7 +88,7 @@ async def test_run_with_tools(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
created=0,
|
||||
model=model,
|
||||
object="chat.completion",
|
||||
usage=CompletionUsage(prompt_tokens=0, completion_tokens=0, total_tokens=0),
|
||||
usage=CompletionUsage(prompt_tokens=10, completion_tokens=5, total_tokens=0),
|
||||
),
|
||||
ChatCompletion(
|
||||
id="id2",
|
||||
@@ -100,7 +100,7 @@ async def test_run_with_tools(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
created=0,
|
||||
model=model,
|
||||
object="chat.completion",
|
||||
usage=CompletionUsage(prompt_tokens=0, completion_tokens=0, total_tokens=0),
|
||||
usage=CompletionUsage(prompt_tokens=10, completion_tokens=5, total_tokens=0),
|
||||
),
|
||||
]
|
||||
mock = _MockChatCompletion(chat_completions)
|
||||
@@ -113,9 +113,17 @@ async def test_run_with_tools(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
result = await tool_use_agent.run("task")
|
||||
assert len(result.messages) == 4
|
||||
assert isinstance(result.messages[0], TextMessage)
|
||||
assert result.messages[0].model_usage is None
|
||||
assert isinstance(result.messages[1], ToolCallMessage)
|
||||
assert result.messages[1].model_usage is not None
|
||||
assert result.messages[1].model_usage.completion_tokens == 5
|
||||
assert result.messages[1].model_usage.prompt_tokens == 10
|
||||
assert isinstance(result.messages[2], ToolCallResultMessage)
|
||||
assert result.messages[2].model_usage is None
|
||||
assert isinstance(result.messages[3], TextMessage)
|
||||
assert result.messages[3].model_usage is not None
|
||||
assert result.messages[3].model_usage.completion_tokens == 5
|
||||
assert result.messages[3].model_usage.prompt_tokens == 10
|
||||
|
||||
# Test streaming.
|
||||
mock._curr_index = 0 # pyright: ignore
|
||||
@@ -158,7 +166,7 @@ async def test_handoffs(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
created=0,
|
||||
model=model,
|
||||
object="chat.completion",
|
||||
usage=CompletionUsage(prompt_tokens=0, completion_tokens=0, total_tokens=0),
|
||||
usage=CompletionUsage(prompt_tokens=42, completion_tokens=43, total_tokens=85),
|
||||
),
|
||||
]
|
||||
mock = _MockChatCompletion(chat_completions)
|
||||
@@ -173,9 +181,17 @@ async def test_handoffs(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
result = await tool_use_agent.run("task")
|
||||
assert len(result.messages) == 4
|
||||
assert isinstance(result.messages[0], TextMessage)
|
||||
assert result.messages[0].model_usage is None
|
||||
assert isinstance(result.messages[1], ToolCallMessage)
|
||||
assert result.messages[1].model_usage is not None
|
||||
assert result.messages[1].model_usage.completion_tokens == 43
|
||||
assert result.messages[1].model_usage.prompt_tokens == 42
|
||||
assert isinstance(result.messages[2], ToolCallResultMessage)
|
||||
assert result.messages[2].model_usage is None
|
||||
assert isinstance(result.messages[3], HandoffMessage)
|
||||
assert result.messages[3].content == handoff.message
|
||||
assert result.messages[3].target == handoff.target
|
||||
assert result.messages[3].model_usage is None
|
||||
|
||||
# Test streaming.
|
||||
mock._curr_index = 0 # pyright: ignore
|
||||
|
||||
Reference in New Issue
Block a user