-
Notifications
You must be signed in to change notification settings - Fork 8k
Open
Labels
Description
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]代码的注释去掉,就没有思考的过程了
我希望这个思考的过程是可以输出给我的