beswarm 0.1.72__py3-none-any.whl → 0.1.73__py3-none-any.whl

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.
beswarm/aient/setup.py CHANGED
@@ -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: beswarm
3
- Version: 0.1.72
3
+ Version: 0.1.73
4
4
  Summary: MAS
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -1,7 +1,7 @@
1
1
  beswarm/__init__.py,sha256=HZjUOJtZR5QhMuDbq-wukQQn1VrBusNWai_ysGo-VVI,20
2
2
  beswarm/utils.py,sha256=Z2Kuus2BLp9EHUC2ZNL9iUsb6NWnPj-MTA7SYzGyg24,1755
3
3
  beswarm/aient/main.py,sha256=SiYAIgQlLJqYusnTVEJOx1WNkSJKMImhgn5aWjfroxg,3814
4
- beswarm/aient/setup.py,sha256=wnXMF4G1ahOYecYyUGpqw-NLutZSfEveB8IEcxF0nrY,487
4
+ beswarm/aient/setup.py,sha256=i8ivCfJAU6P-wZ6f67CIkml79rgrg5F4npcOTInEkeo,487
5
5
  beswarm/aient/src/aient/__init__.py,sha256=SRfF7oDVlOOAi6nGKiJIUK6B_arqYLO9iSMp-2IZZps,21
6
6
  beswarm/aient/src/aient/core/__init__.py,sha256=NxjebTlku35S4Dzr16rdSqSTWUvvwEeACe8KvHJnjPg,34
7
7
  beswarm/aient/src/aient/core/log_config.py,sha256=kz2_yJv1p-o3lUQOwA3qh-LSc3wMHv13iCQclw44W9c,274
@@ -24,7 +24,7 @@ beswarm/aient/src/aient/models/groq.py,sha256=eXfSOaPxgQEtk4U8qseArN8rFYOFBfMsPw
24
24
  beswarm/aient/src/aient/models/vertex.py,sha256=qVD5l1Q538xXUPulxG4nmDjXE1VoV4yuAkTCpIeJVw0,16795
25
25
  beswarm/aient/src/aient/plugins/__init__.py,sha256=p3KO6Aa3Lupos4i2SjzLQw1hzQTigOAfEHngsldrsyk,986
26
26
  beswarm/aient/src/aient/plugins/arXiv.py,sha256=yHjb6PS3GUWazpOYRMKMzghKJlxnZ5TX8z9F6UtUVow,1461
27
- beswarm/aient/src/aient/plugins/config.py,sha256=Vp6CG9ocdC_FAlCMEGtKj45xamir76DFxdJVvURNtog,6539
27
+ beswarm/aient/src/aient/plugins/config.py,sha256=QGyI9LlNaU36GUpY531o7UbTFBB39u7LfS6rrx_RTWw,7103
28
28
  beswarm/aient/src/aient/plugins/excute_command.py,sha256=i5AUSfnYe05cS4YZuNIhuCy-Cfxil7RJG372YwzteXs,10691
29
29
  beswarm/aient/src/aient/plugins/get_time.py,sha256=Ih5XIW5SDAIhrZ9W4Qe5Hs1k4ieKPUc_LAd6ySNyqZk,654
30
30
  beswarm/aient/src/aient/plugins/image.py,sha256=ZElCIaZznE06TN9xW3DrSukS7U3A5_cjk1Jge4NzPxw,2072
@@ -39,7 +39,7 @@ beswarm/aient/src/aient/prompt/__init__.py,sha256=GBtn6-JDT8KHFCcuPpfSNE_aGddg5p
39
39
  beswarm/aient/src/aient/prompt/agent.py,sha256=ZNsbgXRyvYzAFTRRziAnNVqcTyAnxrGcsGfGrt72j6k,25427
40
40
  beswarm/aient/src/aient/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
41
  beswarm/aient/src/aient/utils/prompt.py,sha256=UcSzKkFE4-h_1b6NofI6xgk3GoleqALRKY8VBaXLjmI,11311
42
- beswarm/aient/src/aient/utils/scripts.py,sha256=LD8adnfuRrJoY2tWKseXOPJXaxbrUmz4czsnUvHswNY,29096
42
+ beswarm/aient/src/aient/utils/scripts.py,sha256=RFkuu3j1tC_x1SwQQsS__wQOZe5olmy7FPHEOk5Obds,29265
43
43
  beswarm/aient/test/chatgpt.py,sha256=Hvl7FuDt1c74N5TVBmhErOPvJbJJzA7FNp5VoZM4u30,4957
44
44
  beswarm/aient/test/claude.py,sha256=IyB4qI1eJLwlSfDNSnt2FhbQWYyBighHUjJxEXc3osQ,1095
45
45
  beswarm/aient/test/test.py,sha256=rldnoLQdtRR8IKFSIzTti7eIK2MpPMoi9gL5qD8_K44,29
@@ -129,7 +129,7 @@ beswarm/tools/search_arxiv.py,sha256=9slwBemXjEqrd7-YgVmyMijPXlkhZCybEDRVhWVQ9B0
129
129
  beswarm/tools/search_web.py,sha256=B24amOnGHnmdV_6S8bw8O2PdhZRRIDtJjg-wXcfP7dQ,11859
130
130
  beswarm/tools/think.py,sha256=WLw-7jNIsnS6n8MMSYUin_f-BGLENFmnKM2LISEp0co,1760
131
131
  beswarm/tools/worker.py,sha256=DLYzMgKzpf4UYGNKKJix__DHw6LHtX_T9CLVaexDQMg,12909
132
- beswarm-0.1.72.dist-info/METADATA,sha256=t_siOOATwK0Fw9cSjzLjUCe0ZkOFrCMOUL2RsMf33bg,3553
133
- beswarm-0.1.72.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
134
- beswarm-0.1.72.dist-info/top_level.txt,sha256=pJw4O87wvt5882smuSO6DfByJz7FJ8SxxT8h9fHCmpo,8
135
- beswarm-0.1.72.dist-info/RECORD,,
132
+ beswarm-0.1.73.dist-info/METADATA,sha256=9Uc7A0nm39bHKmqvIQ5r7HRVKca4-8__zkKhofZuUGY,3553
133
+ beswarm-0.1.73.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
134
+ beswarm-0.1.73.dist-info/top_level.txt,sha256=pJw4O87wvt5882smuSO6DfByJz7FJ8SxxT8h9fHCmpo,8
135
+ beswarm-0.1.73.dist-info/RECORD,,