PraisonAI 2.0.39__cp312-cp312-manylinux_2_39_x86_64.whl → 2.0.40__cp312-cp312-manylinux_2_39_x86_64.whl
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.
Potentially problematic release.
This version of PraisonAI might be problematic. Click here for more details.
- praisonai/agents_generator.py +13 -9
- praisonai/api/call.py +3 -3
- praisonai/cli.py +6 -0
- praisonai/deploy.py +1 -1
- {praisonai-2.0.39.dist-info → praisonai-2.0.40.dist-info}/METADATA +1 -1
- {praisonai-2.0.39.dist-info → praisonai-2.0.40.dist-info}/RECORD +9 -9
- {praisonai-2.0.39.dist-info → praisonai-2.0.40.dist-info}/LICENSE +0 -0
- {praisonai-2.0.39.dist-info → praisonai-2.0.40.dist-info}/WHEEL +0 -0
- {praisonai-2.0.39.dist-info → praisonai-2.0.40.dist-info}/entry_points.txt +0 -0
praisonai/agents_generator.py
CHANGED
|
@@ -212,9 +212,9 @@ class AgentsGenerator:
|
|
|
212
212
|
try:
|
|
213
213
|
# Try to import tools.py from current directory
|
|
214
214
|
spec = importlib.util.spec_from_file_location("tools", "tools.py")
|
|
215
|
-
self.logger.
|
|
215
|
+
self.logger.debug(f"Spec: {spec}")
|
|
216
216
|
if spec is None:
|
|
217
|
-
self.logger.
|
|
217
|
+
self.logger.debug("tools.py not found in current directory")
|
|
218
218
|
return tools_list
|
|
219
219
|
|
|
220
220
|
module = importlib.util.module_from_spec(spec)
|
|
@@ -229,10 +229,10 @@ class AgentsGenerator:
|
|
|
229
229
|
globals()[name] = obj
|
|
230
230
|
# Add to tools list
|
|
231
231
|
tools_list.append(obj)
|
|
232
|
-
self.logger.
|
|
232
|
+
self.logger.debug(f"Loaded and globalized tool function: {name}")
|
|
233
233
|
|
|
234
|
-
self.logger.
|
|
235
|
-
self.logger.
|
|
234
|
+
self.logger.debug(f"Loaded {len(tools_list)} tool functions from tools.py")
|
|
235
|
+
self.logger.debug(f"Tools list: {tools_list}")
|
|
236
236
|
|
|
237
237
|
except Exception as e:
|
|
238
238
|
self.logger.warning(f"Error loading tools from tools.py: {e}")
|
|
@@ -539,7 +539,7 @@ class AgentsGenerator:
|
|
|
539
539
|
|
|
540
540
|
# Load tools once at the beginning
|
|
541
541
|
tools_list = self.load_tools_from_tools_py()
|
|
542
|
-
self.logger.
|
|
542
|
+
self.logger.debug(f"Loaded tools: {tools_list}")
|
|
543
543
|
|
|
544
544
|
# Create agents from config
|
|
545
545
|
for role, details in config['roles'].items():
|
|
@@ -574,7 +574,7 @@ class AgentsGenerator:
|
|
|
574
574
|
agent.step_callback = self.agent_callback
|
|
575
575
|
|
|
576
576
|
agents[role] = agent
|
|
577
|
-
self.logger.
|
|
577
|
+
self.logger.debug(f"Created agent {role_filled} with tools: {agent.tools}")
|
|
578
578
|
|
|
579
579
|
# Create tasks for the agent
|
|
580
580
|
for task_name, task_details in details.get('tasks', {}).items():
|
|
@@ -596,7 +596,7 @@ class AgentsGenerator:
|
|
|
596
596
|
create_directory=task_details.get('create_directory', False)
|
|
597
597
|
)
|
|
598
598
|
|
|
599
|
-
self.logger.
|
|
599
|
+
self.logger.debug(f"Created task {task_name} with tools: {task.tools}")
|
|
600
600
|
|
|
601
601
|
if self.task_callback:
|
|
602
602
|
task.callback = self.task_callback
|
|
@@ -613,6 +613,8 @@ class AgentsGenerator:
|
|
|
613
613
|
task.context = context_tasks
|
|
614
614
|
|
|
615
615
|
# Create and run the PraisonAI agents
|
|
616
|
+
memory = config.get('memory', False)
|
|
617
|
+
self.logger.debug(f"Memory: {memory}")
|
|
616
618
|
if config.get('process') == 'hierarchical':
|
|
617
619
|
agents = PraisonAIAgents(
|
|
618
620
|
agents=list(agents.values()),
|
|
@@ -620,12 +622,14 @@ class AgentsGenerator:
|
|
|
620
622
|
verbose=True,
|
|
621
623
|
process="hierarchical",
|
|
622
624
|
manager_llm=config.get('manager_llm', 'gpt-4o'),
|
|
625
|
+
memory=memory
|
|
623
626
|
)
|
|
624
627
|
else:
|
|
625
628
|
agents = PraisonAIAgents(
|
|
626
629
|
agents=list(agents.values()),
|
|
627
630
|
tasks=tasks,
|
|
628
|
-
verbose=2
|
|
631
|
+
verbose=2,
|
|
632
|
+
memory=memory
|
|
629
633
|
)
|
|
630
634
|
|
|
631
635
|
self.logger.debug("Final Configuration:")
|
praisonai/api/call.py
CHANGED
|
@@ -50,7 +50,7 @@ logger.handlers = []
|
|
|
50
50
|
# Try to import tools from the root directory
|
|
51
51
|
tools = []
|
|
52
52
|
tools_path = os.path.join(os.getcwd(), 'tools.py')
|
|
53
|
-
logger.
|
|
53
|
+
logger.debug(f"Tools path: {tools_path}")
|
|
54
54
|
|
|
55
55
|
def import_tools_from_file(file_path):
|
|
56
56
|
spec = importlib.util.spec_from_file_location("custom_tools", file_path)
|
|
@@ -63,9 +63,9 @@ try:
|
|
|
63
63
|
if os.path.exists(tools_path):
|
|
64
64
|
# tools.py exists in the root directory, import from file
|
|
65
65
|
custom_tools_module = import_tools_from_file(tools_path)
|
|
66
|
-
logger.
|
|
66
|
+
logger.debug("Successfully imported custom tools from root tools.py")
|
|
67
67
|
else:
|
|
68
|
-
logger.
|
|
68
|
+
logger.debug("No custom tools.py file found in the root directory")
|
|
69
69
|
custom_tools_module = None
|
|
70
70
|
|
|
71
71
|
if custom_tools_module:
|
praisonai/cli.py
CHANGED
|
@@ -73,6 +73,12 @@ except ImportError:
|
|
|
73
73
|
pass
|
|
74
74
|
|
|
75
75
|
logging.basicConfig(level=os.environ.get('LOGLEVEL', 'INFO'), format='%(asctime)s - %(levelname)s - %(message)s')
|
|
76
|
+
logging.getLogger('alembic').setLevel(logging.ERROR)
|
|
77
|
+
logging.getLogger('gradio').setLevel(logging.ERROR)
|
|
78
|
+
logging.getLogger('gradio').setLevel(os.environ.get('GRADIO_LOGLEVEL', 'WARNING'))
|
|
79
|
+
logging.getLogger('rust_logger').setLevel(logging.WARNING)
|
|
80
|
+
logging.getLogger('duckduckgo').setLevel(logging.ERROR)
|
|
81
|
+
logging.getLogger('_client').setLevel(logging.ERROR)
|
|
76
82
|
|
|
77
83
|
def stream_subprocess(command, env=None):
|
|
78
84
|
"""
|
praisonai/deploy.py
CHANGED
|
@@ -56,7 +56,7 @@ class CloudDeployer:
|
|
|
56
56
|
file.write("FROM python:3.11-slim\n")
|
|
57
57
|
file.write("WORKDIR /app\n")
|
|
58
58
|
file.write("COPY . .\n")
|
|
59
|
-
file.write("RUN pip install flask praisonai==2.0.
|
|
59
|
+
file.write("RUN pip install flask praisonai==2.0.40 gunicorn markdown\n")
|
|
60
60
|
file.write("EXPOSE 8080\n")
|
|
61
61
|
file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
|
|
62
62
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: PraisonAI
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.40
|
|
4
4
|
Summary: PraisonAI is an AI Agents Framework with Self Reflection. PraisonAI application combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customisation, and efficient human–agent collaboration.
|
|
5
5
|
Author: Mervin Praison
|
|
6
6
|
Requires-Python: >=3.10,<3.13
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
praisonai/__init__.py,sha256=JrgyPlzZfLlozoW7SHZ1nVJ63rLPR3ki2k5ZPywYrnI,175
|
|
2
2
|
praisonai/__main__.py,sha256=MVgsjMThjBexHt4nhd760JCqvP4x0IQcwo8kULOK4FQ,144
|
|
3
|
-
praisonai/agents_generator.py,sha256=
|
|
4
|
-
praisonai/api/call.py,sha256=
|
|
3
|
+
praisonai/agents_generator.py,sha256=50kzmEdH8G0SgP5_Q9yJUcUcow1NTNY5llfRWYekmjc,28338
|
|
4
|
+
praisonai/api/call.py,sha256=krOfTCZM_bdbsNuWQ1PijzCHECkDvEi9jIvvZaDQUUU,11035
|
|
5
5
|
praisonai/auto.py,sha256=uLDm8CU3L_3amZsd55yzf9RdBF1uW-BGSx7nl9ctNZ4,8680
|
|
6
6
|
praisonai/chainlit_ui.py,sha256=bNR7s509lp0I9JlJNvwCZRUZosC64qdvlFCt8NmFamQ,12216
|
|
7
|
-
praisonai/cli.py,sha256=
|
|
8
|
-
praisonai/deploy.py,sha256=
|
|
7
|
+
praisonai/cli.py,sha256=U5ZPbJGcpZfZPNwwE99NoGOerH55ZmcbePMUU6lUoqE,21566
|
|
8
|
+
praisonai/deploy.py,sha256=tfEVPecdjqlr_wMK64i4WWTbGOL5kbwnEOvCzSiA-XI,6028
|
|
9
9
|
praisonai/inbuilt_tools/__init__.py,sha256=fai4ZJIKz7-iOnGZv5jJX0wmT77PKa4x2jqyaJddKFA,569
|
|
10
10
|
praisonai/inbuilt_tools/autogen_tools.py,sha256=kJdEv61BTYvdHOaURNEpBcWq8Rs-oC03loNFTIjT-ak,4687
|
|
11
11
|
praisonai/inc/__init__.py,sha256=sPDlYBBwdk0VlWzaaM_lG0_LD07lS2HRGvPdxXJFiYg,62
|
|
@@ -82,8 +82,8 @@ praisonai/ui/realtimeclient/tools.py,sha256=IJOYwVOBW5Ocn5_iV9pFkmSKR3WU3YpX3kwF
|
|
|
82
82
|
praisonai/ui/sql_alchemy.py,sha256=oekZOXlRGMJ2SuC-lmgMMIzAmvbMg2DWeGTSpOzbVBM,29674
|
|
83
83
|
praisonai/ui/tools.md,sha256=Ad3YH_ZCLMWlz3mDXllQnQ_S5l55LWqLdcZSh-EXrHI,3956
|
|
84
84
|
praisonai/version.py,sha256=ugyuFliEqtAwQmH4sTlc16YXKYbFWDmfyk87fErB8-8,21
|
|
85
|
-
praisonai-2.0.
|
|
86
|
-
praisonai-2.0.
|
|
87
|
-
praisonai-2.0.
|
|
88
|
-
praisonai-2.0.
|
|
89
|
-
praisonai-2.0.
|
|
85
|
+
praisonai-2.0.40.dist-info/LICENSE,sha256=kqvFysVlnFxYOu0HxCe2HlmZmJtdmNGOxWRRkT9TsWc,1035
|
|
86
|
+
praisonai-2.0.40.dist-info/METADATA,sha256=RhLUjo2I-UWMovODDefuEYi5PMU9g64hsTSbOZNHJoQ,21774
|
|
87
|
+
praisonai-2.0.40.dist-info/WHEEL,sha256=rqU-pzVJ6on7cnU-SP20blBtY1yM7u0ejCbKCZ5K36I,110
|
|
88
|
+
praisonai-2.0.40.dist-info/entry_points.txt,sha256=I_xc6a6MNTTfLxYmAxe0rgey0G-_hbY07oFW-ZDnkw4,135
|
|
89
|
+
praisonai-2.0.40.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|