PraisonAI 2.0.65__tar.gz → 2.0.67__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.65 → praisonai-2.0.67}/PKG-INFO +1 -1
  2. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/cli.py +0 -12
  3. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/deploy.py +1 -1
  4. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/train.py +26 -11
  5. {praisonai-2.0.65 → praisonai-2.0.67}/pyproject.toml +2 -2
  6. {praisonai-2.0.65 → praisonai-2.0.67}/LICENSE +0 -0
  7. {praisonai-2.0.65 → praisonai-2.0.67}/README.md +0 -0
  8. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/__init__.py +0 -0
  9. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/__main__.py +0 -0
  10. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/agents_generator.py +0 -0
  11. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/api/call.py +0 -0
  12. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/auto.py +0 -0
  13. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/chainlit_ui.py +0 -0
  14. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/inbuilt_tools/__init__.py +0 -0
  15. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
  16. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/inc/__init__.py +0 -0
  17. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/inc/config.py +0 -0
  18. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/inc/models.py +0 -0
  19. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/public/android-chrome-192x192.png +0 -0
  20. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/public/android-chrome-512x512.png +0 -0
  21. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/public/apple-touch-icon.png +0 -0
  22. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/public/fantasy.svg +0 -0
  23. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/public/favicon-16x16.png +0 -0
  24. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/public/favicon-32x32.png +0 -0
  25. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/public/favicon.ico +0 -0
  26. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/public/game.svg +0 -0
  27. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/public/logo_dark.png +0 -0
  28. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/public/logo_light.png +0 -0
  29. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/public/movie.svg +0 -0
  30. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/public/praison-ai-agents-architecture-dark.png +0 -0
  31. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/public/praison-ai-agents-architecture.png +0 -0
  32. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/public/thriller.svg +0 -0
  33. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/setup/__init__.py +0 -0
  34. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/setup/build.py +0 -0
  35. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/setup/config.yaml +0 -0
  36. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/setup/post_install.py +0 -0
  37. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/setup/setup_conda_env.py +0 -0
  38. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/setup/setup_conda_env.sh +0 -0
  39. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/setup.py +0 -0
  40. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/test.py +0 -0
  41. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/README.md +0 -0
  42. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/agents.py +0 -0
  43. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/callbacks.py +0 -0
  44. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/chat.py +0 -0
  45. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/code.py +0 -0
  46. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/colab.py +0 -0
  47. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/colab_chainlit.py +0 -0
  48. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/components/aicoder.py +0 -0
  49. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/.chainlit/config.toml +0 -0
  50. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/.chainlit/translations/bn.json +0 -0
  51. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/.chainlit/translations/en-US.json +0 -0
  52. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/.chainlit/translations/gu.json +0 -0
  53. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/.chainlit/translations/he-IL.json +0 -0
  54. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/.chainlit/translations/hi.json +0 -0
  55. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/.chainlit/translations/kn.json +0 -0
  56. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/.chainlit/translations/ml.json +0 -0
  57. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/.chainlit/translations/mr.json +0 -0
  58. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/.chainlit/translations/ta.json +0 -0
  59. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/.chainlit/translations/te.json +0 -0
  60. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/.chainlit/translations/zh-CN.json +0 -0
  61. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/chainlit.md +0 -0
  62. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/translations/bn.json +0 -0
  63. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/translations/en-US.json +0 -0
  64. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/translations/gu.json +0 -0
  65. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/translations/he-IL.json +0 -0
  66. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/translations/hi.json +0 -0
  67. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/translations/kn.json +0 -0
  68. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/translations/ml.json +0 -0
  69. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/translations/mr.json +0 -0
  70. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/translations/ta.json +0 -0
  71. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/translations/te.json +0 -0
  72. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/config/translations/zh-CN.json +0 -0
  73. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/context.py +0 -0
  74. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/db.py +0 -0
  75. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/public/fantasy.svg +0 -0
  76. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/public/game.svg +0 -0
  77. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/public/logo_dark.png +0 -0
  78. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/public/logo_light.png +0 -0
  79. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/public/movie.svg +0 -0
  80. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/public/praison.css +0 -0
  81. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/public/thriller.svg +0 -0
  82. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/realtime.py +0 -0
  83. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/realtimeclient/__init__.py +0 -0
  84. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/realtimeclient/realtimedocs.txt +0 -0
  85. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/realtimeclient/tools.py +0 -0
  86. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/sql_alchemy.py +0 -0
  87. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/ui/tools.md +0 -0
  88. {praisonai-2.0.65 → praisonai-2.0.67}/praisonai/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: PraisonAI
3
- Version: 2.0.65
3
+ Version: 2.0.67
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
@@ -25,7 +25,6 @@ CALL_MODULE_AVAILABLE = False
25
25
  CREWAI_AVAILABLE = False
