-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Open
Labels
Description
What happened?
Describe the bug
user-->writing_director_agent 每次只会到这就自动结束了, stop_reason='Digraph execution is complete'这怎么回事,是源代码bug还是我写的逻辑有问题
filtered_writing_director_agent = MessageFilterAgent(
name="writing_director_agent",
wrapped_agent=writing_director_agent,
filter=MessageFilterConfig(
per_source=[
PerSourceFilter(source="user", position="last", count=1),
PerSourceFilter(source="writing_agent", position="last", count=1)
])
)
filtered_writing_agent = MessageFilterAgent(
name="writing_agent",
wrapped_agent=writing_agent,
filter=MessageFilterConfig(
per_source=[
PerSourceFilter(source="retrieval_agent", position="last", count=1),
PerSourceFilter(source="writing_director_agent", position="last", count=1),
PerSourceFilter(source="writing_agent")
]),
)
filtered_retrieval_agent = MessageFilterAgent(
name="retrieval_agent",
wrapped_agent=retrieval_agent,
filter=MessageFilterConfig(per_source=[PerSourceFilter(source="writing_agent", position="last", count=1)]),
)
end_agent = AssistantAgent(
name="end_agent",
system_message="你是一个终结代理,轮到你发言时,不管什么情况,都不需要思考推理,你只需输出TERMINATE",
model_client=create_default_client(),
)
# Build graph with conditional loop
builder = DiGraphBuilder()
builder.add_node(filtered_writing_director_agent).add_node(filtered_writing_agent).add_node(filtered_retrieval_agent).add_node(end_agent)
builder.add_edge(filtered_writing_director_agent, filtered_writing_agent,condition=lambda msg: "TERMINATE" not in msg.to_model_text())
builder.add_edge(filtered_writing_director_agent, end_agent,condition=lambda msg: "TERMINATE" in msg.to_model_text())
builder.add_edge(filtered_writing_agent, filtered_writing_director_agent,condition=lambda msg: "APPROVE" in msg.to_model_text())
builder.add_edge(filtered_writing_agent, filtered_retrieval_agent, condition=lambda msg: "APPROVE" not in msg.to_model_text())
builder.add_edge(filtered_retrieval_agent, filtered_writing_agent)
builder.set_entry_point(filtered_writing_director_agent)
graph = builder.build()
termination_condition = TextMentionTermination("TERMINATE")
# Create the flow
flow = GraphFlow(
participants=builder.get_participants(),
graph=graph,
termination_condition=termination_condition
)
async for item in flow.run_stream(task=task):
logger.info(f"{item}")
Which packages was the bug in?
Python AgentChat (autogen-agentchat>=0.4.0)
AutoGen library version.
Python dev (main branch)
Other library version.
No response
Model used
No response
Model provider
Other (please specify below)
Other model provider
No response
Python version
3.12
.NET version
None
Operating system
Windows