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 +4 -2
- pycoze/reference/tool.py +4 -2
- pycoze/reference/workflow.py +56 -0
- {pycoze-0.1.192.dist-info → pycoze-0.1.194.dist-info}/METADATA +1 -1
- {pycoze-0.1.192.dist-info → pycoze-0.1.194.dist-info}/RECORD +8 -7
- {pycoze-0.1.192.dist-info → pycoze-0.1.194.dist-info}/LICENSE +0 -0
- {pycoze-0.1.192.dist-info → pycoze-0.1.194.dist-info}/WHEEL +0 -0
- {pycoze-0.1.192.dist-info → pycoze-0.1.194.dist-info}/top_level.txt +0 -0
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
|
-
|
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
|
-
|
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
|
+
|
@@ -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=
|
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=
|
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.
|
31
|
-
pycoze-0.1.
|
32
|
-
pycoze-0.1.
|
33
|
-
pycoze-0.1.
|
34
|
-
pycoze-0.1.
|
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,,
|
File without changes
|
File without changes
|
File without changes
|