mind_echo_agent.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # src/agents/mind_echo_agent.py
  2. from hello_agents import SimpleAgent, HelloAgentsLLM, ToolRegistry
  3. from hello_agents.tools import MemoryTool, A2ATool
  4. from src.tools.dialogue_state_tool import DialogueStateTool
  5. from src.tools.mood_music_tool import MoodMusicTool
  6. from src.tools.text_comfort_tool import TextComfortTool
  7. from src.tools.mood_summary_tool import MoodSummaryTool
  8. from src.utils.state import DialogueState
  9. def create_mind_echo_agent(user_id: str = "user001"):
  10. llm = HelloAgentsLLM()
  11. system_prompt = """
  12. 你是 MindEchoAgent(心境回响),负责情绪陪伴与音乐推荐。
  13. 你需要:
  14. 1)识别用户心境,每次对话先判断状态(MOOD/COMFORT/MUSIC/ESCALATE)
  15. 2)状态决定调用哪个工具,比如提供安抚/音乐推荐
  16. 3)若用户出现“持续焦虑、睡不着、失眠”等关键词或状态为 ESCALATE,必须升级到 SleepAgent(A2A)
  17. """
  18. agent = SimpleAgent(
  19. name="MindEchoAgent",
  20. llm=llm,
  21. system_prompt=system_prompt
  22. )
  23. registry = ToolRegistry()
  24. registry.register_tool(MemoryTool(user_id=user_id))
  25. registry.register_tool(DialogueStateTool())
  26. registry.register_tool(TextComfortTool())
  27. registry.register_tool(MoodMusicTool())
  28. registry.register_tool(MoodSummaryTool())
  29. # A2A 工具:指向 SleepAgent 服务
  30. sleep_tool = A2ATool(
  31. agent_url="http://localhost:6000", # SleepAgent 默认端口
  32. name="sleep_agent",
  33. description="睡眠专家,处理失眠/焦虑等问题"
  34. )
  35. registry.register_tool(sleep_tool)
  36. agent.tool_registry = registry
  37. agent.current_state = DialogueState.INIT.value
  38. return agent