Skip to content

reasoning model does not work #7127

@cloud-java

Description

@cloud-java

What happened?

当我在 model_info 中使用"family": "r1"的时候,如果是一个简单的 agent,可以输出think标签,但是当我在 agent 里面加入 tool 的时候,就无法输出think标签,终端会打印下面的内容:
/.venv/lib/python3.12/site-packages/autogen_ext/models/openai/_openai_client.py:1054: UserWarning: Could not find .. field in model response content. No thought was extracted.
thought, content = parse_r1_content(content)

下面是我的完整的代码:

import asyncio

from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.teams import DiGraphBuilder, GraphFlow
from autogen_ext.models.openai import OpenAIChatCompletionClient

# Create an OpenAI model client
client = OpenAIChatCompletionClient(
    model='deepseek-reasoner',
    api_key="sk-xxxxxxxxxx",
    base_url="https://api.deepseek.com",
    model_info={
        "vision": False,
        "function_calling": True,
        "json_output": True,
        "structured_output": True,  # 添加 structured_output 字段
        "family": "r1",
        "multiple_system_messages": True
    },
    parallel_tool_calls=False,
)


def getWeather(city: str):
    return f"{city} 今天天气晴朗,气温适宜,适合出门游玩。"


# Create the writer agent
ai_agent = AssistantAgent(
    "AI_assistant",
    model_client=client,
    system_message="你是一个智能助手",
    model_client_stream=True,
    # tools=[getWeather]
)


async def getWirteter():
    return ai_agent


async def main():
    writer = await getWirteter()
    x = writer.run_stream(task="hi,what is the weather in beijing?")
    async for i in x:
        print(i)


asyncio.run(main())

/.venv/bin/python3.12 test_reasoner.py 
id='e1bfb611-65b9-4336-b307-34222a7d7c26' source='user' models_usage=None metadata={} created_at=datetime.datetime(2025, 11, 24, 3, 14, 2, 906462, tzinfo=datetime.timezone.utc) content='hi,what is the weather in beijing?' type='TextMessage'
id='7a2f21ff-44e2-410d-9002-63183d8088ff' source='AI_assistant' models_usage=None metadata={} created_at=datetime.datetime(2025, 11, 24, 3, 14, 3, 893948, tzinfo=datetime.timezone.utc) content='<think>嗯' full_message_id='f09625aa-a5a8-42cb-8f5f-4f4399b4da8c' type='ModelClientStreamingChunkEvent'
id='ec9d1f6e-43b8-4085-8dd4-8db1f258a84b' source='AI_assistant' models_usage=None metadata={} created_at=datetime.datetime(2025, 11, 24, 3, 14, 4, 76887, tzinfo=datetime.timezone.utc) content='' full_message_id='f09625aa-a5a8-42cb-8f5f-4f4399b4da8c' type='ModelClientStreamingChunkEvent'
id='7a5cccf8-07cd-4f02-b461-8a4fcfdd36ba' source='AI_assistant' models_usage=None metadata={} created_at=datetime.datetime(2025, 11, 24, 3, 14, 4, 141736, tzinfo=datetime.timezone.utc) content='用户' full_message_id='f09625aa-a5a8-42cb-8f5f-4f4399b4da8c' type='ModelClientStreamingChunkEvent'
id='5efefb27-9e30-4d05-a2db-5c585bb840f6' source='AI_assistant' models_usage=None metadata={} created_at=datetime.datetime(2025, 11, 24, 3, 14, 4, 143367, tzinfo=datetime.timezone.utc) content='询问' 
...
...
id='ec5f3a6f-6719-43fa-b98f-09c2b85f76a0' source='AI_assistant' models_usage=None metadata={} created_at=datetime.datetime(2025, 11, 24, 3, 14, 7, 679985, tzinfo=datetime.timezone.utc) content='</think>' full_message_id='f09625aa-a5a8-42cb-8f5f-4f4399b4da8c' type='ModelClientStreamingChunkEvent'
id='10a4a349-f906-49f1-9695-d6cc4adffe7f' source='AI_assistant' models_usage=None metadata={} created_at=datetime.datetime(2025, 11, 24, 3, 14, 7, 680045, tzinfo=datetime.timezone.utc) content='I' full_message_id='f09625aa-a5a8-42cb-8f5f-4f4399b4da8c' type='ModelClientStreamingChunkEvent'

你可以看到think标签,但是如果把这段 tools=[getWeather]代码的注释去掉,就没有思考的过程了
我希望这个思考的过程是可以输出给我的

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions