dialogue_state_tool.py 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. # src/tools/dialogue_state_tool.py
  2. from hello_agents.tools import Tool as BaseTool
  3. from src.utils.state import DialogueState
  4. class DialogueStateTool(BaseTool):
  5. def __init__(self):
  6. super().__init__(
  7. name="dialogue_state_tool",
  8. description="判断当前对话应处于哪个阶段"
  9. )
  10. self.name = "dialogue_state_tool"
  11. self.description = "判断当前对话应处于哪个阶段"
  12. def get_parameters(self):
  13. return {
  14. "type": "object",
  15. "properties": {
  16. "query": {"type": "string", "description": "用户输入"},
  17. "current_state": {"type": "string", "description": "当前状态"}
  18. },
  19. "required": ["query"]
  20. }
  21. def run(self, query: str, current_state: str = "") -> str:
  22. # 初级版本--MVP规则:关键字触发
  23. if "睡不着" in query or "失眠" in query or "焦虑" in query:
  24. return DialogueState.ESCALATE.value
  25. if "听" in query or "音乐" in query:
  26. return DialogueState.MUSIC.value
  27. if "难受" in query or "不开心" in query:
  28. return DialogueState.COMFORT.value
  29. return DialogueState.MOOD.value