agentUniverse 0.0.8.dev1__tar.gz → 0.0.9.dev2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/PKG-INFO +4 -1
  2. agentuniverse-0.0.9.dev2/agentuniverse/agent/action/knowledge/embedding/dashscope_embedding.py +156 -0
  3. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/embedding/openai_embedding.py +1 -0
  4. agentuniverse-0.0.9.dev2/agentuniverse/agent/action/knowledge/embedding/qwen_embedding.py +82 -0
  5. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/tool/tool.py +19 -1
  6. agentuniverse-0.0.9.dev2/agentuniverse/agent/default/nl2api_agent/default_cn_prompt.yaml +27 -0
  7. agentuniverse-0.0.9.dev2/agentuniverse/agent/default/nl2api_agent/default_en_prompt.yaml +26 -0
  8. agentuniverse-0.0.9.dev2/agentuniverse/agent/default/nl2api_agent/nl2api_agent.py +45 -0
  9. agentuniverse-0.0.9.dev2/agentuniverse/agent/default/nl2api_agent/nl2api_agent.yaml +17 -0
  10. agentuniverse-0.0.9.dev2/agentuniverse/agent/default/react_agent/__init__.py +7 -0
  11. agentuniverse-0.0.9.dev2/agentuniverse/agent/default/react_agent/default_cn_prompt.yaml +35 -0
  12. agentuniverse-0.0.9.dev2/agentuniverse/agent/default/react_agent/default_en_prompt.yaml +31 -0
  13. agentuniverse-0.0.9.dev2/agentuniverse/agent/default/react_agent/react_agent.py +44 -0
  14. agentuniverse-0.0.9.dev2/agentuniverse/agent/default/react_agent/react_agent.yaml +17 -0
  15. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/memory/default/default_memory.py +1 -1
  16. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/executing_planner/executing_planner.py +4 -3
  17. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/expressing_planner/expressing_planner.py +3 -2
  18. agentuniverse-0.0.9.dev2/agentuniverse/agent/plan/planner/nl2api_planner/__init__.py +0 -0
  19. agentuniverse-0.0.9.dev2/agentuniverse/agent/plan/planner/nl2api_planner/nl2api_planner.py +111 -0
  20. agentuniverse-0.0.9.dev2/agentuniverse/agent/plan/planner/nl2api_planner/nl2api_planner.yaml +6 -0
  21. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/planner.py +3 -3
  22. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/planning_planner/planning_planner.py +3 -2
  23. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/rag_planner/rag_planner.py +4 -3
  24. agentuniverse-0.0.9.dev2/agentuniverse/agent/plan/planner/react_planner/__init__.py +7 -0
  25. agentuniverse-0.0.9.dev2/agentuniverse/agent/plan/planner/react_planner/react_planner.py +122 -0
  26. agentuniverse-0.0.9.dev2/agentuniverse/agent/plan/planner/react_planner/react_planner.yaml +6 -0
  27. agentuniverse-0.0.9.dev2/agentuniverse/agent/plan/planner/react_planner/stream_callback.py +64 -0
  28. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/reviewing_planner/reviewing_planner.py +3 -2
  29. agentuniverse-0.0.9.dev2/agentuniverse/agent_serve/__init__.py +0 -0
  30. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/prompt_util.py +3 -0
  31. agentuniverse-0.0.9.dev2/agentuniverse/llm/claude_langchain_instance.py +93 -0
  32. agentuniverse-0.0.9.dev2/agentuniverse/llm/default/claude_llm.py +154 -0
  33. agentuniverse-0.0.9.dev2/agentuniverse/llm/default/claude_llm.yaml +8 -0
  34. agentuniverse-0.0.9.dev2/agentuniverse/llm/default/default_ollama_llm.py +100 -0
  35. agentuniverse-0.0.9.dev2/agentuniverse/llm/default/default_ollama_llm.yaml +9 -0
  36. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/llm.py +3 -3
  37. agentuniverse-0.0.9.dev2/agentuniverse/llm/ollama_langchain_instance.py +39 -0
  38. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/openai_style_langchain_instance.py +107 -2
  39. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/openai_style_llm.py +2 -0
  40. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/pyproject.toml +4 -1
  41. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/LICENSE +0 -0
  42. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/README_PYPI.md +0 -0
  43. {agentuniverse-0.0.8.dev1/agentuniverse_connector → agentuniverse-0.0.9.dev2/agentuniverse}/__init__.py +0 -0
  44. {agentuniverse-0.0.8.dev1/agentuniverse/base → agentuniverse-0.0.9.dev2/agentuniverse/agent}/__init__.py +0 -0
  45. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/__init__.py +0 -0
  46. {agentuniverse-0.0.8.dev1/agentuniverse/agent/action/tool → agentuniverse-0.0.9.dev2/agentuniverse/agent/action/knowledge}/__init__.py +0 -0
  47. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/embedding/__init__.py +0 -0
  48. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/embedding/embedding.py +0 -0
  49. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/knowledge.py +0 -0
  50. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/knowledge_manager.py +0 -0
  51. {agentuniverse-0.0.8.dev1/agentuniverse/agent/action/knowledge/reader/file → agentuniverse-0.0.9.dev2/agentuniverse/agent/action/knowledge/reader}/__init__.py +0 -0
  52. {agentuniverse-0.0.8.dev1/agentuniverse/agent/action/knowledge/reader → agentuniverse-0.0.9.dev2/agentuniverse/agent/action/knowledge/reader/file}/__init__.py +0 -0
  53. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/reader/file/docx_reader.py +0 -0
  54. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/reader/file/file_reader.py +0 -0
  55. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/reader/file/pdf_reader.py +0 -0
  56. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/reader/file/pptx_reader.py +0 -0
  57. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/reader/file/web_pdf_reader.py +0 -0
  58. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/reader/reader.py +0 -0
  59. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/store/__init__.py +0 -0
  60. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/store/chroma_store.py +0 -0
  61. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/store/document.py +0 -0
  62. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/store/milvus_store.py +0 -0
  63. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/store/query.py +0 -0
  64. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/knowledge/store/store.py +0 -0
  65. {agentuniverse-0.0.8.dev1/agentuniverse/agent/action/knowledge → agentuniverse-0.0.9.dev2/agentuniverse/agent/action/tool}/__init__.py +0 -0
  66. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/tool/enum.py +0 -0
  67. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/action/tool/tool_manager.py +0 -0
  68. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/agent.py +0 -0
  69. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/agent_manager.py +0 -0
  70. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/agent_model.py +0 -0
  71. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/__init__.py +0 -0
  72. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/executing_agent/__init__.py +0 -0
  73. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/executing_agent/default_cn_prompt.yaml +0 -0
  74. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/executing_agent/default_en_prompt.yaml +0 -0
  75. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/executing_agent/executing_agent.py +0 -0
  76. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/executing_agent/executing_agent.yaml +0 -0
  77. {agentuniverse-0.0.8.dev1/agentuniverse/agent/default/rag_agent → agentuniverse-0.0.9.dev2/agentuniverse/agent/default/expressing_agent}/__init__.py +0 -0
  78. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/expressing_agent/default_cn_prompt.yaml +0 -0
  79. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/expressing_agent/default_en_prompt.yaml +0 -0
  80. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/expressing_agent/expressing_agent.py +0 -0
  81. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/expressing_agent/expressing_agent.yaml +0 -0
  82. {agentuniverse-0.0.8.dev1/agentuniverse/agent_serve → agentuniverse-0.0.9.dev2/agentuniverse/agent/default/nl2api_agent}/__init__.py +0 -0
  83. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/peer_agent/__init__.py +0 -0
  84. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/peer_agent/peer_agent.py +0 -0
  85. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/peer_agent/peer_agent.yaml +0 -0
  86. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/planning_agent/__init__.py +0 -0
  87. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/planning_agent/default_cn_prompt.yaml +0 -0
  88. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/planning_agent/default_en_prompt.yaml +0 -0
  89. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/planning_agent/planning_agent.py +0 -0
  90. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/planning_agent/planning_agent.yaml +0 -0
  91. {agentuniverse-0.0.8.dev1/agentuniverse/agent/default/expressing_agent → agentuniverse-0.0.9.dev2/agentuniverse/agent/default/rag_agent}/__init__.py +0 -0
  92. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/rag_agent/default_cn_prompt.yaml +0 -0
  93. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/rag_agent/default_en_prompt.yaml +0 -0
  94. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/rag_agent/rag_agent.py +0 -0
  95. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/rag_agent/rag_agent.yaml +0 -0
  96. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/reviewing_agent/__init__.py +0 -0
  97. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/reviewing_agent/default_cn_prompt.yaml +0 -0
  98. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/reviewing_agent/default_en_prompt.yaml +0 -0
  99. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/reviewing_agent/reviewing_agent.py +0 -0
  100. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/default/reviewing_agent/reviewing_agent.yaml +0 -0
  101. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/input_object.py +0 -0
  102. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/memory/__init__.py +0 -0
  103. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/memory/chat_memory.py +0 -0
  104. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/memory/default/__init__.py +0 -0
  105. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/memory/default/default_memory.yaml +0 -0
  106. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/memory/enum.py +0 -0
  107. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/memory/langchain_instance.py +0 -0
  108. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/memory/memory.py +0 -0
  109. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/memory/memory_manager.py +0 -0
  110. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/memory/message.py +0 -0
  111. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/memory/summarizer_cn_prompt.yaml +0 -0
  112. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/memory/summarizer_en_prompt.yaml +0 -0
  113. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/output_object.py +0 -0
  114. {agentuniverse-0.0.8.dev1/agentuniverse/prompt → agentuniverse-0.0.9.dev2/agentuniverse/agent/plan}/__init__.py +0 -0
  115. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/__init__.py +0 -0
  116. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/executing_planner/__init__.py +0 -0
  117. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/executing_planner/executing_planner.yaml +0 -0
  118. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/expressing_planner/__init__.py +0 -0
  119. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/expressing_planner/expressing_planner.yaml +0 -0
  120. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/peer_planner/__init__.py +0 -0
  121. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/peer_planner/peer_planner.py +0 -0
  122. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/peer_planner/peer_planner.yaml +0 -0
  123. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/planner_manager.py +0 -0
  124. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/planning_planner/__init__.py +0 -0
  125. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/planning_planner/planning_planner.yaml +0 -0
  126. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/rag_planner/__init__.py +0 -0
  127. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/rag_planner/rag_planner.yaml +0 -0
  128. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/reviewing_planner/__init__.py +0 -0
  129. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent/plan/planner/reviewing_planner/reviewing_planner.yaml +0 -0
  130. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/service.py +0 -0
  131. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/service_configer.py +0 -0
  132. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/service_instance.py +0 -0
  133. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/service_manager.py +0 -0
  134. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/__init__.py +0 -0
  135. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/dal/__init__.py +0 -0
  136. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/dal/entity/__init__.py +0 -0
  137. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/dal/entity/request_do.py +0 -0
  138. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/dal/request_library.py +0 -0
  139. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/flask_server.py +0 -0
  140. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/gunicorn_server.py +0 -0
  141. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/post_fork_queue.py +0 -0
  142. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/request_task.py +0 -0
  143. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/rpc/__init__.py +0 -0
  144. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/rpc/grpc/__init__.py +0 -0
  145. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/rpc/grpc/agentuniverse_service.proto +0 -0
  146. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/rpc/grpc/agentuniverse_service_pb2.py +0 -0
  147. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/rpc/grpc/agentuniverse_service_pb2_grpc.py +0 -0
  148. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/rpc/grpc/grpc_server_booster.py +0 -0
  149. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/rpc/rpc_server.py +0 -0
  150. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/thread_with_result.py +0 -0
  151. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/web_booster.py +0 -0
  152. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/agent_serve/web/web_util.py +0 -0
  153. {agentuniverse-0.0.8.dev1/agentuniverse/agent → agentuniverse-0.0.9.dev2/agentuniverse/base}/__init__.py +0 -0
  154. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/agentuniverse.py +0 -0
  155. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/annotation/__init__.py +0 -0
  156. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/annotation/singleton.py +0 -0
  157. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/annotation/trace.py +0 -0
  158. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/component/__init__.py +0 -0
  159. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/component/application_component_manager.py +0 -0
  160. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/component/component_base.py +0 -0
  161. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/component/component_configer_util.py +0 -0
  162. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/component/component_enum.py +0 -0
  163. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/component/component_manager_base.py +0 -0
  164. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/__init__.py +0 -0
  165. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/application_configer/__init__.py +0 -0
  166. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/application_configer/app_configer.py +0 -0
  167. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/application_configer/application_config_manager.py +0 -0
  168. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/component_configer/__init__.py +0 -0
  169. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/component_configer/component_configer.py +0 -0
  170. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/component_configer/configers/__init__.py +0 -0
  171. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/component_configer/configers/agent_configer.py +0 -0
  172. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/component_configer/configers/knowledge_configer.py +0 -0
  173. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/component_configer/configers/llm_configer.py +0 -0
  174. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/component_configer/configers/memory_configer.py +0 -0
  175. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/component_configer/configers/planner_configer.py +0 -0
  176. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/component_configer/configers/prompt_configer.py +0 -0
  177. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/component_configer/configers/sqldb_wrapper_config.py +0 -0
  178. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/component_configer/configers/tool_configer.py +0 -0
  179. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/config_type_enum.py +0 -0
  180. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/configer.py +0 -0
  181. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/custom_configer/__init__.py +0 -0
  182. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/config/custom_configer/custom_key_configer.py +0 -0
  183. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/context/__init__.py +0 -0
  184. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/context/framework_context.py +0 -0
  185. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/context/framework_context_manager.py +0 -0
  186. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/__init__.py +0 -0
  187. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/env_util.py +0 -0
  188. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/logging/__init__.py +0 -0
  189. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/logging/general_logger.py +0 -0
  190. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/logging/logging_config.py +0 -0
  191. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/logging/logging_util.py +0 -0
  192. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/memory_util.py +0 -0
  193. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/monitor/__init__.py +0 -0
  194. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/monitor/monitor.py +0 -0
  195. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/prompt/__init__.py +0 -0
  196. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/prompt/combine_cn_prompt.yaml +0 -0
  197. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/prompt/combine_en_prompt.yaml +0 -0
  198. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/prompt/summary_cn_prompt.yaml +0 -0
  199. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/prompt/summary_en_prompt.yaml +0 -0
  200. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/base/util/system_util.py +0 -0
  201. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/database/__init__.py +0 -0
  202. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/database/sqldb_wrapper.py +0 -0
  203. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/database/sqldb_wrapper_manager.py +0 -0
  204. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/__init__.py +0 -0
  205. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/default/__init__.py +0 -0
  206. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/default/baichuan_openai_style_llm.py +0 -0
  207. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/default/baichuan_openai_style_llm.yaml +0 -0
  208. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/default/default_openai_llm.py +0 -0
  209. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/default/default_openai_llm.yaml +0 -0
  210. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/default/kimi_openai_style_llm.py +0 -0
  211. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/default/kimi_openai_style_llm.yaml +0 -0
  212. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/default/qwen_openai_style_llm.py +0 -0
  213. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/default/qwen_openai_style_llm.yaml +0 -0
  214. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/default/wenxin_llm.py +0 -0
  215. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/default/wenxin_llm.yaml +0 -0
  216. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/langchain_instance.py +0 -0
  217. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/llm_manager.py +0 -0
  218. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/llm_output.py +0 -0
  219. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/openai_llm.py +0 -0
  220. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/llm/wenxin_langchain_instance.py +0 -0
  221. {agentuniverse-0.0.8.dev1/agentuniverse/agent/plan → agentuniverse-0.0.9.dev2/agentuniverse/prompt}/__init__.py +0 -0
  222. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/prompt/chat_prompt.py +0 -0
  223. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/prompt/enum.py +0 -0
  224. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/prompt/prompt.py +0 -0
  225. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/prompt/prompt_manager.py +0 -0
  226. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse/prompt/prompt_model.py +0 -0
  227. {agentuniverse-0.0.8.dev1/agentuniverse → agentuniverse-0.0.9.dev2/agentuniverse_connector}/__init__.py +0 -0
  228. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse_extension/__init__.py +0 -0
  229. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse_extension/logger/__init__.py +0 -0
  230. {agentuniverse-0.0.8.dev1 → agentuniverse-0.0.9.dev2}/agentuniverse_extension/logger/sls_sink.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: agentUniverse
