aient 1.1.23__tar.gz → 1.1.24__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 (80) hide show
  1. {aient-1.1.23/src/aient.egg-info → aient-1.1.24}/PKG-INFO +1 -1
  2. {aient-1.1.23 → aient-1.1.24}/setup.py +1 -1
  3. {aient-1.1.23 → aient-1.1.24}/src/aient/plugins/config.py +18 -4
  4. {aient-1.1.23 → aient-1.1.24}/src/aient/utils/scripts.py +9 -2
  5. {aient-1.1.23 → aient-1.1.24/src/aient.egg-info}/PKG-INFO +1 -1
  6. {aient-1.1.23 → aient-1.1.24}/LICENSE +0 -0
  7. {aient-1.1.23 → aient-1.1.24}/MANIFEST.in +0 -0
  8. {aient-1.1.23 → aient-1.1.24}/README.md +0 -0
  9. {aient-1.1.23 → aient-1.1.24}/setup.cfg +0 -0
  10. {aient-1.1.23 → aient-1.1.24}/src/aient/__init__.py +0 -0
  11. {aient-1.1.23 → aient-1.1.24}/src/aient/core/.git +0 -0
  12. {aient-1.1.23 → aient-1.1.24}/src/aient/core/.gitignore +0 -0
  13. {aient-1.1.23 → aient-1.1.24}/src/aient/core/__init__.py +0 -0
  14. {aient-1.1.23 → aient-1.1.24}/src/aient/core/log_config.py +0 -0
  15. {aient-1.1.23 → aient-1.1.24}/src/aient/core/models.py +0 -0
  16. {aient-1.1.23 → aient-1.1.24}/src/aient/core/request.py +0 -0
  17. {aient-1.1.23 → aient-1.1.24}/src/aient/core/response.py +0 -0
  18. {aient-1.1.23 → aient-1.1.24}/src/aient/core/test/test_base_api.py +0 -0
  19. {aient-1.1.23 → aient-1.1.24}/src/aient/core/test/test_geminimask.py +0 -0
  20. {aient-1.1.23 → aient-1.1.24}/src/aient/core/test/test_image.py +0 -0
  21. {aient-1.1.23 → aient-1.1.24}/src/aient/core/test/test_payload.py +0 -0
  22. {aient-1.1.23 → aient-1.1.24}/src/aient/core/utils.py +0 -0
  23. {aient-1.1.23 → aient-1.1.24}/src/aient/models/__init__.py +0 -0
  24. {aient-1.1.23 → aient-1.1.24}/src/aient/models/audio.py +0 -0
  25. {aient-1.1.23 → aient-1.1.24}/src/aient/models/base.py +0 -0
  26. {aient-1.1.23 → aient-1.1.24}/src/aient/models/chatgpt.py +0 -0
  27. {aient-1.1.23 → aient-1.1.24}/src/aient/models/claude.py +0 -0
  28. {aient-1.1.23 → aient-1.1.24}/src/aient/models/duckduckgo.py +0 -0
  29. {aient-1.1.23 → aient-1.1.24}/src/aient/models/gemini.py +0 -0
  30. {aient-1.1.23 → aient-1.1.24}/src/aient/models/groq.py +0 -0
  31. {aient-1.1.23 → aient-1.1.24}/src/aient/models/vertex.py +0 -0
  32. {aient-1.1.23 → aient-1.1.24}/src/aient/plugins/__init__.py +0 -0
  33. {aient-1.1.23 → aient-1.1.24}/src/aient/plugins/arXiv.py +0 -0
  34. {aient-1.1.23 → aient-1.1.24}/src/aient/plugins/excute_command.py +0 -0
  35. {aient-1.1.23 → aient-1.1.24}/src/aient/plugins/get_time.py +0 -0
  36. {aient-1.1.23 → aient-1.1.24}/src/aient/plugins/image.py +0 -0
  37. {aient-1.1.23 → aient-1.1.24}/src/aient/plugins/list_directory.py +0 -0
  38. {aient-1.1.23 → aient-1.1.24}/src/aient/plugins/read_file.py +0 -0
  39. {aient-1.1.23 → aient-1.1.24}/src/aient/plugins/read_image.py +0 -0
  40. {aient-1.1.23 → aient-1.1.24}/src/aient/plugins/registry.py +0 -0
  41. {aient-1.1.23 → aient-1.1.24}/src/aient/plugins/run_python.py +0 -0
  42. {aient-1.1.23 → aient-1.1.24}/src/aient/plugins/websearch.py +0 -0
  43. {aient-1.1.23 → aient-1.1.24}/src/aient/plugins/write_file.py +0 -0
  44. {aient-1.1.23 → aient-1.1.24}/src/aient/prompt/__init__.py +0 -0
  45. {aient-1.1.23 → aient-1.1.24}/src/aient/prompt/agent.py +0 -0
  46. {aient-1.1.23 → aient-1.1.24}/src/aient/utils/__init__.py +0 -0
  47. {aient-1.1.23 → aient-1.1.24}/src/aient/utils/prompt.py +0 -0
  48. {aient-1.1.23 → aient-1.1.24}/src/aient.egg-info/SOURCES.txt +0 -0
  49. {aient-1.1.23 → aient-1.1.24}/src/aient.egg-info/dependency_links.txt +0 -0
  50. {aient-1.1.23 → aient-1.1.24}/src/aient.egg-info/requires.txt +0 -0
  51. {aient-1.1.23 → aient-1.1.24}/src/aient.egg-info/top_level.txt +0 -0
  52. {aient-1.1.23 → aient-1.1.24}/test/test.py +0 -0
  53. {aient-1.1.23 → aient-1.1.24}/test/test_API.py +0 -0
  54. {aient-1.1.23 → aient-1.1.24}/test/test_Deepbricks.py +0 -0
  55. {aient-1.1.23 → aient-1.1.24}/test/test_Web_crawler.py +0 -0
  56. {aient-1.1.23 → aient-1.1.24}/test/test_aiwaves.py +0 -0
  57. {aient-1.1.23 → aient-1.1.24}/test/test_aiwaves_arxiv.py +0 -0
  58. {aient-1.1.23 → aient-1.1.24}/test/test_ask_gemini.py +0 -0
  59. {aient-1.1.23 → aient-1.1.24}/test/test_class.py +0 -0
  60. {aient-1.1.23 → aient-1.1.24}/test/test_claude.py +0 -0
  61. {aient-1.1.23 → aient-1.1.24}/test/test_claude_zh_char.py +0 -0
  62. {aient-1.1.23 → aient-1.1.24}/test/test_ddg_search.py +0 -0
  63. {aient-1.1.23 → aient-1.1.24}/test/test_download_pdf.py +0 -0
  64. {aient-1.1.23 → aient-1.1.24}/test/test_gemini.py +0 -0
  65. {aient-1.1.23 → aient-1.1.24}/test/test_get_token_dict.py +0 -0
  66. {aient-1.1.23 → aient-1.1.24}/test/test_google_search.py +0 -0
  67. {aient-1.1.23 → aient-1.1.24}/test/test_jieba.py +0 -0
  68. {aient-1.1.23 → aient-1.1.24}/test/test_json.py +0 -0
  69. {aient-1.1.23 → aient-1.1.24}/test/test_logging.py +0 -0
  70. {aient-1.1.23 → aient-1.1.24}/test/test_ollama.py +0 -0
  71. {aient-1.1.23 → aient-1.1.24}/test/test_plugin.py +0 -0
  72. {aient-1.1.23 → aient-1.1.24}/test/test_py_run.py +0 -0
  73. {aient-1.1.23 → aient-1.1.24}/test/test_requests.py +0 -0
  74. {aient-1.1.23 → aient-1.1.24}/test/test_search.py +0 -0
  75. {aient-1.1.23 → aient-1.1.24}/test/test_tikitoken.py +0 -0
  76. {aient-1.1.23 → aient-1.1.24}/test/test_token.py +0 -0
  77. {aient-1.1.23 → aient-1.1.24}/test/test_url.py +0 -0
  78. {aient-1.1.23 → aient-1.1.24}/test/test_whisper.py +0 -0
  79. {aient-1.1.23 → aient-1.1.24}/test/test_wildcard.py +0 -0
  80. {aient-1.1.23 → aient-1.1.24}/test/test_yjh.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aient
