PraisonAI 2.0.61__tar.gz → 2.0.63__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.

Potentially problematic release.


This version of PraisonAI might be problematic. Click here for more details.

Files changed (88) hide show
  1. {praisonai-2.0.61 → praisonai-2.0.63}/PKG-INFO +1 -1
  2. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/cli.py +87 -4
  3. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/deploy.py +1 -1
  4. {praisonai-2.0.61 → praisonai-2.0.63}/pyproject.toml +2 -2
  5. {praisonai-2.0.61 → praisonai-2.0.63}/LICENSE +0 -0
  6. {praisonai-2.0.61 → praisonai-2.0.63}/README.md +0 -0
  7. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/__init__.py +0 -0
  8. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/__main__.py +0 -0
  9. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/agents_generator.py +0 -0
  10. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/api/call.py +0 -0
  11. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/auto.py +0 -0
  12. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/chainlit_ui.py +0 -0
  13. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/inbuilt_tools/__init__.py +0 -0
  14. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
  15. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/inc/__init__.py +0 -0
  16. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/inc/config.py +0 -0
  17. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/inc/models.py +0 -0
  18. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/public/android-chrome-192x192.png +0 -0
  19. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/public/android-chrome-512x512.png +0 -0
  20. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/public/apple-touch-icon.png +0 -0
  21. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/public/fantasy.svg +0 -0
  22. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/public/favicon-16x16.png +0 -0
  23. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/public/favicon-32x32.png +0 -0
  24. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/public/favicon.ico +0 -0
  25. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/public/game.svg +0 -0
  26. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/public/logo_dark.png +0 -0
  27. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/public/logo_light.png +0 -0
  28. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/public/movie.svg +0 -0
  29. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/public/praison-ai-agents-architecture-dark.png +0 -0
  30. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/public/praison-ai-agents-architecture.png +0 -0
  31. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/public/thriller.svg +0 -0
  32. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/setup/__init__.py +0 -0
  33. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/setup/build.py +0 -0
  34. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/setup/config.yaml +0 -0
  35. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/setup/post_install.py +0 -0
  36. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/setup/setup_conda_env.py +0 -0
  37. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/setup/setup_conda_env.sh +0 -0
  38. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/setup.py +0 -0
  39. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/test.py +0 -0
  40. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/train.py +0 -0
  41. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/README.md +0 -0
  42. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/agents.py +0 -0
  43. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/callbacks.py +0 -0
  44. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/chat.py +0 -0
  45. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/code.py +0 -0
  46. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/colab.py +0 -0
  47. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/colab_chainlit.py +0 -0
  48. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/components/aicoder.py +0 -0
  49. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/.chainlit/config.toml +0 -0
  50. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/.chainlit/translations/bn.json +0 -0
  51. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/.chainlit/translations/en-US.json +0 -0
  52. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/.chainlit/translations/gu.json +0 -0
  53. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/.chainlit/translations/he-IL.json +0 -0
  54. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/.chainlit/translations/hi.json +0 -0
  55. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/.chainlit/translations/kn.json +0 -0
  56. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/.chainlit/translations/ml.json +0 -0
  57. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/.chainlit/translations/mr.json +0 -0
  58. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/.chainlit/translations/ta.json +0 -0
  59. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/.chainlit/translations/te.json +0 -0
  60. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/.chainlit/translations/zh-CN.json +0 -0
  61. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/chainlit.md +0 -0
  62. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/translations/bn.json +0 -0
  63. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/translations/en-US.json +0 -0
  64. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/translations/gu.json +0 -0
  65. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/translations/he-IL.json +0 -0
  66. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/translations/hi.json +0 -0
  67. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/translations/kn.json +0 -0
  68. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/translations/ml.json +0 -0
  69. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/translations/mr.json +0 -0
  70. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/translations/ta.json +0 -0
  71. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/translations/te.json +0 -0
  72. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/config/translations/zh-CN.json +0 -0
  73. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/context.py +0 -0
  74. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/db.py +0 -0
  75. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/public/fantasy.svg +0 -0
  76. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/public/game.svg +0 -0
  77. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/public/logo_dark.png +0 -0
  78. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/public/logo_light.png +0 -0
  79. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/public/movie.svg +0 -0
  80. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/public/praison.css +0 -0
  81. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/public/thriller.svg +0 -0
  82. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/realtime.py +0 -0
  83. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/realtimeclient/__init__.py +0 -0
  84. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/realtimeclient/realtimedocs.txt +0 -0
  85. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/realtimeclient/tools.py +0 -0
  86. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/sql_alchemy.py +0 -0
  87. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/ui/tools.md +0 -0
  88. {praisonai-2.0.61 → praisonai-2.0.63}/praisonai/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: PraisonAI