3
- Version: 0.0.8.dev1
3
+ Version: 0.0.9.dev2
4
4
  Summary: agentUniverse is a framework for developing applications powered by multi-agent base on large language model.
5
5
  Home-page: https://github.com/alipay/agentUniverse
6
6
  Author: AntGroup
@@ -27,11 +27,14 @@ Requires-Dist: googleapis-common-protos (>=1.63.0,<2.0.0)
27
27
  Requires-Dist: grpcio (==1.63.0)
28
28
  Requires-Dist: gunicorn (>=22.0.0,<23.0.0)
29
29
  Requires-Dist: langchain (==0.1.20)
30
+ Requires-Dist: langchain-anthropic (>=0.1.13,<0.2.0)
30
31
  Requires-Dist: langchain-community (==0.0.38)
31
32
  Requires-Dist: langchain-core (==0.1.52)
32
33
  Requires-Dist: loguru (==0.7.2)
33
34
  Requires-Dist: myst-parser (>=2.0.0,<3.0.0)
35
+ Requires-Dist: ollama (>=0.2.1,<0.3.0)
34
36
  Requires-Dist: openai (==1.13.3)
37
+ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc (>=1.25.0,<2.0.0)
35
38
  Requires-Dist: pydantic (>=2.6.4,<3.0.0)
