yooke commited on
Commit
0569026
·
verified ·
1 Parent(s): 8f910e7

Update agent.py

Browse files
Files changed (1) hide show
  1. agent.py +28 -1
agent.py CHANGED
@@ -111,7 +111,7 @@ def build_graph():
111
  messages = [SystemMessage(content=system_prompt)] + messages
112
 
113
  result = llm_with_tools.invoke(messages)
114
- print(f"---Assistant Response: {result}") # Added print for debugging
115
  return {"messages": [result]}
116
 
117
  builder = StateGraph(MessagesState)
@@ -178,6 +178,33 @@ if __name__ == "__main__":
178
  try:
179
  # LangGraph returns the final state after execution completes or hits recursion limit
180
  final_state = graph.invoke({"messages": [SystemMessage(content=system_prompt), HumanMessage(content=question)]})
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
181
  print("\n--- Final State Messages ---")
182
  for m in final_state["messages"]:
183
  m.pretty_print()
 
111
  messages = [SystemMessage(content=system_prompt)] + messages
112
 
113
  result = llm_with_tools.invoke(messages)
114
+ # print(f"---Assistant Response: {result}") # Added print for debugging
115
  return {"messages": [result]}
116
 
117
  builder = StateGraph(MessagesState)
 
178
  try:
179
  # LangGraph returns the final state after execution completes or hits recursion limit
180
  final_state = graph.invoke({"messages": [SystemMessage(content=system_prompt), HumanMessage(content=question)]})
181
+
182
+ # 在这里添加您的处理答案代码
183
+ def process_answer(answer):
184
+ """处理最终答案,去除可能的解释性文本"""
185
+ # 如果答案包含"FINAL ANSWER:",提取实际答案部分
186
+ if "FINAL ANSWER:" in answer.upper():
187
+ import re
188
+ match = re.search(r'(?i)FINAL ANSWER:\s*(.*)', answer)
189
+ if match:
190
+ return match.group(1).strip()
191
+
192
+ # 如果答案较长且包含多个句子,尝试提取最后一句作为答案
193
+ if len(answer.split()) > 15 and "." in answer:
194
+ sentences = answer.split(".")
195
+ # 过滤掉空字符串
196
+ sentences = [s.strip() for s in sentences if s.strip()]
197
+ if sentences:
198
+ return sentences[-1].strip()
199
+
200
+ return answer.strip()
201
+
202
+ # 在提交答案前应用处理
203
+ final_answer = final_state["messages"][-1].content
204
+ processed_answer = process_answer(final_answer)
205
+ # 打印处理后的答案
206
+ print(f"\n--- Processed Answer: {processed_answer}")
207
+
208
  print("\n--- Final State Messages ---")
209
  for m in final_state["messages"]:
210
  m.pretty_print()