3
- Version: 2.0.61
3
+ Version: 2.0.63
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
@@ -140,6 +140,8 @@ class PraisonAI:
140
140
  provided arguments.
141
141
  """
142
142
  args = self.parse_args()
143
+ # Store args for use in handle_direct_prompt
144
+ self.args = args
143
145
  invocation_cmd = "praisonai"
144
146
  version_string = f"PraisonAI version {__version__}"
145
147
 
@@ -148,8 +150,16 @@ class PraisonAI:
148
150
  if args.command:
149
151
  if args.command.startswith("tests.test"): # Argument used for testing purposes
150
152
  print("test")
153
+ return "test"
151
154
  else:
152
155
  self.agent_file = args.command
156
+ elif hasattr(args, 'direct_prompt') and args.direct_prompt:
157
+ result = self.handle_direct_prompt(args.direct_prompt)
158
+ print(result)
159
+ return result
160
+ else:
161
+ # Default to agents.yaml if no command provided
162
+ self.agent_file = "agents.yaml"
153
163
 
154
164
  if args.deploy:
155
165
  from .deploy import CloudDeployer
@@ -285,14 +295,18 @@ class PraisonAI:
285
295
  """
286
296
  Parse the command-line arguments for the PraisonAI CLI.
287
297
  """
298
+ # Define special commands
299
+ special_commands = ['chat', 'code', 'call', 'realtime', 'train', 'ui']
300
+
288
301
  parser = argparse.ArgumentParser(prog="praisonai", description="praisonAI command-line interface")
289
302
  parser.add_argument("--framework", choices=["crewai", "autogen", "praisonai"], help="Specify the framework")
290
303
  parser.add_argument("--ui", choices=["chainlit", "gradio"], help="Specify the UI framework (gradio or chainlit).")
291
304
  parser.add_argument("--auto", nargs=argparse.REMAINDER, help="Enable auto mode and pass arguments for it")
292
305
  parser.add_argument("--init", nargs=argparse.REMAINDER, help="Initialize agents with optional topic")
293
- parser.add_argument("command", nargs="?", help="Command to run")
306
+ parser.add_argument("command", nargs="?", help="Command to run or direct prompt")
294
307
  parser.add_argument("--deploy", action="store_true", help="Deploy the application")
295
308
  parser.add_argument("--model", type=str, help="Model name")
309
+ parser.add_argument("--llm", type=str, help="LLM model to use for direct prompts")
296
310
  parser.add_argument("--hf", type=str, help="Hugging Face model name")
297
311
  parser.add_argument("--ollama", type=str, help="Ollama model name")
298
312
  parser.add_argument("--dataset", type=str, help="Dataset name for training", default="yahma/alpaca-cleaned")
@@ -301,6 +315,7 @@ class PraisonAI:
301
315
  parser.add_argument("--public", action="store_true", help="Use ngrok to expose the server publicly (only with --call)")
302
316
  args, unknown_args = parser.parse_known_args()
303
317
 
318
+ # Handle special cases first
304
319
  if unknown_args and unknown_args[0] == '-b' and unknown_args[1] == 'api:app':
305
320
  args.command = 'agents.yaml'
306
321
  if args.command == 'api:app' or args.command == '/app/api:app':
@@ -331,9 +346,7 @@ class PraisonAI:
331
346
  call_module.main(call_args)
332
347
  sys.exit(0)
333
348
 
334
- # Handle special commands first
335
- special_commands = ['chat', 'code', 'call', 'realtime', 'train', 'ui']
336
-
349
+ # Handle special commands
337
350
  if args.command in special_commands:
338
351
  if args.command == 'chat':
339
352
  if not CHAINLIT_AVAILABLE:
@@ -402,8 +415,78 @@ class PraisonAI:
402
415
  print("pip install praisonaiagents # For PraisonAIAgents\n")
403
416
  sys.exit(1)
404
417
 
418
+ # Handle direct prompt if command is not a special command or file
419
+ if args.command and not args.command.endswith('.yaml') and args.command not in special_commands:
420
+ args.direct_prompt = args.command
421
+ args.command = None
422
+
405
423
  return args
406
424
 
425
+ def handle_direct_prompt(self, prompt):
426
+ """
427
+ Handle direct prompt by creating a single agent and running it.
428
+ """
429
+ if PRAISONAI_AVAILABLE:
430
+ agent_config = {
431
+ "name": "DirectAgent",
432
+ "role": "Assistant",
433
+ "goal": "Complete the given task",
434
+ "backstory": "You are a helpful AI assistant"
435
+ }
436
+
437
+ # Add llm if specified
438
+ if hasattr(self, 'args') and self.args.llm:
439
+ agent_config["llm"] = self.args.llm
440
+
441
+ agent = PraisonAgent(**agent_config)
442
+ result = agent.start(prompt)
443
+ return ""
444
+ elif CREWAI_AVAILABLE:
445
+ agent_config = {
446
+ "name": "DirectAgent",
447
+ "role": "Assistant",
448
+ "goal": "Complete the given task",
449
+ "backstory": "You are a helpful AI assistant"
450
+ }
451
+
452
+ # Add llm if specified
453
+ if hasattr(self, 'args') and self.args.llm:
454
+ agent_config["llm"] = self.args.llm
455
+
456
+ agent = Agent(**agent_config)
457
+ task = Task(
458
+ description=prompt,
459
+ agent=agent
460
+ )
461
+ crew = Crew(
462
+ agents=[agent],
463
+ tasks=[task]
464
+ )
465
+ return crew.kickoff()
466
+ elif AUTOGEN_AVAILABLE:
467
+ config_list = self.config_list
468
+ # Add llm if specified
469
+ if hasattr(self, 'args') and self.args.llm:
470
+ config_list[0]['model'] = self.args.llm
471
+
472
+ assistant = autogen.AssistantAgent(
473
+ name="DirectAgent",
474
+ llm_config={"config_list": config_list}
475
+ )
476
+ user_proxy = autogen.UserProxyAgent(
477
+ name="UserProxy",
478
+ code_execution_config={"work_dir": "coding"}
479
+ )
480
+ user_proxy.initiate_chat(assistant, message=prompt)
481
+ return "Task completed"
482
+ else:
483
+ print("[red]ERROR: No framework is installed. Please install at least one framework:[/red]")
484
+ print("\npip install \"praisonai\\[crewai]\" # For CrewAI")
485
+ print("pip install \"praisonai\\[autogen]\" # For AutoGen")
486
+ print("pip install \"praisonai\\[crewai,autogen]\" # For both frameworks\n")
487
+ print("pip install praisonaiagents # For PraisonAIAgents\n")
488
+ sys.exit(1)
489
+
407
490
  def create_chainlit_chat_interface(self):
408
491
  """
409
492
  Create a Chainlit interface for the chat application.
@@ -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.61 gunicorn markdown\n")
59
+ file.write("RUN pip install flask praisonai==2.0.63 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
  [project]
2
2
  name = "PraisonAI"
3
- version = "2.0.61"
3
+ version = "2.0.63"
4
4
  description = "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
  readme = "README.md"
6
6
  license = ""
@@ -84,7 +84,7 @@ autogen = ["pyautogen>=0.2.19", "praisonai-tools>=0.0.7", "crewai"]
84
84
 
85
85
  [tool.poetry]
86
86
  name = "PraisonAI"
87
- version = "2.0.61"
87
+ version = "2.0.63"
88
88
  description = "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."
89
89
  authors = ["Mervin Praison"]
90
90
  license = ""
File without changes
File without changes
File without changes
File without changes