36
39
  Requires-Dist: pymilvus (>=2.4.3,<3.0.0) ; extra == "store-ext"
37
40
  Requires-Dist: qianfan (>=0.3.12,<0.4.0)
@@ -0,0 +1,156 @@
1
+ # !/usr/bin/env python3
2
+ # -*- coding:utf-8 -*-
3
+
4
+ # @Time : 2024/6/12 11:43
5
+ # @Author : wangchongshi
6
+ # @Email : wangchongshi.wcs@antgroup.com
7
+ # @FileName: dashscope_embedding.py
8
+ import aiohttp
9
+ import requests
10
+ from typing import List, Generator, Optional
11
+ import json
12
+
13
+ from agentuniverse.base.util.env_util import get_from_env
14
+ from agentuniverse.agent.action.knowledge.embedding.embedding import Embedding
15
+
16
+ # Dashscope support max 25 string in one batch, each string max tokens is 2048.
17
+ DASHSCOPE_MAX_BATCH_SIZE = 25
18
+ DASHSCOPE_EMBEDDING_URL = "https://dashscope.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding"
19
+
20
+
21
+ def batched(inputs: List,
22
+ batch_size: int = DASHSCOPE_MAX_BATCH_SIZE) -> Generator[List, None, None]:
23
+ # Split input string list, due to dashscope support 25 strings in one call.
24
+ for i in range(0, len(inputs), batch_size):
25
+ yield inputs[i:i + batch_size]
26
+
27
+
28
+ class DashscopeEmbedding(Embedding):
29
+ """The Dashscope embedding class."""
30
+ dashscope_api_key: Optional[str] = None
31
+
32
+ def __init__(self, **kwargs):
33
+ """Initialize the dashscope embedding class, need dashscope api key."""
34
+ super().__init__(**kwargs)
35
+ self.dashscope_api_key = get_from_env("DASHSCOPE_API_KEY")
36
+ if not self.dashscope_api_key:
37
+ raise Exception("No DASHSCOPE_API_KEY in your environment.")
38
+
39
+
40
+ def get_embeddings(self, texts: List[str]) -> List[List[float]]:
41
+ """
42
+ Retrieve text embeddings for a list of input texts.
43
+
44
+ This function interfaces with the DashScope embedding API to obtain
45
+ embeddings for a batch of input texts. It handles batching of input texts
46
+ to ensure efficient API calls. Each text is processed using the specified
47
+ embedding model.
48
+
49
+ Args:
50
+ texts (List[str]): A list of input texts to be embedded.
51
+
52
+ Returns:
53
+ List[List[float]]: A list of embeddings corresponding to the input texts.
54
+
55
+ Raises:
56
+ Exception: If the API call to DashScope fails, an exception is raised with
57
+ the respective error code and message.
58
+ """
59
+ def post(post_params):
60
+ response = requests.post(
61
+ url=DASHSCOPE_EMBEDDING_URL,
62
+ headers={
63
+ "Content-Type": "application/json",
64
+ "Authorization": f"Bearer {self.dashscope_api_key}"
65
+ },
66
+ data=json.dumps(post_params, ensure_ascii=False).encode(
67
+ "utf-8"),
68
+ timeout=120
69
+ )
70
+ resp_json = response.json()
71
+ return resp_json
72
+
73
+ result = []
74
+ post_params = {
75
+ "model": self.embedding_model_name,
76
+ "input": {},
77
+ "parameters": {
78
+ "text_type": "query"
79
+ }
80
+ }
81
+
82
+ for batch in batched(texts):
83
+ post_params["input"]["texts"] = batch
84
+ resp_json: dict = post(post_params)
85
+ data = resp_json.get("output")
86
+ if data:
87
+ data = data["embeddings"]
88
+ batch_result = [d['embedding'] for d in data if 'embedding' in d]
89
+ result += batch_result
90
+ else:
91
+ error_code = resp_json.get("code", "")
92
+ error_message = resp_json.get("message", "")
93
+ raise Exception(f"Failed to call dashscope embedding api, "
94
+ f"error code:{error_code}, "
95
+ f"error message:{error_message}")
96
+ return result
97
+
98
+ async def async_get_embeddings(self, texts: List[str]) -> List[List[float]]:
99
+ """
100
+ Async version of get_embeddings.
101
+
102
+ This function interfaces with the DashScope embedding API to obtain
103
+ embeddings for a batch of input texts. It handles batching of input texts
104
+ to ensure efficient API calls. Each text is processed using the specified
105
+ embedding model.
106
+
107
+ Args:
108
+ texts (List[str]): A list of input texts to be embedded.
109
+
110
+ Returns:
111
+ List[List[float]]: A list of embeddings corresponding to the input texts.
112
+
113
+ Raises:
114
+ Exception: If the API call to DashScope fails, an exception is raised with
115
+ the respective error code and message.
116
+ """
117
+ async def async_post(post_params):
118
+ async with aiohttp.ClientSession() as session:
119
+ async with await session.post(
120
+ url=DASHSCOPE_EMBEDDING_URL,
121
+ headers={
122
+ "Content-Type": "application/json",
123
+ "Authorization": f"Bearer {self.dashscope_api_key}"
124
+ },
125
+ data=json.dumps(post_params, ensure_ascii=False).encode(
126
+ "utf-8"),
127
+ timeout=120,
128
+ ) as resp:
129
+ resp_json = await resp.json()
130
+ return resp_json
131
+
132
+ result = []
133
+ post_params = {
134
+ "model": self.embedding_model_name,
135
+ "input": {},
136
+ "parameters": {
137
+ "text_type": "query"
138
+ }
139
+ }
140
+
141
+ for batch in batched(texts):
142
+ post_params["input"]["texts"] = batch
143
+ resp_json: dict = await async_post(post_params)
144
+ data = resp_json.get("output")
145
+ if data:
146
+ data = data["embeddings"]
147
+ batch_result = [d['embedding'] for d in data if
148
+ 'embedding' in d]
149
+ result += batch_result
150
+ else:
151
+ error_code = resp_json.get("code", "")
152
+ error_message = resp_json.get("message", "")
153
+ raise Exception(f"Failed to call dashscope embedding api, "
154
+ f"error code:{error_code}, "
155
+ f"error message:{error_message}")
156
+ return result
@@ -5,6 +5,7 @@
5
5
  # @Author : wangchongshi
