diff --git a/python/packages/autogen-agentchat/src/autogen_agentchat/agents/_assistant_agent.py b/python/packages/autogen-agentchat/src/autogen_agentchat/agents/_assistant_agent.py index 4d169689e..4d001c0ab 100644 --- a/python/packages/autogen-agentchat/src/autogen_agentchat/agents/_assistant_agent.py +++ b/python/packages/autogen-agentchat/src/autogen_agentchat/agents/_assistant_agent.py @@ -702,6 +702,13 @@ class AssistantAgent(BaseChatAgent, Component[AssistantAgentConfig]): message_types.append(ToolCallSummaryMessage) return tuple(message_types) + @property + def model_context(self) -> ChatCompletionContext: + """ + The model context in use by the agent. + """ + return self._model_context + async def on_messages(self, messages: Sequence[ChatMessage], cancellation_token: CancellationToken) -> Response: async for message in self.on_messages_stream(messages, cancellation_token): if isinstance(message, Response): diff --git a/python/packages/autogen-agentchat/tests/test_assistant_agent.py b/python/packages/autogen-agentchat/tests/test_assistant_agent.py index 11600282c..f4f50f52b 100644 --- a/python/packages/autogen-agentchat/tests/test_assistant_agent.py +++ b/python/packages/autogen-agentchat/tests/test_assistant_agent.py @@ -615,6 +615,8 @@ async def test_model_context(monkeypatch: pytest.MonkeyPatch) -> None: ] await agent.run(task=messages) + # Check that the model_context property returns the correct internal context + assert agent.model_context == model_context # Check if the mock client is called with only the last two messages. assert len(model_client.create_calls) == 1 # 2 message from the context + 1 system message