aient 1.1.31__tar.gz → 1.1.33__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 (79) hide show
  1. {aient-1.1.31/src/aient.egg-info → aient-1.1.33}/PKG-INFO +1 -1
  2. {aient-1.1.31 → aient-1.1.33}/setup.py +1 -1
  3. {aient-1.1.31 → aient-1.1.33}/src/aient/core/models.py +1 -0
  4. {aient-1.1.31 → aient-1.1.33}/src/aient/models/chatgpt.py +2 -2
  5. {aient-1.1.31 → aient-1.1.33}/src/aient/plugins/websearch.py +2 -0
  6. {aient-1.1.31 → aient-1.1.33}/src/aient/utils/scripts.py +40 -9
  7. {aient-1.1.31 → aient-1.1.33/src/aient.egg-info}/PKG-INFO +1 -1
  8. {aient-1.1.31 → aient-1.1.33}/LICENSE +0 -0
  9. {aient-1.1.31 → aient-1.1.33}/MANIFEST.in +0 -0
  10. {aient-1.1.31 → aient-1.1.33}/README.md +0 -0
  11. {aient-1.1.31 → aient-1.1.33}/setup.cfg +0 -0
  12. {aient-1.1.31 → aient-1.1.33}/src/aient/__init__.py +0 -0
  13. {aient-1.1.31 → aient-1.1.33}/src/aient/core/.git +0 -0
  14. {aient-1.1.31 → aient-1.1.33}/src/aient/core/.gitignore +0 -0
  15. {aient-1.1.31 → aient-1.1.33}/src/aient/core/__init__.py +0 -0
  16. {aient-1.1.31 → aient-1.1.33}/src/aient/core/log_config.py +0 -0
  17. {aient-1.1.31 → aient-1.1.33}/src/aient/core/request.py +0 -0
  18. {aient-1.1.31 → aient-1.1.33}/src/aient/core/response.py +0 -0
  19. {aient-1.1.31 → aient-1.1.33}/src/aient/core/test/test_base_api.py +0 -0
  20. {aient-1.1.31 → aient-1.1.33}/src/aient/core/test/test_geminimask.py +0 -0
  21. {aient-1.1.31 → aient-1.1.33}/src/aient/core/test/test_image.py +0 -0
  22. {aient-1.1.31 → aient-1.1.33}/src/aient/core/test/test_payload.py +0 -0
  23. {aient-1.1.31 → aient-1.1.33}/src/aient/core/utils.py +0 -0
  24. {aient-1.1.31 → aient-1.1.33}/src/aient/models/__init__.py +0 -0
  25. {aient-1.1.31 → aient-1.1.33}/src/aient/models/audio.py +0 -0
  26. {aient-1.1.31 → aient-1.1.33}/src/aient/models/base.py +0 -0
  27. {aient-1.1.31 → aient-1.1.33}/src/aient/models/claude.py +0 -0
  28. {aient-1.1.31 → aient-1.1.33}/src/aient/models/duckduckgo.py +0 -0
  29. {aient-1.1.31 → aient-1.1.33}/src/aient/models/gemini.py +0 -0
  30. {aient-1.1.31 → aient-1.1.33}/src/aient/models/groq.py +0 -0
  31. {aient-1.1.31 → aient-1.1.33}/src/aient/models/vertex.py +0 -0
  32. {aient-1.1.31 → aient-1.1.33}/src/aient/plugins/__init__.py +0 -0
  33. {aient-1.1.31 → aient-1.1.33}/src/aient/plugins/arXiv.py +0 -0
  34. {aient-1.1.31 → aient-1.1.33}/src/aient/plugins/config.py +0 -0
  35. {aient-1.1.31 → aient-1.1.33}/src/aient/plugins/excute_command.py +0 -0
  36. {aient-1.1.31 → aient-1.1.33}/src/aient/plugins/get_time.py +0 -0
  37. {aient-1.1.31 → aient-1.1.33}/src/aient/plugins/image.py +0 -0
  38. {aient-1.1.31 → aient-1.1.33}/src/aient/plugins/list_directory.py +0 -0
  39. {aient-1.1.31 → aient-1.1.33}/src/aient/plugins/read_file.py +0 -0
  40. {aient-1.1.31 → aient-1.1.33}/src/aient/plugins/read_image.py +0 -0
  41. {aient-1.1.31 → aient-1.1.33}/src/aient/plugins/readonly.py +0 -0
  42. {aient-1.1.31 → aient-1.1.33}/src/aient/plugins/registry.py +0 -0
  43. {aient-1.1.31 → aient-1.1.33}/src/aient/plugins/run_python.py +0 -0
  44. {aient-1.1.31 → aient-1.1.33}/src/aient/plugins/write_file.py +0 -0
  45. {aient-1.1.31 → aient-1.1.33}/src/aient/utils/__init__.py +0 -0
  46. {aient-1.1.31 → aient-1.1.33}/src/aient/utils/prompt.py +0 -0
  47. {aient-1.1.31 → aient-1.1.33}/src/aient.egg-info/SOURCES.txt +0 -0
  48. {aient-1.1.31 → aient-1.1.33}/src/aient.egg-info/dependency_links.txt +0 -0
  49. {aient-1.1.31 → aient-1.1.33}/src/aient.egg-info/requires.txt +0 -0
  50. {aient-1.1.31 → aient-1.1.33}/src/aient.egg-info/top_level.txt +0 -0
  51. {aient-1.1.31 → aient-1.1.33}/test/test.py +0 -0
  52. {aient-1.1.31 → aient-1.1.33}/test/test_API.py +0 -0
  53. {aient-1.1.31 → aient-1.1.33}/test/test_Deepbricks.py +0 -0
  54. {aient-1.1.31 → aient-1.1.33}/test/test_Web_crawler.py +0 -0
  55. {aient-1.1.31 → aient-1.1.33}/test/test_aiwaves.py +0 -0
  56. {aient-1.1.31 → aient-1.1.33}/test/test_aiwaves_arxiv.py +0 -0
  57. {aient-1.1.31 → aient-1.1.33}/test/test_ask_gemini.py +0 -0
  58. {aient-1.1.31 → aient-1.1.33}/test/test_class.py +0 -0
  59. {aient-1.1.31 → aient-1.1.33}/test/test_claude.py +0 -0
  60. {aient-1.1.31 → aient-1.1.33}/test/test_claude_zh_char.py +0 -0
  61. {aient-1.1.31 → aient-1.1.33}/test/test_ddg_search.py +0 -0
  62. {aient-1.1.31 → aient-1.1.33}/test/test_download_pdf.py +0 -0
  63. {aient-1.1.31 → aient-1.1.33}/test/test_gemini.py +0 -0
  64. {aient-1.1.31 → aient-1.1.33}/test/test_get_token_dict.py +0 -0
  65. {aient-1.1.31 → aient-1.1.33}/test/test_google_search.py +0 -0
  66. {aient-1.1.31 → aient-1.1.33}/test/test_jieba.py +0 -0
  67. {aient-1.1.31 → aient-1.1.33}/test/test_json.py +0 -0
  68. {aient-1.1.31 → aient-1.1.33}/test/test_logging.py +0 -0
  69. {aient-1.1.31 → aient-1.1.33}/test/test_ollama.py +0 -0
  70. {aient-1.1.31 → aient-1.1.33}/test/test_plugin.py +0 -0
  71. {aient-1.1.31 → aient-1.1.33}/test/test_py_run.py +0 -0
  72. {aient-1.1.31 → aient-1.1.33}/test/test_requests.py +0 -0
  73. {aient-1.1.31 → aient-1.1.33}/test/test_search.py +0 -0
  74. {aient-1.1.31 → aient-1.1.33}/test/test_tikitoken.py +0 -0
  75. {aient-1.1.31 → aient-1.1.33}/test/test_token.py +0 -0
  76. {aient-1.1.31 → aient-1.1.33}/test/test_url.py +0 -0
  77. {aient-1.1.31 → aient-1.1.33}/test/test_whisper.py +0 -0
  78. {aient-1.1.31 → aient-1.1.33}/test/test_wildcard.py +0 -0
  79. {aient-1.1.31 → aient-1.1.33}/test/test_yjh.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aient