6
6
  # @Email : wangchongshi.wcs@antgroup.com
7
7
  # @FileName: openai_embedding.py
8
+
8
9
  from typing import List, Optional, Any
9
10
 
10
11
  from langchain_community.embeddings.openai import OpenAIEmbeddings
@@ -0,0 +1,82 @@
1
+ # !/usr/bin/env python3
2
+ # -*- coding:utf-8 -*-
3
+
4
+ # @Time : 2024/6/11 16:30
5
+ # @Author : weizjajj
6
+ # @Email : weizhongjie.wzj@antgroup.com
7
+ # @FileName: qwen_embedding.py
8
+
9
+
10
+ from typing import List, Optional
11
+
12
+ import dashscope
13
+ from langchain_community.embeddings import DashScopeEmbeddings
14
+ from pydantic import Field
15
+
16
+ from agentuniverse.agent.action.knowledge.embedding.embedding import Embedding
17
+ from agentuniverse.base.util.env_util import get_from_env
18
+
19
+
20
+ class QwenEmbedding(Embedding):
21
+ """The openai embedding class."""
22
+
23
+ dashscope_api_key: Optional[str] = Field(default_factory=lambda: get_from_env("DASHSCOPE_API_KEY"))
24
+ """The DashScope client."""
25
+ model: Optional[str] = "text-embedding-v1"
26
+
27
+ def get_embeddings(self, texts: List[str]) -> List[List[float]]:
28
+ """Get the OpenAI embeddings.
29
+
30
+ Note:
31
+ The `embedding_model_name` parameter of the openai embedding class must be provided.
32
+ The `dimensions` parameter of the openai embedding class is optional.
33
+
34
+ Args:
35
+ texts (List[str]): A list of texts that need to be embedded.
36
+
37
+ Returns:
38
+ List[List[float]]: Each text gets a float list, and the result is a list of the results for each text.
39
+
40
+ Raises:
41
+ ValueError: If texts exceed the embedding model token limit or missing some required parameters.
42
+ """
43
+ result = []
44
+ resp = dashscope.TextEmbedding.call(
45
+ model=self.model,
46
+ input=texts,
47
+ api_key=self.dashscope_api_key
48
+ )
49
+ if resp.status_code == 200:
50
+ result = [item['embedding'] for item in resp.output.get('embeddings')]
51
+ elif resp.status_code in [400, 401]:
52
+ raise ValueError(
53
+ f"status_code: {resp.status_code} \n "
54
+ f"code: {resp.code} \n message: {resp.message}"
55
+ )
56
+ else:
57
+ raise Exception(f"status_code: {resp.status_code} \n code: {resp.code} \n message: {resp.message}")
58
+ return result
59
+
60
+ async def async_get_embeddings(self, texts: List[str]) -> List[List[float]]:
61
+ """Asynchronously get the OpenAI embeddings.
62
+
63
+ Note:
64
+ The `embedding_model_name` parameter of the openai embedding class must be provided.
65
+ The `dimensions` parameter of the openai embedding class is optional.
66
+
67
+ Args:
68
+ texts (List[str]): A list of texts that need to be embedded.
69
+
70
+ Returns:
71
+ List[List[float]]: Each text gets a float list, and the result is a list of the results for each text.
72
+ Raises:
73
+ ValueError: If texts exceed the embedding model token limit or missing some required parameters.
74
+ """
75
+ raise NotImplementedError
76
+
77
+ def as_langchain(self) -> DashScopeEmbeddings:
78
+ """Convert the agentUniverse(aU) openai embedding class to the langchain openai embedding class."""
79
+ return DashScopeEmbeddings(
80
+ model=self.model,
81
+ dashscope_api_key=self.dashscope_api_key,
82
+ )
@@ -73,6 +73,24 @@ class Tool(ComponentBase):
73
73
  if key not in kwargs.keys():