3
- Version: 1.1.23
3
+ Version: 1.1.24
4
4
  Summary: Aient: The Awakening of Agent.
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -4,7 +4,7 @@ from setuptools import setup, find_packages
4
4
 
5
5
  setup(
6
6
  name="aient",
7
- version="1.1.23",
7
+ version="1.1.24",
8
8
  description="Aient: The Awakening of Agent.",
9
9
  long_description=Path.open(Path("README.md"), encoding="utf-8").read(),
10
10
  long_description_content_type="text/markdown",
@@ -8,10 +8,25 @@ from ..utils.prompt import search_key_word_prompt
8
8
  async def get_tools_result_async(function_call_name, function_full_response, function_call_max_tokens, engine, robot, api_key, api_url, use_plugins, model, add_message, convo_id, language):
9
9
  function_response = ""
10
10
  function_to_call = None
11
+ call_args = json.loads(function_full_response)
11
12
  if function_call_name in registry.tools:
12
13
  function_to_call = registry.tools[function_call_name]
14
+ call_args_name_list = call_args.keys()
15
+ required_args = registry.tools_info[function_call_name].args
16
+ invalid_args = [arg_name for arg_name in call_args_name_list if arg_name not in required_args]
17
+ if invalid_args:
18
+ function_response = (
19
+ "function_response:"
20
+ "<tool_error>"
21
+ f"无效的参数: {invalid_args}"
22
+ f"{function_call_name} 只允许使用以下参数: {required_args}"
23
+ "</tool_error>"
24
+ )
25
+ yield function_response
26
+ return
27
+
13
28
  if function_call_name == "get_search_results":
14
- prompt = json.loads(function_full_response)["query"]
29
+ prompt = call_args["query"]
15
30
  yield "message_search_stage_1"
16
31
  llm = robot(api_key=api_key, api_url=api_url, engine=engine, use_plugins=use_plugins)
17
32
  keywords = (await llm.ask_async(search_key_word_prompt.format(source=prompt), model=model)).split("\n")
@@ -38,11 +53,10 @@ async def get_tools_result_async(function_call_name, function_full_response, fun
38
53
  function_response = "无法找到相关信息,停止使用 tools"
39
54
 
40
55
  elif function_to_call:
41
- prompt = json.loads(function_full_response)
42
56
  if inspect.iscoroutinefunction(function_to_call):
43
- function_response = await function_to_call(**prompt)
57
+ function_response = await function_to_call(**call_args)
44
58
  else:
45
- function_response = function_to_call(**prompt)
59
+ function_response = function_to_call(**call_args)
46
60
 
47
61
  function_response = (
48
62
  f"function_response:{function_response}"
@@ -496,7 +496,7 @@ def parse_function_xml(xml_content: str, check_line_start: bool = True) -> List[
496
496
  tag_inner_content = xml_content[tag_end+1:end_pos]
497
497
 
498
498
  # 如果是普通辅助标签(如tool_call),则在其内部寻找函数调用
499
- if tag_name in ["tool_call", "function_call", "tool", "function"]:
499
+ if tag_name in ["tool_call", "function_call", "tool", "function", "tools"]:
500
500
  # 递归处理内部内容,此时不再检查行首条件
501
501
  nested_functions = parse_function_xml(tag_inner_content, check_line_start=False)
502
502
  result_functions.extend(nested_functions)
@@ -740,7 +740,14 @@ if __name__ == "__main__":
740
740
 
741
741
  请提供前两个 `excute_command` 的执行结果。
742
742
  """
743
-
743
+ test_xml = """
744
+ 好的,我现在执行第一步。
745
+ <tools>
746
+ <list_directory>
747
+ <path>/Downloads/GitHub/beswarm/work/test</path>
748
+ </list_directory>
749
+ </tools>
750
+ """
744
751
  print(parse_function_xml(test_xml))
745
752
 
746
753
  # 运行本文件:python -m beswarm.aient.src.aient.utils.scripts
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aient
3
- Version: 1.1.23
3
+ Version: 1.1.24
4
4
  Summary: Aient: The Awakening of Agent.
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes