Agently 3.2.2.2__tar.gz → 3.2.2.3__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 (107) hide show
  1. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/Tool.py +7 -5
  2. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/tool/Web.py +22 -51
  3. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/requirements.txt +2 -1
  4. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/utils/ToolManager.py +6 -1
  5. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently.egg-info/PKG-INFO +3 -2
  6. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently.egg-info/requires.txt +2 -1
  7. {Agently-3.2.2.2 → Agently-3.2.2.3}/PKG-INFO +3 -2
  8. {Agently-3.2.2.2 → Agently-3.2.2.3}/setup.py +1 -1
  9. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Agent/Agent.py +0 -0
  10. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Agent/AgentFactory.py +0 -0
  11. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Agent/__init__.py +0 -0
  12. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Facility/FacilityManager.py +0 -0
  13. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Facility/__init__.py +0 -0
  14. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Request/Request.py +0 -0
  15. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Request/__init__.py +0 -0
  16. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/WebSocket/WebSocket.py +0 -0
  17. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/WebSocket/__init__.py +0 -0
  18. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/Chunk.py +0 -0
  19. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/MainExecutor.py +0 -0
  20. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/Schema.py +0 -0
  21. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/Workflow.py +0 -0
  22. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/__init__.py +0 -0
  23. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/executors/StartExecutor.py +0 -0
  24. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/executors/__init__.py +0 -0
  25. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/executors/install.py +0 -0
  26. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/lib/BreakingHub.py +0 -0
  27. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/lib/ChunkExecutorABC.py +0 -0
  28. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/lib/ChunkExecutorManager.py +0 -0
  29. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/lib/Store.py +0 -0
  30. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/lib/__init__.py +0 -0
  31. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/lib/constants.py +0 -0
  32. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/lib/painter.py +0 -0
  33. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/utils/__init__.py +0 -0
  34. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/utils/exec_tree.py +0 -0
  35. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/utils/find.py +0 -0
  36. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/utils/logger.py +0 -0
  37. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/utils/runtime_supports.py +0 -0
  38. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/utils/verify.py +0 -0
  39. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/yamlflow/__init__.py +0 -0
  40. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/yamlflow/preset_chunks/Print.py +0 -0
  41. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/yamlflow/preset_chunks/Start.py +0 -0
  42. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/yamlflow/preset_chunks/UserInput.py +0 -0
  43. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/yamlflow/preset_chunks/__init__.py +0 -0
  44. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/Workflow/yamlflow/yamlflow.py +0 -0
  45. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/__init__.py +0 -0
  46. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/_global.py +0 -0
  47. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/global_plugin_manager.py +0 -0
  48. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/__init__.py +0 -0
  49. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/Decorator.py +0 -0
  50. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/EventListener.py +0 -0
  51. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/OpenAIAssistant.py +0 -0
  52. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/ReplyReformer.py +0 -0
  53. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/Role.py +0 -0
  54. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/Search.py +0 -0
  55. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/Segment.py +0 -0
  56. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/Session.py +0 -0
  57. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/Status.py +0 -0
  58. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/UserInfo.py +0 -0
  59. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/YAMLLoader.py +0 -0
  60. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/__init__.py +0 -0
  61. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/config.ini +0 -0
  62. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/utils/ComponentABC.py +0 -0
  63. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/agent_component/utils/__init__.py +0 -0
  64. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/facility/Embedding.py +0 -0
  65. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/facility/RoleManager.py +0 -0
  66. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/facility/StatusManager.py +0 -0
  67. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/facility/__init__.py +0 -0
  68. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/facility/config.ini +0 -0
  69. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/facility/utils/FacilityABC.py +0 -0
  70. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/facility/utils/__init__.py +0 -0
  71. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/request/Claude.py +0 -0
  72. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/request/ERNIE.py +0 -0
  73. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/request/Google.py +0 -0
  74. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/request/Kimi.py +0 -0
  75. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/request/MiniMax.py +0 -0
  76. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/request/OAIClient.py +0 -0
  77. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/request/OpenAI.py +0 -0
  78. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/request/ZhipuAI.py +0 -0
  79. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/request/__init__.py +0 -0
  80. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/request/config.ini +0 -0
  81. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/request/utils/RequestABC.py +0 -0
  82. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/request/utils/__init__.py +0 -0
  83. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/request/utils/transform.py +0 -0
  84. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/storage/FileStorage.py +0 -0
  85. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/storage/__init__.py +0 -0
  86. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/storage/config.ini +0 -0
  87. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/storage/utils/StorageABC.py +0 -0
  88. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/storage/utils/__init__.py +0 -0
  89. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/tool/Code.py +0 -0
  90. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/tool/__init__.py +0 -0
  91. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/tool/config.ini +0 -0
  92. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/tool/utils/ToolABC.py +0 -0
  93. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/plugins/tool/utils/__init__.py +0 -0
  94. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/utils/AliasManager.py +0 -0
  95. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/utils/DataOps.py +0 -0
  96. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/utils/IdGenerator.py +0 -0
  97. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/utils/PluginManager.py +0 -0
  98. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/utils/RuntimeCtx.py +0 -0
  99. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/utils/StorageDelegate.py +0 -0
  100. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/utils/__init__.py +0 -0
  101. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/utils/check_version.py +0 -0
  102. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/utils/load_json.py +0 -0
  103. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently/utils/transform.py +0 -0
  104. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently.egg-info/SOURCES.txt +0 -0
  105. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently.egg-info/dependency_links.txt +0 -0
  106. {Agently-3.2.2.2 → Agently-3.2.2.3}/Agently.egg-info/top_level.txt +0 -0
  107. {Agently-3.2.2.2 → Agently-3.2.2.3}/setup.cfg +0 -0
