pycoze 0.1.98__tar.gz → 0.1.99__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. {pycoze-0.1.98 → pycoze-0.1.99}/PKG-INFO +1 -1
  2. pycoze-0.1.99/pycoze/access/bot_for_bot.py +40 -0
  3. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/access/lib.py +14 -1
  4. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/access/tool_for_bot.py +2 -18
  5. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze.egg-info/PKG-INFO +1 -1
  6. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze.egg-info/SOURCES.txt +1 -0
  7. {pycoze-0.1.98 → pycoze-0.1.99}/setup.py +1 -1
  8. {pycoze-0.1.98 → pycoze-0.1.99}/LICENSE +0 -0
  9. {pycoze-0.1.98 → pycoze-0.1.99}/README.md +0 -0
  10. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/__init__.py +0 -0
  11. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/access/__init__.py +0 -0
  12. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/ai/__init__.py +0 -0
  13. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/ai/vram_reserve.py +0 -0
  14. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/bot/__init__.py +0 -0
  15. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/bot/agent/__init__.py +0 -0
  16. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/bot/agent/agent.py +0 -0
  17. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/bot/agent/agent_types/__init__.py +0 -0
  18. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/bot/agent/agent_types/openai_func_call_agent.py +0 -0
  19. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/bot/agent/assistant.py +0 -0
  20. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/bot/agent/chat.py +0 -0
  21. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/bot/bot.py +0 -0
  22. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/module.py +0 -0
  23. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/ui/__init__.py +0 -0
  24. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/ui/base.py +0 -0
  25. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/ui/color.py +0 -0
  26. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/ui/typ.py +0 -0
  27. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/ui/ui_def.py +0 -0
  28. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/utils/__init__.py +0 -0
  29. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/utils/arg.py +0 -0
  30. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze/utils/text_or_file.py +0 -0
  31. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze.egg-info/dependency_links.txt +0 -0
  32. {pycoze-0.1.98 → pycoze-0.1.99}/pycoze.egg-info/top_level.txt +0 -0
  33. {pycoze-0.1.98 → pycoze-0.1.99}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycoze
3
- Version: 0.1.98
3
+ Version: 0.1.99
4
4
  Summary: Package for pycoze only!
5
5
  Author: Yuan Jie Xiong
6
6
  Author-email: aiqqqqqqq@qq.com
@@ -0,0 +1,40 @@
1
+ import sys
2
+ import os
3
+ import importlib
4
+ from langchain.agents import tool as to_agent_tool
5
+ import types
6
+ import langchain_core
7
+ from .lib import ChangeDirectoryAndPath, ModuleManager, wrapped_fun
8
+
9
+
10
+ def import_tools(tool_id):
11
+ tool_base_path = "../../tool"
12
+ module_path = os.path.join(tool_base_path, tool_id)
13
+ module_path = os.path.normpath(os.path.abspath(module_path))
14
+
15
+ if not os.path.exists(module_path):
16
+ print(f"Tool {tool_id} not found")
17
+ return []
18
+
19
+ try:
20
+ with ModuleManager(module_path) as manager:
21
+ module = importlib.import_module("tool")
22
+ export_tools = getattr(module, "export_tools")
23
+ valid_tools = []
24
+ for tool in export_tools:
25
+ assert isinstance(tool, langchain_core.tools.StructuredTool) or isinstance(
26
+ tool, types.FunctionType
27
+ ), f"Tool is not a StructuredTool or function: {tool}"
28
+ if not isinstance(tool, langchain_core.tools.StructuredTool):
29
+ tool = to_agent_tool(tool)
30
+ valid_tools.append(tool)
31
+ export_tools = valid_tools
32
+
33
+ except Exception as e:
34
+ print(f"Error loading tool {tool_id}: {e}")
35
+ return []
36
+
37
+ for tool in export_tools:
38
+ tool.func = wrapped_fun(tool, module_path)
39
+
40
+ return export_tools
@@ -44,4 +44,17 @@ class ModuleManager:
44
44
  importlib.invalidate_caches()
45
45
  for key in list(sys.modules.keys()):
46
46
  if key not in self.original_modules:
47
- del sys.modules[key]
47
+ del sys.modules[key]
48
+
49
+
50
+ def wrapped_fun(item, module_path):
51
+ original_tool_function = item.func
52
+
53
+ def _wrapped(*args, **kwargs):
54
+ print(f"调用了 {item.name}")
55
+ with ChangeDirectoryAndPath(module_path):
56
+ result = original_tool_function(*args, **kwargs)
57
+ print(f"{item.name} 调用完毕,结果为:", result)
58
+ return result
59
+
60
+ return _wrapped
@@ -4,26 +4,10 @@ import importlib
4
4
  from langchain.agents import tool as to_agent_tool
5
5
  import types
6
6
  import langchain_core
7
- from .lib import ChangeDirectoryAndPath, ModuleManager
8
-
9
-
10
-
11
- def wrapped_tool(tool, module_path):
12
- """Wrap the tool function to include additional logging and path management."""
13
- original_tool_function = tool.func
14
-
15
- def _wrapped_tool(*args, **kwargs):
16
- print(f"调用了{tool.name}")
17
- with ChangeDirectoryAndPath(module_path):
18
- result = original_tool_function(*args, **kwargs)
19
- print(f"{tool.name}调用完毕,结果为:", result)
20
- return result
21
-
22
- return _wrapped_tool
7
+ from .lib import ChangeDirectoryAndPath, ModuleManager, wrapped_fun
23
8
 
24
9
 
25
10
  def import_tools(tool_id):
26
- """Import tools from a specified tool_id."""
27
11
  tool_base_path = "../../tool"
28
12
  module_path = os.path.join(tool_base_path, tool_id)
29
13
  module_path = os.path.normpath(os.path.abspath(module_path))
@@ -51,6 +35,6 @@ def import_tools(tool_id):
51
35
  return []
52
36
 
53
37
  for tool in export_tools:
54
- tool.func = wrapped_tool(tool, module_path)
38
+ tool.func = wrapped_fun(tool, module_path)
55
39
 
56
40
  return export_tools
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycoze
3
- Version: 0.1.98
3
+ Version: 0.1.99
4
4
  Summary: Package for pycoze only!
5
5
  Author: Yuan Jie Xiong
6
6
  Author-email: aiqqqqqqq@qq.com
@@ -8,6 +8,7 @@ pycoze.egg-info/SOURCES.txt
8
8
  pycoze.egg-info/dependency_links.txt
9
9
  pycoze.egg-info/top_level.txt
10
10
  pycoze/access/__init__.py
11
+ pycoze/access/bot_for_bot.py
11
12
  pycoze/access/lib.py
12
13
  pycoze/access/tool_for_bot.py
13
14
  pycoze/ai/__init__.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="pycoze",
5
- version="0.1.98",
5
+ version="0.1.99",
6
6
  packages=find_packages(),
7
7
  install_requires=[],
8
8
  author="Yuan Jie Xiong",
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