aient 1.1.23__py3-none-any.whl → 1.1.24__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.
aient/plugins/config.py CHANGED
@@ -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}"
aient/utils/scripts.py CHANGED
@@ -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
@@ -22,7 +22,7 @@ aient/models/groq.py,sha256=eXfSOaPxgQEtk4U8qseArN8rFYOFBfMsPwRcDW1nERo,8790
22
22
  aient/models/vertex.py,sha256=qVD5l1Q538xXUPulxG4nmDjXE1VoV4yuAkTCpIeJVw0,16795
23
23
  aient/plugins/__init__.py,sha256=p3KO6Aa3Lupos4i2SjzLQw1hzQTigOAfEHngsldrsyk,986
24
24
  aient/plugins/arXiv.py,sha256=yHjb6PS3GUWazpOYRMKMzghKJlxnZ5TX8z9F6UtUVow,1461
25
- aient/plugins/config.py,sha256=Vp6CG9ocdC_FAlCMEGtKj45xamir76DFxdJVvURNtog,6539
25
+ aient/plugins/config.py,sha256=QGyI9LlNaU36GUpY531o7UbTFBB39u7LfS6rrx_RTWw,7103
26
26
  aient/plugins/excute_command.py,sha256=i5AUSfnYe05cS4YZuNIhuCy-Cfxil7RJG372YwzteXs,10691
27
27
  aient/plugins/get_time.py,sha256=Ih5XIW5SDAIhrZ9W4Qe5Hs1k4ieKPUc_LAd6ySNyqZk,654
28
28
  aient/plugins/image.py,sha256=ZElCIaZznE06TN9xW3DrSukS7U3A5_cjk1Jge4NzPxw,2072
@@ -37,9 +37,9 @@ aient/prompt/__init__.py,sha256=GBtn6-JDT8KHFCcuPpfSNE_aGddg5p4FEyMCy4BfwGs,20
37
37
  aient/prompt/agent.py,sha256=ZNsbgXRyvYzAFTRRziAnNVqcTyAnxrGcsGfGrt72j6k,25427
38
38
  aient/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
39
  aient/utils/prompt.py,sha256=UcSzKkFE4-h_1b6NofI6xgk3GoleqALRKY8VBaXLjmI,11311
40
- aient/utils/scripts.py,sha256=LD8adnfuRrJoY2tWKseXOPJXaxbrUmz4czsnUvHswNY,29096
41
- aient-1.1.23.dist-info/licenses/LICENSE,sha256=XNdbcWldt0yaNXXWB_Bakoqnxb3OVhUft4MgMA_71ds,1051
42
- aient-1.1.23.dist-info/METADATA,sha256=Of2sxFTsojpPGYpbmHppmpGyfC9kZxrcCBKMwueO4t4,4968
43
- aient-1.1.23.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
44
- aient-1.1.23.dist-info/top_level.txt,sha256=3oXzrP5sAVvyyqabpeq8A2_vfMtY554r4bVE-OHBrZk,6
45
- aient-1.1.23.dist-info/RECORD,,
40
+ aient/utils/scripts.py,sha256=RFkuu3j1tC_x1SwQQsS__wQOZe5olmy7FPHEOk5Obds,29265
41
+ aient-1.1.24.dist-info/licenses/LICENSE,sha256=XNdbcWldt0yaNXXWB_Bakoqnxb3OVhUft4MgMA_71ds,1051
42
+ aient-1.1.24.dist-info/METADATA,sha256=FyHXoKl3zIZncMu4FevGSBk52ZEEa-cn_o1KS4Ru18g,4968
43
+ aient-1.1.24.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
44
+ aient-1.1.24.dist-info/top_level.txt,sha256=3oXzrP5sAVvyyqabpeq8A2_vfMtY554r4bVE-OHBrZk,6
45
+ aient-1.1.24.dist-info/RECORD,,
File without changes