74
74
  raise Exception(f'{self.get_instance_code()} - The input must include key: {key}.')
75
75
 
76
+ def langchain_run(self, *args, callbacks=None, **kwargs):
77
+ """The callable method that runs the tool."""
78
+ kwargs["callbacks"] = callbacks
79
+ tool_input = ToolInput(kwargs)
80
+ parse_result = self.parse_react_input(args[0])
81
+ for key in self.input_keys:
82
+ tool_input.add_data(key, parse_result[key])
83
+ return self.execute(tool_input)
84
+
85
+ def parse_react_input(self, input_str: str):
86
+ """
87
+ parse react string to you input
88
+ you can define your own logic here by override this function
89
+ """
90
+ return {
91
+ self.input_keys[0]: input_str
92
+ }
93
+
76
94
  @abstractmethod
77
95
  def execute(self, tool_input: ToolInput):
78
96
  raise NotImplementedError
@@ -80,7 +98,7 @@ class Tool(ComponentBase):
80
98
  def as_langchain(self) -> LangchainTool:
81
99
  """Convert the agentUniverse(aU) tool class to the langchain tool class."""
82
100
  return LangchainTool(name=self.name,
83
- func=self.run,
101
+ func=self.langchain_run,
84
102
  description=self.description)
85
103
 
