11_ANPInit.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. from hello_agents.protocols import ANPDiscovery, register_service
  2. # 创建服务发现中心
  3. discovery = ANPDiscovery()
  4. # 注册Agent服务
  5. register_service(
  6. discovery=discovery,
  7. service_id="nlp_agent_1",
  8. service_name="NLP处理专家A",
  9. service_type="nlp",
  10. capabilities=["text_analysis", "sentiment_analysis", "ner"],
  11. endpoint="http://localhost:8001",
  12. metadata={"load": 0.3, "price": 0.01, "version": "1.0.0"}
  13. )
  14. register_service(
  15. discovery=discovery,
  16. service_id="nlp_agent_2",
  17. service_name="NLP处理专家B",
  18. service_type="nlp",
  19. capabilities=["text_analysis", "translation"],
  20. endpoint="http://localhost:8002",
  21. metadata={"load": 0.7, "price": 0.02, "version": "1.1.0"}
  22. )
  23. print("✅ 服务注册完成")
  24. from hello_agents.protocols import discover_service
  25. # 按类型查找
  26. nlp_services = discover_service(discovery, service_type="nlp")
  27. print(f"找到 {len(nlp_services)} 个NLP服务")
  28. # 选择负载最低的服务
  29. best_service = min(nlp_services, key=lambda s: s.metadata.get("load", 1.0))
  30. print(f"最佳服务:{best_service.service_name} (负载: {best_service.metadata['load']})")
  31. from hello_agents.protocols import ANPNetwork
  32. # 创建网络
  33. network = ANPNetwork(network_id="ai_cluster")
  34. # 添加节点
  35. for service in discovery.list_all_services():
  36. network.add_node(service.service_id, service.endpoint)
  37. # 建立连接(根据能力匹配)
  38. network.connect_nodes("nlp_agent_1", "nlp_agent_2")
  39. stats = network.get_network_stats()
  40. print(f"✅ 网络构建完成,共 {stats['total_nodes']} 个节点")