@@ -1,3 +1,4 @@
1
+ import asyncio
1
2
  import json
2
3
  from datetime import datetime
3
4
  from .utils import ComponentABC
@@ -11,6 +12,7 @@ class Tool(ComponentABC):
11
12
  self.tool_manager = self.agent.tool_manager
12
13
  self.tool_dict = {}
13
14
  self.must_call_tool_info = None
15
+ self.get_tool_func = self.tool_manager.get_tool_func
14
16
  self.call_tool_func = self.tool_manager.call_tool_func
15
17
  self.set_tool_proxy = self.tool_manager.set_tool_proxy
16
18
 
@@ -101,10 +103,11 @@ class Tool(ComponentABC):
101
103
  tool_kwrags.update({ "proxy": proxy })
102
104
  call_result = None
103
105
  try:
104
- call_result = self.call_tool_func(
105
- tool_info["tool_name"],
106
- **tool_kwrags
107
- )
106
+ tool_func = self.get_tool_func(tool_info["tool_name"])
107
+ if asyncio.iscoroutinefunction(tool_func):
108
+ call_result = await tool_func(**tool_kwrags)
109
+ else:
110
+ call_result = tool_func(**tool_kwrags)
108
111
  except Exception as e:
109
112
  if self.is_debug():
110
113
  print("[Tool Error]: ", e)
@@ -151,7 +154,6 @@ class Tool(ComponentABC):
151
154
  if tool_results and len(tool_results.keys()) > 0:
152
155
  return {
153
156
  "info": tool_results,
154
- "instruct": ["Use format [keywords](url) to mark internet-source information in {OUTPUT}"]
155
157
  }
156
158
  else:
157
159
  return None
@@ -2,8 +2,8 @@ from .utils import ToolABC
2
2
  import time
3
3
  import httpx
4
4
  from duckduckgo_search import DDGS
5
- from newspaper import Article as NsArticle, Config as NsConfig
6
- #from bs4 import BeautifulSoup
5
+ import requests
6
+ from bs4 import BeautifulSoup
7
7
 
8
8
  class Web(ToolABC):
9
9
  def __init__(self, tool_manager: object):
@@ -36,14 +36,6 @@ class Web(ToolABC):
36
36
  "brief": result["body"],
37
37
  "url": result["href"],
38
38
  })
39
- '''
40
- results["origin"].append(result)
41
- results["for_agent"].append({
42
- "index": index,
43
- "title": result["title"],
44
- "body": result["body"],
45
- })
46
- '''
47
39
  elif type == 2:
48
40
  for index, result in enumerate(ddgs.news(
49
41
  str(keywords),
@@ -56,15 +48,6 @@ class Web(ToolABC):
56
48
  "source": result["source"],
57
49
  "date": result["date"],
58
50
  })
59
- '''
60
- results["origin"].append(result)
61
- results["for_agent"].append({
62
- "index": index,
63
- "title": result["title"],
64
- "body": result["body"],
65
- "date": result["date"],
66
- })
67
- '''
68
51
  except Exception as e:
69
52
  results = f"No Result Because: { str(e) }"
70
53
  return results
@@ -82,40 +65,28 @@ class Web(ToolABC):
82
65
  return self.search(keywords, options=options, proxy=proxy, type=2)
83
66
 
84
67
  def browse(self, url: str, *, retry_times:int = 0, proxy: str=None):
