pycoze 0.1.192__py3-none-any.whl → 0.1.194__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
pycoze/reference/bot.py CHANGED
@@ -12,9 +12,11 @@ bot_index = 0
12
12
 
13
13
  params = utils.read_params_file()
14
14
 
15
- def ref_bot(bot_id, as_agent_tool=False):
15
+ def ref_bot(bot_id, as_agent_tool=False, workspace_path=None):
16
16
  global bot_index
17
- tool_base_path = os.path.join(params["workspacePath"], "User/Local/bot")
17
+ if workspace_path is None:
18
+ workspace_path = params["workspacePath"]
19
+ tool_base_path = os.path.join(workspace_path, "User/Local/bot")
18
20
  module_path = os.path.join(tool_base_path, bot_id)
19
21
  module_path = os.path.normpath(os.path.abspath(module_path))
20
22
 
pycoze/reference/tool.py CHANGED
@@ -10,8 +10,10 @@ from pycoze import utils
10
10
 
11
11
  params = utils.read_params_file()
12
12
 
13
- def ref_tools(tool_id, as_agent_tool=False):
14
- tool_base_path = os.path.join(params["workspacePath"], "User/Local/tool")
13
+ def ref_tools(tool_id, as_agent_tool=False, workspace_path=None):
14
+ if workspace_path is None:
15
+ workspace_path = params["workspacePath"]
16
+ tool_base_path = os.path.join(workspace_path, "User/Local/tool")
15
17
  module_path = os.path.join(tool_base_path, tool_id)
16
18
  module_path = os.path.normpath(os.path.abspath(module_path))
17
19
 
@@ -0,0 +1,56 @@
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_func
8
+ from pycoze import utils
9
+
10
+
11
+ params = utils.read_params_file()
12
+
13
+ def _ref_workflows(workflow_id, as_agent_tool=False, workspace_path=None):
14
+ if workspace_path is None:
15
+ workspace_path = params["workspacePath"]
16
+ tool_base_path = os.path.join(workspace_path, "User/Local/workflow")
17
+ module_path = os.path.join(tool_base_path, workflow_id)
18
+ module_path = os.path.normpath(os.path.abspath(module_path))
19
+
20
+ if not os.path.exists(module_path):
21
+ print(f"Workflow {workflow_id} not found")
22
+ return []
23
+
24
+ try:
25
+ with ModuleManager(module_path) as manager:
26
+ module = importlib.import_module("workflow")
27
+ export_tools = getattr(module, "export_tools")
28
+ valid_tools = []
29
+ for tool in export_tools:
30
+ assert isinstance(tool, langchain_core.tools.StructuredTool) or isinstance(
31
+ tool, types.FunctionType
32
+ ), f"Tool is not a StructuredTool or function: {tool}"
33
+ if not isinstance(tool, langchain_core.tools.StructuredTool):
34
+ tool = to_agent_tool(tool)
35
+ valid_tools.append(tool)
36
+ export_tools = valid_tools
37
+
38
+ except Exception as e:
39
+ print(f"Error loading workflow {workflow_id}: {e}")
40
+ return []
41
+
42
+ for tool in export_tools:
43
+ tool.func = wrapped_func(tool, module_path)
44
+ if tool.description is None:
45
+ tool.description = "This tool is used to " + tool.name + "."
46
+
47
+ return export_tools if as_agent_tool else [tool.func for tool in export_tools]
48
+
49
+
50
+ def ref_workflows(workflow_id, as_agent_tool=False):
51
+ tools = _ref_workflows(workflow_id, as_agent_tool=as_agent_tool)
52
+ if len(tools) > 0:
53
+ return tools[0]
54
+ else:
55
+ return None
56
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycoze
3
- Version: 0.1.192
3
+ Version: 0.1.194
4
4
  Summary: Package for pycoze only!
5
5
  Author: Yuan Jie Xiong
6
6
  Author-email: aiqqqqqqq@qq.com
@@ -15,9 +15,10 @@ pycoze/bot/agent/agent_types/__init__.py,sha256=zmU2Kmrv5mCdfg-QlPn2H6pWxbGeq8s7
15
15
  pycoze/bot/agent/agent_types/const.py,sha256=BfUKPrhAHREoMLHuFNG2bCIEkC1-f7K0LEqNg4RwiRE,70
