06_a2a_server.py 891 B

1234567891011121314151617181920212223242526
  1. from python_a2a import A2AServer, run_server, AgentCard, AgentSkill, TaskStatus, TaskState
  2. # 定义代理卡片
  3. ticket_card = AgentCard(
  4. name="TicketAgentServer",
  5. description="票务代理",
  6. url="http://127.0.0.1:5009",
  7. skills=[AgentSkill(name="book_ticket", description="预订票务")]
  8. )
  9. # 自定义 A2AServer 子类
  10. class TicketServer(A2AServer):
  11. def __init__(self):
  12. super().__init__(agent_card=ticket_card)
  13. def handle_task(self, task):
  14. print(f"任务状态:{task.status.state}")
  15. task.artifacts = [{"parts": [{"type": "text", "text": "已收到任务"}]}]
  16. task.status = TaskStatus(state=TaskState.COMPLETED)
  17. return task
  18. # 启动服务器
  19. if __name__ == "__main__":
  20. server = TicketServer()
  21. print(f"[{server.agent_card.name}] 创建服务成功")
  22. run_server(server, host="127.0.0.1", port=5009, debug=False)