26
26
  AUTOGEN_AVAILABLE = False
27
27
  PRAISONAI_AVAILABLE = False
28
- TRAIN_AVAILABLE = False
29
28
  try:
30
29
  # Create necessary directories and set CHAINLIT_APP_ROOT
31
30
  if "CHAINLIT_APP_ROOT" not in os.environ:
@@ -72,12 +71,6 @@ try:
72
71
  except ImportError:
73
72
  pass
74
73
 
75
- try:
76
- import accelerate
77
- TRAIN_AVAILABLE = True
78
- except ImportError:
79
- pass
80
-
81
74
  logging.basicConfig(level=os.environ.get('LOGLEVEL', 'INFO'), format='%(asctime)s - %(levelname)s - %(message)s')
82
75
  logging.getLogger('alembic').setLevel(logging.ERROR)
83
76
  logging.getLogger('gradio').setLevel(logging.ERROR)
@@ -399,13 +392,8 @@ class PraisonAI:
399
392
  sys.exit(0)
400
393
 
401
394
  elif args.command == 'train':
402
- if not TRAIN_AVAILABLE:
403
- print("[red]ERROR: Train feature is not installed. Install with:[/red]")
404
- print("\npip install \"praisonai[train]\"\n")
405
- sys.exit(1)
406
395
  package_root = os.path.dirname(os.path.abspath(__file__))
407
396
  config_yaml_destination = os.path.join(os.getcwd(), 'config.yaml')
408
-
409
397
 
410
398
  elif args.command == 'ui':
411
399
  if not CHAINLIT_AVAILABLE:
@@ -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.65 gunicorn markdown\n")
59
+ file.write("RUN pip install flask praisonai==2.0.67 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
 
@@ -312,26 +312,41 @@ class TrainModel:
312
312
 
313
313
  def prepare_modelfile_content(self):
314
314
  output_model = self.config["hf_model_name"]
315
+ # Determine stop tokens from config or infer based on model name
316
+ model_name = self.config["model_name"].lower()
317
+ if "phi" in model_name:
318
+ inferred_stop_tokens = ["<|end|>", "<|user|>", "<|assistant|>"]
319
+ elif "llava" in model_name:
320
+ inferred_stop_tokens = ["</s>", "USER:", "ASSSISTANT:"]
321
+ elif "mistral" in model_name:
322
+ inferred_stop_tokens = ["[INST]", "[/INST]"]
323
+ elif "qwen" in model_name:
324
+ inferred_stop_tokens = ["<|endoftext|>"]
325
+ elif "deepseek" in model_name:
326
+ inferred_stop_tokens = ["<|begin▁of▁sentence|>", "<|end▁of▁sentence|>", "<|User|>", "<|Assistant|>"]
327
+ else:
328
+ inferred_stop_tokens = ["<|start_header_id|>", "<|end_header_id|>", "<|eot_id|>"]
329
+ # Use stop_tokens from config if provided, otherwise use inferred
330
+ model_stop_tokens = self.config.get("stop_tokens", inferred_stop_tokens)
331
+
315
332
  gguf_path = f"{output_model}/unsloth.Q4_K_M.gguf"
316
333
  if not os.path.exists(gguf_path):
317
334
  self.model, self.hf_tokenizer = self.load_model()
318
335
  self.save_model_gguf()
336
+ stop_parameters = "\n".join([f'PARAMETER stop "{token}"' for token in model_stop_tokens])
319
337
  return f"""FROM {output_model}/unsloth.Q4_K_M.gguf
320
338
 
321
- TEMPLATE \"\"\"Below are some instructions that describe some tasks. Write responses that appropriately complete each request.{{{{ if .Prompt }}}}
339
+ TEMPLATE \"\"\"Below are some instructions that describe some tasks. Write responses that appropriately complete each request.{{{{ if .Prompt }}}}
322
340
 
323
- ### Instruction:
324
- {{{{ .Prompt }}}}
341
+ ### Instruction:
342
+ {{{{ .Prompt }}}}
325
343
 
326
- {{{{ end }}}}### Response:
327
- {{{{ .Response }}}}\"\"\"
344
+ {{{{ end }}}}### Response:
345
+ {{{{ .Response }}}}\"\"\"
346
+
347
+ {stop_parameters}
348
+ """
328
349
 
329
- PARAMETER stop ""
330
- PARAMETER stop ""
331
- PARAMETER stop ""
332
- PARAMETER stop ""
333
- PARAMETER stop "<|reserved_special_token_"
334
- """
335
350
 
336
351
  def create_and_push_ollama_model(self):
337
352
  modelfile_content = self.prepare_modelfile_content()
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "PraisonAI"
3
- version = "2.0.65"
3
+ version = "2.0.67"
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.65"
87
+ version = "2.0.67"
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