86
104
  def get_instance_code(self) -> str:
@@ -0,0 +1,27 @@
1
+ introduction: 你是一位精通工具选择ai助手。
2
+ target: 你的目标是根据用户的问题选择出合适的工具。
3
+ instruction: |
4
+ 你需要根据问题和用户提供的工具,选择其中的一个或几个工具用来回答用户提出的问题。
5
+ 你必须从多个角度、维度分析用户的问题,需要根据背景和问题,决定使用哪些工具可以回答用户问题。
6
+
7
+ 您可以使用以下工具:
8
+ {tools}
9
+
10
+ 之前的对话:
11
+ {chat_history}
12
+
13
+ 背景信息是:
14
+ {background}
15
+
16
+ 回答必须是按照以下格式化的Json代码片段。
17
+ 1. tools字段代表选择的几个工具的完整名称,列表格式。例如:[add, sub, mul, div]
18
+ 2. thought字段代表选择工具的思考过程和原因。
19
+ ```{{
20
+ "tools": list,
21
+ "thought": string
22
+ }}```
23
+
24
+ 当前的问题:{input}
25
+ metadata:
26
+ type: 'PROMPT'
27
+ version: 'default_nl2api_agent.cn'
@@ -0,0 +1,26 @@
1
+ introduction: You are an AI assistant proficient in tool selection.
2
+ target: Your goal is to select the appropriate tools based on the user's questions.
3
+ instruction: |
4
+ Your task is to select one or several tools from those provided by the user, based on their question and the context, in order to answer the user's query.
5
+ You must analyze the user's problem from multiple angles and dimensions, taking into account the background and context of the question, and decide which tools can be used to answer the user's question.
6
+ You may use the following tools:
7
+ {tools}
8
+
9
+ Previous conversation:
10
+ {chat_history}
11
+
12
+ The background information is:
13
+ {background}
14
+
15
+ The response must follow the format below as a formatted JSON code snippet.
16
+ 1. The tools field represents the full names of the selected tools in a list format, such as:[add, sub, mul, div]
17
+ 2. The thought field represents the thinking process and reasons behind the selection of tools.
18
+ ```{{
19
+ "tools": list,
20
+ "thought": string
21
+ }}```
22
+
23
+ Question: {input}
24
+ metadata:
25
+ type: 'PROMPT'
26
+ version: 'default_nl2api_agent.en'
@@ -0,0 +1,45 @@
1
+ # !/usr/bin/env python3
2
+ # -*- coding:utf-8 -*-
3
+
4
+ # @Time : 2024/6/11 17:14
5
+ # @Author : weizjajj
6
+ # @Email : weizhongjie.wzj@antgroup.com
7
+ # @FileName: nl2api_agent.py
8
+
9
+ from agentuniverse.agent.agent import Agent
10
+ from agentuniverse.agent.input_object import InputObject
11
+
12
+
13
+ class Nl2ApiAgent(Agent):
14
+ """ReAct Agent class."""
15
+
16
+ def input_keys(self) -> list[str]:
17
+ """Return the input keys of the Agent."""
18
+ return ['input']
19
+
20
+ def output_keys(self) -> list[str]:
21
+ """Return the output keys of the Agent."""
22
+ return ['output']
23
+
24
+ def parse_input(self, input_object: InputObject, agent_input: dict) -> dict:
25
+ """Agent parameter parsing.
26
+
27
+ Args:
28
+ input_object (InputObject): input parameters passed by the user.
29
+ agent_input (dict): agent input preparsed by the agent.
30
+ Returns:
31
+ dict: agent input parsed from `input_object` by the user.
32
+ """
33
+ agent_input['input'] = input_object.get_data('input')
34
+ self.agent_model.profile.setdefault('prompt_version', 'default_nl2api_agent.cn')
35
+ return agent_input
36
+
37
+ def parse_result(self, planner_result: dict) -> dict:
38
+ """Planner result parser.
39
+
40
+ Args:
41
+ planner_result(dict): Planner result
42
+ Returns:
43
+ dict: Agent result object.
44
+ """
45
+ return planner_result
@@ -0,0 +1,17 @@
1
+ info:
2
+ name: 'nl2api_agent'
3
+ description: 'nl2api agent'
4
+ profile:
5
+ llm_model:
6
+ name: 'default_openai_llm'
7
+ model_name: 'gpt-4o'
8
+ action:
9
+ tool:
10
+ - ''
11
+ plan:
12
+ planner:
13
+ name: 'nl2api_planner'
14
+ metadata:
15
+ type: 'AGENT'
16
+ module: 'agentuniverse.agent.default.nl2api_agent.nl2api_agent'
17
+ class: 'Nl2ApiAgent'
@@ -0,0 +1,7 @@
1
+ # !/usr/bin/env python3
2
+ # -*- coding:utf-8 -*-
3
+
4
+ # @Time : 2024/6/4 21:21
5
+ # @Author : wangchongshi
6
+ # @Email : wangchongshi.wcs@antgroup.com
7
+ # @FileName: __init__.py.py
@@ -0,0 +1,35 @@
1
+ introduction: 你是一位精通信息分析的ai助手。
2
+ target: 你的目标是根据用户的问题以及给出的背景信息给出答案。
3
+ instruction: |
4
+ 你必须优先选择使用提供的工具回答用户提出的问题,若用户没有提供工具可以根据你的通识能力解决问题。
5
+ 你在回答时问题必须使用中文回答。
6
+ 你必须从多个角度、维度分析用户的问题,帮助用户获取最全面的信息,需要根据背景和问题,决定搜索哪些信息可以回答问题。
7
+ 请注意: 你在给出最终答案时需要从多角度给出更详细的原因,而不是一个简单的结论。
8
+
9
+ 您可以使用以下工具:
10
+ {tools}
11
+
12
+ 你的回答必须严格使用以下格式:
13
+
14
+ Question: 您必须回答的问题
15
+ Thought: 你应该经常想想该怎么做
16
+ Action: 要采取的行动应该是 one of [{tool_names}]
17
+ Action Input: 行动的输入
18
+ Observation: 行动的结果
19
+ ... (Thought/Action/Action Input/Observation 的过程可以重复 N 次)
20
+ Thought: 我现在知道最终答案了
21
+ Final Answer: 原输入问题的最终答案
22
+
23
+ 之前的对话:
24
+ {chat_history}
25
+
26
+ 背景信息是:
27
+ {background}
28
+
29
+ 开始!
30
+
31
+ Question: {input}
32
+ Thought:{agent_scratchpad}
33
+ metadata:
34
+ type: 'PROMPT'
35
+ version: 'default_react_agent.cn'
@@ -0,0 +1,31 @@
1
+ introduction: You are an AI assistant who is proficient in information analysis.
2
+ target: Your goal is to give answers based on the user's question and the context given.
3
+ instruction: |
4
+ Answer the following questions as best you can. You have access to the following tools:
5
+
6
+ {tools}
7
+
8
+ Use the following format:
9
+
10
+ Question: the input question you must answer
11
+ Thought: you should always think about what to do
12
+ Action: the action to take, should be one of [{tool_names}]
13
+ Action Input: the input to the action
14
+ Observation: the result of the action
15
+ ... (this Thought/Action/Action Input/Observation can repeat N times)
16
+ Thought: I now know the final answer
17
+ Final Answer: the final answer to the original input question
18
+
19
+ Previous conversion:
20
+ {chat_history}
21
+
22
+ Background:
23
+ {background}
24
+
25
+ Begin!
26
+
27
+ Question: {input}
28
+ Thought:{agent_scratchpad}
29
+ metadata:
30
+ type: 'PROMPT'
31
+ version: 'default_react_agent.en'
@@ -0,0 +1,44 @@
1
+ # !/usr/bin/env python3
2
+ # -*- coding:utf-8 -*-
3
+
4
+ # @Time : 2024/5/31 21:22
5
+ # @Author : wangchongshi
6
+ # @Email : wangchongshi.wcs@antgroup.com
7
+ # @FileName: react_agent.py
8
+ from agentuniverse.agent.agent import Agent
9
+ from agentuniverse.agent.input_object import InputObject
10
+
11
+
12
+ class ReActAgent(Agent):
13
+ """ReAct Agent class."""
14
+
15
+ def input_keys(self) -> list[str]:
16
+ """Return the input keys of the Agent."""
17
+ return ['input']
18
+
19
+ def output_keys(self) -> list[str]:
20
+ """Return the output keys of the Agent."""
21
+ return ['output']
22
+
23
+ def parse_input(self, input_object: InputObject, agent_input: dict) -> dict:
24
+ """Agent parameter parsing.
25
+
26
+ Args:
27
+ input_object (InputObject): input parameters passed by the user.
28
+ agent_input (dict): agent input preparsed by the agent.
29
+ Returns:
30
+ dict: agent input parsed from `input_object` by the user.
31
+ """
32
+ agent_input['input'] = input_object.get_data('input')
33
+ self.agent_model.profile.setdefault('prompt_version', 'default_react_agent.cn')
34
+ return agent_input
35
+
36
+ def parse_result(self, planner_result: dict) -> dict:
37
+ """Planner result parser.
38
+
39
+ Args:
40
+ planner_result(dict): Planner result
41
+ Returns:
42
+ dict: Agent result object.
43
+ """
44
+ return planner_result
@@ -0,0 +1,17 @@
1
+ info:
2
+ name: 'react_agent'
3
+ description: 'react agent'
4
+ profile:
5
+ llm_model:
6
+ name: 'default_openai_llm'
7
+ model_name: 'gpt-4o'
8
+ action:
9
+ tool:
10
+ - ''
11
+ plan:
12
+ planner:
13
+ name: 'react_planner'
14
+ metadata:
15
+ type: 'AGENT'
16
+ module: 'agentuniverse.agent.default.react_agent.react_agent'
17
+ class: 'ReActAgent'
@@ -10,7 +10,7 @@ from agentuniverse.llm.default.default_openai_llm import DefaultOpenAILLM
10
10
 