16
16
  pycoze/bot/agent/agent_types/openai_func_call_agent.py,sha256=SnEm5MODHn2uMsaMNqgzULM_91vqLHC0TU6ovwCOqLU,6675
17
17
  pycoze/reference/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- pycoze/reference/bot.py,sha256=oSxlrqS0MWUwxNlTx-ZKI1p5Udj44IhrFZaPLiTMsw8,2333
18
+ pycoze/reference/bot.py,sha256=BDflTV3zYoZqWnJpD5lMM_1vU_5b20M3XiFt1p-RHWM,2427
19
19
  pycoze/reference/lib.py,sha256=0xQJTLTHedGzQBsjuTFNBVqYc4-8Yl65gGCrAhWyOX8,2155
20
- pycoze/reference/tool.py,sha256=gLffWRz6tXPiWjewplnky-yxXya_fGkx132PRYZmxpw,1630
20
+ pycoze/reference/tool.py,sha256=9OxHawxjkh6S8eAOlGNrbfhkk5oRlRc7LBpnV6RmhYI,1722
21
+ pycoze/reference/workflow.py,sha256=rjjVrwk_Dym3u4bb461tKyETNiXi58DLwSSd5yAB3kg,2017
21
22
  pycoze/ui/__init__.py,sha256=7xAfL2lfG7-jllPJEZUJO89xUE9sNzvo1y0WmBswjBI,458
22
23
  pycoze/ui/base.py,sha256=sbBZGMUtlosWHQJpxMULa1bGByeSlcldtE9QXNyiJmM,1093
23
24
  pycoze/ui/color.py,sha256=cT9Ib8uNzkOKxyW0IwVj46o4LwdB1xgNCj1_Rou9d_4,854
@@ -27,8 +28,8 @@ pycoze/utils/__init__.py,sha256=Gi5EnrWZGMD2JRejgV4c_VLCXyvA2wwBFI_niDF5MUE,110
27
28
  pycoze/utils/arg.py,sha256=GtfGbMTMdaK75Fwh6MpUe1pCA5X6Ep4LFG7a72YrzjI,525
28
29
  pycoze/utils/env.py,sha256=W04lhvTHhAAC6EldP6kk2xrctqtu8K6kl1vDLZDNeh8,561
29
30
  pycoze/utils/text_or_file.py,sha256=gpxZVWt2DW6YiEg_MnMuwg36VNf3TX383QD_1oZNB0Y,551
30
- pycoze-0.1.192.dist-info/LICENSE,sha256=QStd_Qsd0-kAam_-sOesCIp_uKrGWeoKwt9M49NVkNU,1090
31
- pycoze-0.1.192.dist-info/METADATA,sha256=QKCQpr1BfWEt_Lp737155V1XaTQxm-nnAaXrTg49L5c,726
32
- pycoze-0.1.192.dist-info/WHEEL,sha256=bFJAMchF8aTQGUgMZzHJyDDMPTO3ToJ7x23SLJa1SVo,92
33
- pycoze-0.1.192.dist-info/top_level.txt,sha256=76dPeDhKvOCleL3ZC5gl1-y4vdS1tT_U1hxWVAn7sFo,7
34
- pycoze-0.1.192.dist-info/RECORD,,
31
+ pycoze-0.1.194.dist-info/LICENSE,sha256=QStd_Qsd0-kAam_-sOesCIp_uKrGWeoKwt9M49NVkNU,1090
32
+ pycoze-0.1.194.dist-info/METADATA,sha256=9GXgPZYP28cEGIPuSGa55XX2rHrJHue1qjcNwv94nrc,726
33
+ pycoze-0.1.194.dist-info/WHEEL,sha256=bFJAMchF8aTQGUgMZzHJyDDMPTO3ToJ7x23SLJa1SVo,92
34
+ pycoze-0.1.194.dist-info/top_level.txt,sha256=76dPeDhKvOCleL3ZC5gl1-y4vdS1tT_U1hxWVAn7sFo,7
35
+ pycoze-0.1.194.dist-info/RECORD,,