PraisonAI 2.0.71__tar.gz → 2.0.73__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.71 → praisonai-2.0.73}/PKG-INFO +1 -1
  2. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/cli.py +12 -3
  3. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/deploy.py +1 -1
  4. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/train.py +18 -26
  5. {praisonai-2.0.71 → praisonai-2.0.73}/pyproject.toml +2 -2
  6. {praisonai-2.0.71 → praisonai-2.0.73}/LICENSE +0 -0
  7. {praisonai-2.0.71 → praisonai-2.0.73}/README.md +0 -0
  8. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/__init__.py +0 -0
  9. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/__main__.py +0 -0
  10. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/agents_generator.py +0 -0
  11. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/api/call.py +0 -0
  12. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/auto.py +0 -0
  13. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/chainlit_ui.py +0 -0
  14. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/inbuilt_tools/__init__.py +0 -0
  15. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
  16. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/inc/__init__.py +0 -0
  17. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/inc/config.py +0 -0
  18. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/inc/models.py +0 -0
  19. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/public/android-chrome-192x192.png +0 -0
  20. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/public/android-chrome-512x512.png +0 -0
  21. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/public/apple-touch-icon.png +0 -0
  22. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/public/fantasy.svg +0 -0
  23. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/public/favicon-16x16.png +0 -0
  24. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/public/favicon-32x32.png +0 -0
  25. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/public/favicon.ico +0 -0
  26. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/public/game.svg +0 -0
  27. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/public/logo_dark.png +0 -0
  28. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/public/logo_light.png +0 -0
  29. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/public/movie.svg +0 -0
  30. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/public/praison-ai-agents-architecture-dark.png +0 -0
  31. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/public/praison-ai-agents-architecture.png +0 -0
  32. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/public/thriller.svg +0 -0
  33. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/setup/__init__.py +0 -0
  34. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/setup/build.py +0 -0
  35. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/setup/config.yaml +0 -0
  36. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/setup/post_install.py +0 -0
  37. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/setup/setup_conda_env.py +0 -0
  38. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/setup/setup_conda_env.sh +0 -0
  39. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/setup.py +0 -0
  40. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/test.py +0 -0
  41. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/README.md +0 -0
  42. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/agents.py +0 -0
  43. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/callbacks.py +0 -0
  44. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/chat.py +0 -0
  45. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/code.py +0 -0
  46. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/colab.py +0 -0
  47. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/colab_chainlit.py +0 -0
  48. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/components/aicoder.py +0 -0
  49. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/.chainlit/config.toml +0 -0
  50. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/.chainlit/translations/bn.json +0 -0
  51. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/.chainlit/translations/en-US.json +0 -0
  52. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/.chainlit/translations/gu.json +0 -0
  53. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/.chainlit/translations/he-IL.json +0 -0
  54. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/.chainlit/translations/hi.json +0 -0
  55. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/.chainlit/translations/kn.json +0 -0
  56. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/.chainlit/translations/ml.json +0 -0
  57. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/.chainlit/translations/mr.json +0 -0
  58. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/.chainlit/translations/ta.json +0 -0
  59. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/.chainlit/translations/te.json +0 -0
  60. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/.chainlit/translations/zh-CN.json +0 -0
  61. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/chainlit.md +0 -0
  62. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/translations/bn.json +0 -0
  63. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/translations/en-US.json +0 -0
  64. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/translations/gu.json +0 -0
  65. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/translations/he-IL.json +0 -0
  66. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/translations/hi.json +0 -0
  67. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/translations/kn.json +0 -0
  68. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/translations/ml.json +0 -0
  69. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/translations/mr.json +0 -0
  70. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/translations/ta.json +0 -0
  71. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/translations/te.json +0 -0
  72. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/config/translations/zh-CN.json +0 -0
  73. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/context.py +0 -0
  74. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/db.py +0 -0
  75. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/public/fantasy.svg +0 -0
  76. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/public/game.svg +0 -0
  77. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/public/logo_dark.png +0 -0
  78. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/public/logo_light.png +0 -0
  79. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/public/movie.svg +0 -0
  80. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/public/praison.css +0 -0
  81. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/public/thriller.svg +0 -0
  82. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/realtime.py +0 -0
  83. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/realtimeclient/__init__.py +0 -0
  84. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/realtimeclient/realtimedocs.txt +0 -0
  85. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/realtimeclient/tools.py +0 -0
  86. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/sql_alchemy.py +0 -0
  87. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/ui/tools.md +0 -0
  88. {praisonai-2.0.71 → praisonai-2.0.73}/praisonai/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: PraisonAI
3
- Version: 2.0.71
3
+ Version: 2.0.73
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
@@ -189,8 +189,18 @@ class PraisonAI:
189
189
  package_root = os.path.dirname(os.path.abspath(__file__))
190
190
  config_yaml_destination = os.path.join(os.getcwd(), 'config.yaml')
191
191
 
