Update src/txagent/txagent.py
Browse files- src/txagent/txagent.py +7 -0
src/txagent/txagent.py
CHANGED
@@ -640,6 +640,7 @@ Summarize the function calls' responses in one sentence with all necessary infor
|
|
640 |
try:
|
641 |
while next_round and current_round < max_round:
|
642 |
current_round += 1
|
|
|
643 |
if last_outputs:
|
644 |
function_call_messages, picked_tools_prompt, special_tool_call, current_gradio_history = yield from self.run_function_call_stream(
|
645 |
last_outputs, return_message=True,
|
@@ -651,6 +652,7 @@ Summarize the function calls' responses in one sentence with all necessary infor
|
|
651 |
history.extend(current_gradio_history)
|
652 |
|
653 |
if special_tool_call == 'Finish':
|
|
|
654 |
yield history
|
655 |
next_round = False
|
656 |
conversation.extend(function_call_messages)
|
@@ -659,6 +661,7 @@ Summarize the function calls' responses in one sentence with all necessary infor
|
|
659 |
elif special_tool_call in ['RequireClarification', 'DirectResponse']:
|
660 |
last_msg = history[-1] if history else ChatMessage(role="assistant", content="Response needed.")
|
661 |
history.append(ChatMessage(role="assistant", content=last_msg.content))
|
|
|
662 |
yield history
|
663 |
next_round = False
|
664 |
return last_msg.content
|
@@ -674,6 +677,7 @@ Summarize the function calls' responses in one sentence with all necessary infor
|
|
674 |
else:
|
675 |
next_round = False
|
676 |
conversation.append({"role": "assistant", "content": ''.join(last_outputs)})
|
|
|
677 |
return ''.join(last_outputs).replace("</s>", "")
|
678 |
|
679 |
last_outputs = []
|
@@ -711,6 +715,7 @@ Summarize the function calls' responses in one sentence with all necessary infor
|
|
711 |
history.append(ChatMessage(role="assistant", content=final_thought.strip()))
|
712 |
yield history
|
713 |
history.append(ChatMessage(role="assistant", content="**🧠 Final Analysis:**\n" + final_answer.strip()))
|
|
|
714 |
yield history
|
715 |
else:
|
716 |
history.append(ChatMessage(role="assistant", content=last_thought))
|
@@ -727,6 +732,7 @@ Summarize the function calls' responses in one sentence with all necessary infor
|
|
727 |
history.append(ChatMessage(role="assistant", content=final_thought.strip()))
|
728 |
yield history
|
729 |
history.append(ChatMessage(role="assistant", content="**🧠 Final Analysis:**\n" + final_answer.strip()))
|
|
|
730 |
yield history
|
731 |
else:
|
732 |
yield "Reasoning rounds exceeded limit."
|
@@ -744,5 +750,6 @@ Summarize the function calls' responses in one sentence with all necessary infor
|
|
744 |
history.append(ChatMessage(role="assistant", content=final_thought.strip()))
|
745 |
yield history
|
746 |
history.append(ChatMessage(role="assistant", content="**🧠 Final Analysis:**\n" + final_answer.strip()))
|
|
|
747 |
yield history
|
748 |
return error_msg
|
|
|
640 |
try:
|
641 |
while next_round and current_round < max_round:
|
642 |
current_round += 1
|
643 |
+
logger.debug("Starting round %d/%d", current_round, max_round)
|
644 |
if last_outputs:
|
645 |
function_call_messages, picked_tools_prompt, special_tool_call, current_gradio_history = yield from self.run_function_call_stream(
|
646 |
last_outputs, return_message=True,
|
|
|
652 |
history.extend(current_gradio_history)
|
653 |
|
654 |
if special_tool_call == 'Finish':
|
655 |
+
logger.info("Finish tool called, ending chat")
|
656 |
yield history
|
657 |
next_round = False
|
658 |
conversation.extend(function_call_messages)
|
|
|
661 |
elif special_tool_call in ['RequireClarification', 'DirectResponse']:
|
662 |
last_msg = history[-1] if history else ChatMessage(role="assistant", content="Response needed.")
|
663 |
history.append(ChatMessage(role="assistant", content=last_msg.content))
|
664 |
+
logger.info("Special tool %s called, ending chat", special_tool_call)
|
665 |
yield history
|
666 |
next_round = False
|
667 |
return last_msg.content
|
|
|
677 |
else:
|
678 |
next_round = False
|
679 |
conversation.append({"role": "assistant", "content": ''.join(last_outputs)})
|
680 |
+
logger.info("No function call messages, ending chat")
|
681 |
return ''.join(last_outputs).replace("</s>", "")
|
682 |
|
683 |
last_outputs = []
|
|
|
715 |
history.append(ChatMessage(role="assistant", content=final_thought.strip()))
|
716 |
yield history
|
717 |
history.append(ChatMessage(role="assistant", content="**🧠 Final Analysis:**\n" + final_answer.strip()))
|
718 |
+
logger.info("Final answer provided: %s", final_answer[:100])
|
719 |
yield history
|
720 |
else:
|
721 |
history.append(ChatMessage(role="assistant", content=last_thought))
|
|
|
732 |
history.append(ChatMessage(role="assistant", content=final_thought.strip()))
|
733 |
yield history
|
734 |
history.append(ChatMessage(role="assistant", content="**🧠 Final Analysis:**\n" + final_answer.strip()))
|
735 |
+
logger.info("Forced final answer: %s", final_answer[:100])
|
736 |
yield history
|
737 |
else:
|
738 |
yield "Reasoning rounds exceeded limit."
|
|
|
750 |
history.append(ChatMessage(role="assistant", content=final_thought.strip()))
|
751 |
yield history
|
752 |
history.append(ChatMessage(role="assistant", content="**🧠 Final Analysis:**\n" + final_answer.strip()))
|
753 |
+
logger.info("Forced final answer after error: %s", final_answer[:100])
|
754 |
yield history
|
755 |
return error_msg
|