85
- ns_config = NsConfig()
86
- if proxy:
87
- if proxy.startswith("http:"):
88
- ns_config.proxies = { "http": proxy }
89
- elif proxy.startswith("https:"):
90
- ns_config.proxies = { "https": proxy }
91
- ns_config.request_timeout = 20
92
- ns_config.browser_user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"
93
- ns_config.browser_accept = "*/*"
94
- ns_config.fetch_images = False
95
- ns_config.memoize_articles = False
96
- ns_article = NsArticle(url, config = ns_config)
97
- ns_article.download()
98
- ns_article.parse()
99
- result = ns_article.text
100
- return result
101
- '''
102
- if len(result) < 200:
103
- request_params = {}
68
+ try:
69
+ request_options = {}
104
70
  if proxy:
105
- request_params.update({ "proxies": proxy })
106
- response = httpx.get(url, **request_params)
107
- if response.status_code == 200:
108
- soup = BeautifulSoup(response.text, "html.parser")
109
- result = re.sub(r"\n{3,}", "\n\n", soup.get_text())
110
- return result
71
+ if proxy.startswith("http:"):
72
+ request_options.update({ "proxies": { "http": proxy } })
73
+ elif proxy.startswith("https:"):
74
+ request_options.update({ "proxies": { "https": proxy } })
75
+ request_options.update({ "headers": { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"} })
76
+ page_response = requests.get(url, **request_options)
77
+ soup = BeautifulSoup(page_response.content, 'html.parser')
78
+ paragraphs = soup.find_all('p')
79
+ texts = [p.get_text() for p in paragraphs]
80
+ page_content = '\n'.join(texts)
81
+ if page_content and page_content != "":
82
+ return page_content
111
83
  else:
112
- if retry_times < 3:
113
- return self.browse(url, retry_times = retry_times + 1)
114
- else:
115
- return "Can not open the web page."
116
- else:
117
- return result
118
- '''
84
+ return f"Can not get content from url: { url }"
85
+ except Exception as e:
86
+ if retry_times < 3:
87
+ return self.browse(url, retry_times = retry_times + 1, proxy = proxy)
88
+ else:
89
+ return f"Can not get content from url: { url }\nError: { str(e) }"
119
90
 
120
91
  def export(self):
121
92
  return {
@@ -12,7 +12,8 @@ PyYAML
12
12
  json5
13
13
  # Web
14
14
  duckduckgo_search
15
- newspaper3k
15
+ beautifulsoup4
16
+ requests
16
17
  # Calulate
17
18
  numpy
18
19
  scipy
@@ -1,3 +1,4 @@
1
+ import asyncio
1
2
  from .RuntimeCtx import RuntimeCtx, RuntimeCtxNamespace
2
3
 
3
4
  class ToolManager(object):
@@ -71,7 +72,11 @@ class ToolManager(object):
71
72
  def call_tool_func(self, tool_name: str, *args, **kwargs):
72
73
  func = self.get_tool_func(tool_name)
73
74
  if func:
74
- return func(*args, **kwargs)
75
+ if asyncio.iscoroutinefunction(func):
76
+ loop = asyncio.get_event_loop()
77
+ return loop.run_until_complete(func(*args, **kwargs))
78
+ else:
79
+ return func(*args, **kwargs)
75
80
  else:
76
81
  return None
77
82
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Agently
3
- Version: 3.2.2.2
3
+ Version: 3.2.2.3
4
4
  Summary: Agently, a framework to build applications based on language model powered intelligent agents.
5
5
  Home-page: https://github.com/Maplemx/Agently
6
6
  Author: Maplemx
@@ -20,7 +20,8 @@ Requires-Dist: zhipuai
20
20
  Requires-Dist: PyYAML
21
21
  Requires-Dist: json5
22
22
  Requires-Dist: duckduckgo_search
23
- Requires-Dist: newspaper3k
23
+ Requires-Dist: beautifulsoup4
24
+ Requires-Dist: requests
24
25
  Requires-Dist: numpy
25
26
  Requires-Dist: scipy
26
27
  Requires-Dist: sympy
@@ -8,7 +8,8 @@ zhipuai
8
8
  PyYAML
9
9
  json5
10
10
  duckduckgo_search
11
- newspaper3k
11
+ beautifulsoup4
12
+ requests
12
13
  numpy
13
14
  scipy
14
15
  sympy
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Agently
3
- Version: 3.2.2.2
3
+ Version: 3.2.2.3
4
4
  Summary: Agently, a framework to build applications based on language model powered intelligent agents.
5
5
  Home-page: https://github.com/Maplemx/Agently
6
6
  Author: Maplemx
@@ -20,7 +20,8 @@ Requires-Dist: zhipuai
20
20
  Requires-Dist: PyYAML
21
21
  Requires-Dist: json5
22
22
  Requires-Dist: duckduckgo_search
23
- Requires-Dist: newspaper3k
23
+ Requires-Dist: beautifulsoup4
24
+ Requires-Dist: requests
24
25
  Requires-Dist: numpy
25
26
  Requires-Dist: scipy
26
27
  Requires-Dist: sympy
@@ -10,7 +10,7 @@ for requirement in origin_requirements:
10
10
 
11
11
  setuptools.setup(
12
12
  name = "Agently",
13
- version = "3.2.2.2",
13
+ version = "3.2.2.3",
14
14
  author = "Maplemx",
15
15
  author_email = "maplemx@gmail.com",
16
16
  description = "Agently, a framework to build applications based on language model powered intelligent agents.",
File without changes
File without changes
File without changes