3
- Version: 1.1.31
3
+ Version: 1.1.33
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.31",
7
+ version="1.1.33",
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",
@@ -1,3 +1,4 @@
1
+ import json
1
2
  from io import IOBase
2
3
  from pydantic import BaseModel, Field, model_validator, ConfigDict
3
4
  from typing import List, Dict, Optional, Union, Tuple, Literal, Any
@@ -12,7 +12,7 @@ from pathlib import Path
12
12
 
13
13
  from .base import BaseLLM
14
14
  from ..plugins import PLUGINS, get_tools_result_async, function_call_list, update_tools_config
15
- from ..utils.scripts import safe_get, async_generator_to_sync, parse_function_xml, parse_continuous_json, convert_functions_to_xml
15
+ from ..utils.scripts import safe_get, async_generator_to_sync, parse_function_xml, parse_continuous_json, convert_functions_to_xml, remove_xml_tags_and_content
16
16
  from ..core.request import prepare_request_payload
17
17
  from ..core.response import fetch_response_stream
18
18
 
@@ -465,7 +465,7 @@ class chatgpt(BaseLLM):
465
465
  if isinstance(self.conversation[convo_id][-1]["content"], str) and \
466
466
  "<tool_error>" in self.conversation[convo_id][-1]["content"]:
467
467
  need_function_call = False