192
- # Create config.yaml only if it doesn't exist or --model or --dataset is provided
193
- if not os.path.exists(config_yaml_destination) or args.model or args.dataset:
192
+ if not os.path.exists(config_yaml_destination):
193
+ config = generate_config(
194
+ model_name=args.model,
195
+ hf_model_name=args.hf,
196
+ ollama_model_name=args.ollama,
197
+ dataset=[{
198
+ "name": args.dataset
199
+ }]
200
+ )
201
+ with open('config.yaml', 'w') as f:
202
+ yaml.dump(config, f, default_flow_style=False, indent=2)
203
+ elif args.model or args.hf or args.ollama or (args.dataset and args.dataset != "yahma/alpaca-cleaned"):
194
204
  config = generate_config(
195
205
  model_name=args.model,
196
206
  hf_model_name=args.hf,
@@ -202,7 +212,6 @@ class PraisonAI:
202
212
  with open('config.yaml', 'w') as f:
203
213
  yaml.dump(config, f, default_flow_style=False, indent=2)
204
214
  else:
205
- # Load existing config
206
215
  with open(config_yaml_destination, 'r') as f:
207
216
  config = yaml.safe_load(f)
208
217
 
@@ -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.71 gunicorn markdown\n")
59
+ file.write("RUN pip install flask praisonai==2.0.73 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,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
  """
4
- This script finetunes a model using Unsloths fast training framework.
4
+ This script finetunes a model using Unsloth's fast training framework.
5
5
  It supports both ShareGPT and Alpaca‑style datasets by converting raw conversation
6
6
  data into plain-text prompts using a chat template, then pre‑tokenizing the prompts.
7
7
  Extra debug logging is added to help trace the root cause of errors.
@@ -27,7 +27,7 @@ from functools import partial
27
27
  #####################################
28
28
  def formatting_prompts_func(examples, tokenizer):
29
29
  """
30
- Converts each examples conversation into a single plain-text prompt.
30
+ Converts each example's conversation into a single plain-text prompt.
31
31
  If the example has a "conversations" field, process it as ShareGPT-style.
32
32
  Otherwise, assume Alpaca-style data with "instruction", "input", and "output" fields.
33
33
  """
@@ -217,23 +217,23 @@ class TrainModel:
217
217
  tokenized_dataset = self.tokenize_dataset(raw_dataset)
218
218
  print("DEBUG: Dataset tokenization complete.")
219
219
  training_args = TrainingArguments(
220
- per_device_train_batch_size=2,
221
- gradient_accumulation_steps=4,
222
- warmup_steps=5,
223
- max_steps=60,
224
- learning_rate=2e-4,
225
- fp16=not is_bfloat16_supported(),
226
- bf16=is_bfloat16_supported(),
227
- logging_steps=1,
228
- optim="adamw_8bit",
229
- weight_decay=0.01,
230
- lr_scheduler_type="linear",
231
- seed=3407,
232
- output_dir="outputs",
220
+ per_device_train_batch_size=self.config.get("per_device_train_batch_size", 2),
221
+ gradient_accumulation_steps=self.config.get("gradient_accumulation_steps", 2),
222
+ warmup_steps=self.config.get("warmup_steps", 50),
223
+ max_steps=self.config.get("max_steps", 2800),
224
+ learning_rate=self.config.get("learning_rate", 2e-4),
225
+ fp16=self.config.get("fp16", not is_bfloat16_supported()),
226
+ bf16=self.config.get("bf16", is_bfloat16_supported()),
227
+ logging_steps=self.config.get("logging_steps", 15),
228
+ optim=self.config.get("optim", "adamw_8bit"),
229
+ weight_decay=self.config.get("weight_decay", 0.01),
230
+ lr_scheduler_type=self.config.get("lr_scheduler_type", "linear"),
231
+ seed=self.config.get("seed", 3407),
232
+ output_dir=self.config.get("output_dir", "outputs"),
233
233
  report_to="none" if not os.getenv("PRAISON_WANDB") else "wandb",
234
- save_steps=100 if os.getenv("PRAISON_WANDB") else None,
234
+ save_steps=self.config.get("save_steps", 100) if os.getenv("PRAISON_WANDB") else None,
235
235
  run_name=os.getenv("PRAISON_WANDB_RUN_NAME", "praisonai-train") if os.getenv("PRAISON_WANDB") else None,
236
- remove_unused_columns=False,
236
+ remove_unused_columns=self.config.get("remove_unused_columns", False),
237
237
  )
238
238
  # Since the dataset is pre-tokenized, we supply a dummy dataset_text_field.
239
239
  trainer = SFTTrainer(
@@ -513,8 +513,6 @@ class TrainModel:
513
513
  {system_line}{num_ctx_line}{stop_params}
514
514
  """
515
515
 
516
-
517
-
518
516
  def create_and_push_ollama_model(self):
519
517
  modelfile_content = self.prepare_modelfile_content()
520
518
  with open("Modelfile", "w") as file:
@@ -549,13 +547,7 @@ def main():
549
547
  args = parser.parse_args()
550
548
 
551
549
  if args.command == "train":
552
- # Check if any command line args are provided that would override config
553
- if any([args.model, args.hf, args.ollama, args.dataset]):
554
- # Use CLI provided arguments
555
- trainer_obj = TrainModel(config_path=args.config)
556
- else:
557
- # Use existing config.yaml without modification
558
- trainer_obj = TrainModel("config.yaml")
550
+ trainer_obj = TrainModel(config_path=args.config)
559
551
  trainer_obj.run()
560
552
 
561
553
  if __name__ == "__main__":
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "PraisonAI"
3
- version = "2.0.71"
3
+ version = "2.0.73"
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.71"
87
+ version = "2.0.73"
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