11
11
 
12
12
  class DefaultMemory(ChatMemory):
13
- """The AFAF default memory module."""
13
+ """The aU default memory module."""
14
14
 
15
15
  def __init__(self, **kwargs):
16
16
  """The __init__ method.
@@ -8,6 +8,7 @@
8
8
  import asyncio
9
9
 
10
10
  from langchain_core.chat_history import InMemoryChatMessageHistory
11
+ from langchain_core.output_parsers import StrOutputParser
11
12
  from langchain_core.runnables.history import RunnableWithMessageHistory
12
13
 
13
14
  from agentuniverse.agent.agent_model import AgentModel
@@ -38,7 +39,7 @@ class ExecutingPlanner(Planner):
38
39
 
39
40
  memory: ChatMemory = self.handle_memory(agent_model, planner_input)
40
41
 
41
- self.handle_all_actions(agent_model, planner_input, input_object)
42
+ self.run_all_actions(agent_model, planner_input, input_object)
42
43
 
43
44
  llm: LLM = self.handle_llm(agent_model)
44
45
 
@@ -52,10 +53,10 @@ class ExecutingPlanner(Planner):
52
53
  lambda session_id: chat_history,
53
54
  history_messages_key="chat_history",
54
55
  input_messages_key=self.input_key,
55
- )
56
+ ) | StrOutputParser()
56
57
  res = asyncio.run(
57
58
  chain_with_history.ainvoke(input=planner_input, config={"configurable": {"session_id": "unused"}}))
58
- return {**planner_input, self.output_key: res.content, 'chat_history': generate_memories(chat_history)}
59
+ return {**planner_input, self.output_key: res, 'chat_history': generate_memories(chat_history)}
59
60
 
60
61
  def handle_prompt(self, agent_model: AgentModel, planner_input: dict) -> Prompt:
61
62
  """Prompt module processing.
@@ -8,6 +8,7 @@
8
8
  import asyncio
9
9
 
10
10
  from langchain_core.chat_history import InMemoryChatMessageHistory
11
+ from langchain_core.output_parsers import StrOutputParser
11
12
  from langchain_core.runnables.history import RunnableWithMessageHistory
12
13
 
13
14
  from agentuniverse.agent.agent_model import AgentModel
@@ -49,10 +50,10 @@ class ExpressingPlanner(Planner):
49
50
  lambda session_id: chat_history,
50
51
  history_messages_key="chat_history",
51
52
  input_messages_key=self.input_key,
52
- )
53
+ ) | StrOutputParser()
53
54
  res = asyncio.run(
54
55
  chain_with_history.ainvoke(input=planner_input, config={"configurable": {"session_id": "unused"}}))
55
- return {**planner_input, self.output_key: res.content, 'chat_history': generate_memories(chat_history)}
56
+ return {**planner_input, self.output_key: res, 'chat_history': generate_memories(chat_history)}
56
57
 
57
58
  def handle_prompt(self, agent_model: AgentModel, planner_input: dict) -> Prompt:
58
59
  """Prompt module processing.