468
- full_response = "接下来我需要做什么?"
468
+ full_response = remove_xml_tags_and_content(full_response) + "上面是我的分析,还没有实际行动。\n\n接下来我需要做什么?"
469
469
  else:
470
470
  need_function_call = False
471
471
  if self.print_log:
@@ -341,6 +341,8 @@ async def get_search_results(query):
341
341
 
342
342
  if __name__ == "__main__":
343
343
  os.system("clear")
344
+ # python -m beswarm.aient.src.aient.plugins.websearch
345
+ print(get_url_content(""))
344
346
  # from aient.models import chatgpt
345
347
  # print(get_search_results("今天的微博热搜有哪些?", chatgpt.chatgpt_api_url.v1_url))
346
348
 
@@ -1,4 +1,5 @@
1
1
  import os
2
+ import re
2
3
  import json
3
4
  import requests
4
5
  import urllib.parse
@@ -148,6 +149,35 @@ def safe_get(data, *keys, default=None):
148
149
  return default
149
150
  return data
150
151
 
152
+ def remove_xml_tags_and_content(text: str) -> str:
153
+ """
154
+ 删除字符串中所有的XML标签及其包裹的内容。
155
+ 这个函数通过迭代地移除最内层的标签来处理嵌套标签和自闭合标签。
156
+
157
+ Args:
158
+ text: 包含XML标签的输入字符串。
159
+
160
+ Returns:
161
+ 清理掉XML标签和内容后的字符串。
162
+ """
163
+ # 正则表达式匹配成对的标签及其内容(非贪婪模式)以及自闭合标签
164
+ # 捕获组 \1 用于确保开始和结束标签名匹配
165
+ pair_pattern = r'<([a-zA-Z0-9_:]+)\b[^>]*>.*?</\1>'
166
+ self_closing_pattern = r'<[^>/]+/>'
167
+
168
+ cleaned_text = text
169
+ while True:
170
+ # 使用 re.sub 替换所有非重叠的匹配项
171
+ new_text = re.sub(pair_pattern, '', cleaned_text, flags=re.DOTALL)
172
+ new_text = re.sub(self_closing_pattern, '', new_text)
173
+
174
+ # 如果没有更多内容被移除,则退出循环
175
+ if new_text == cleaned_text:
176
+ break
177
+ cleaned_text = new_text
178
+
179
+ return cleaned_text.strip()
180
+
151
181
  import asyncio
152
182
  def async_generator_to_sync(async_gen):
153
183
  """
@@ -919,14 +949,15 @@ if __name__ == "__main__":
919
949
 
920
950
  请提供前两个 `excute_command` 的执行结果。
921
951
  """
922
- test_xml = """
923
- 好的,我现在执行第一步。
924
- <tools>
925
- <list_directory>
926
- <path>/Downloads/GitHub/beswarm/work/test</path>
927
- </list_directory>
928
- </tools>
929
- """
930
- print(parse_function_xml(test_xml))
952
+ # test_xml = """
953
+ # 好的,我现在执行第一步。
954
+ # <tools>
955
+ # <list_directory>
956
+ # <path>/Downloads/GitHub/beswarm/work/test</path>
957
+ # </list_directory>
958
+ # </tools>
959
+ # """
960
+ # print(parse_function_xml(test_xml))
961
+ print(remove_xml_tags_and_content(test_xml))
931
962
 
932
963
  # 运行本文件: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.31
3
+ Version: 1.1.33
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