ChoCoFly commited on
Commit
a90bfa3
·
verified ·
1 Parent(s): 386d067

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -1
app.py CHANGED
@@ -55,6 +55,7 @@ class SpyAgent(BasicAgent):
55
  prompt.append('\n请用以下格式回答:')
56
  prompt.append('平民词:[词语或"未知"/"信息不足"]')
57
  prompt.append('卧底词:[词语或"未知"/"信息不足"]')
 
58
  prompt.append('分析理由:[简要分析发言中的线索和推理过程]')
59
 
60
  analysis_result = self.llm_caller(''.join(prompt))
@@ -87,7 +88,16 @@ class SpyAgent(BasicAgent):
87
  reasoning = reason_match.group(1).strip()
88
  # 保存分析理由供下一轮使用
89
  self.memory.set_variable('word_analysis_reasoning', reasoning)
90
-
 
 
 
 
 
 
 
 
 
91
  return civilian_word, spy_word
92
  def process_speak(self, name, speak):
93
  prompt = []
 
55
  prompt.append('\n请用以下格式回答:')
56
  prompt.append('平民词:[词语或"未知"/"信息不足"]')
57
  prompt.append('卧底词:[词语或"未知"/"信息不足"]')
58
+ prompt.append('可疑玩家:[玩家名字或"未知"]') # 新增这行
59
  prompt.append('分析理由:[简要分析发言中的线索和推理过程]')
60
 
61
  analysis_result = self.llm_caller(''.join(prompt))
 
88
  reasoning = reason_match.group(1).strip()
89
  # 保存分析理由供下一轮使用
90
  self.memory.set_variable('word_analysis_reasoning', reasoning)
91
+ # 提取可疑玩家
92
+ suspect_match = re.search(r'可疑玩家[::]\s*(.+?)(?:\n|$)', analysis_result)
93
+ if suspect_match:
94
+ suspect = suspect_match.group(1).strip()
95
+ if not any(pattern in suspect.lower() for pattern in ["未知", "不清楚", "无法确定", "不确定", "信息不足"]):
96
+ for player in speak_history.keys():
97
+ if player in suspect and player != self.memory.load_variable('name'):
98
+ self.memory.set_variable('spy_player', player)
99
+ logger.info(f"集成分析识别可疑卧底: '{player}'")
100
+ break
101
  return civilian_word, spy_word
102
  def process_speak(self, name, speak):
103
  prompt = []