Training for PraisonAI — LLM fine-tuning (Unsloth) and iterative agent training extracted from the praisonai wrapper.
Project description
PraisonAI Train
Training for PraisonAI — fine-tune LLMs and iteratively train agents, as a standalone package or as part of the full praisonai stack.
What it does
| Command | What happens | Needs GPU/ML deps? |
|---|---|---|
praisonai-train agents --input "What is Python?" |
Runs your agent, grades the answer with an LLM judge, feeds suggestions back, repeats | No |
praisonai-train agents --input "Explain AI" --human |
Same loop, but you give the feedback | No |
praisonai-train llm dataset.json |
Fine-tunes an open model (Llama, Qwen, …) on your dataset with Unsloth | Yes |
praisonai-train list / show / apply |
Browse training sessions and apply the best iteration to an agent | No |
Install
# Agent training only (lightweight)
pip install praisonai-train
# + LLM fine-tuning (heavy ML stack: torch, unsloth, trl, ...)
pip install "praisonai-train[llm]"
# Or as part of the full PraisonAI stack (same commands via `praisonai train ...`)
pip install "praisonai[train]"
GPU setups often prefer the conda installer, which pins CUDA-compatible versions:
setup-conda-env # or: bash praisonai_train/setup/setup_conda_env.sh
Quickstart: train an agent in 2 minutes
export OPENAI_API_KEY=sk-...
# Up to three improvement iterations, LLM-as-judge
praisonai-train agents --input "Explain quantum entanglement to a 10-year-old" --iterations 3
# See what happened
praisonai-train list
praisonai-train show <session-id>
# Apply the best iteration and chat with the improved agent
praisonai-train apply <session-id> --run "And what about Germany?"
Note:
--iterationssets the maximum number of training loops. In LLM-as-judge mode, training stops early when any iteration scores ≥ 9.5 (excellent), so easy prompts may finish in a single iteration. Pass--no-early-stopto force all iterations, or--verboseto see when it stops.
Python API:
from praisonaiagents import Agent
from praisonai_train import AgentTrainer, TrainingScenario
agent = Agent(instructions="You are a helpful assistant.")
trainer = AgentTrainer(agent=agent, iterations=3)
trainer.add_scenario(TrainingScenario(id="demo", input_text="What is Python?"))
report = trainer.run()
report.print_summary()
Quickstart: fine-tune an LLM
pip install "praisonai-train[llm]"
# dataset.json in ShareGPT or Alpaca format; config.yaml is generated if absent
praisonai-train llm dataset.json --model llama-3.1
Tuning knobs (LoRA rank, epochs, quantization, Ollama/HuggingFace export) live in config.yaml — see the template in praisonai_train/setup/config.yaml.
How it fits the PraisonAI stack
praisonaiagents (core SDK)
├── praisonai-code (terminal CLI)
├── praisonai-bot (bots & gateway)
└── praisonai-train (this package)
└── praisonai (wrapper: installs everything)
- Depends only on
praisonaiagents— no circular deps, installs standalone. - With the full stack installed, the same commands are available as
praisonai train .... - Old import paths (
praisonai.train.agents,python -m praisonai.train.llm.trainer) keep working via wrapper shims.
Development
# From the monorepo root
cd src/praisonai-train
PYTHONPATH="../praisonai-agents:." python -m pytest tests/unit/train -q
# Import-direction gate (train must not import the wrapper)
bash ../../scripts/check_c10_train_imports.sh
Boundary details: src/praisonai/tests/PRAISONAI_TRAIN_MANIFEST.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file praisonai_train-0.0.4.tar.gz.
File metadata
- Download URL: praisonai_train-0.0.4.tar.gz
- Upload date:
- Size: 40.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b058fb980f2ad7b93967724135e30dcdab9b9f02389c9c60ef118836e4c599a3
|
|
| MD5 |
902f2a5ced698db48a2d23f5c0b58320
|
|
| BLAKE2b-256 |
9553787e41d91e7e387d978e1967dfd8a4e61a0db98ce7aa0223a311a2b67f52
|
File details
Details for the file praisonai_train-0.0.4-py3-none-any.whl.
File metadata
- Download URL: praisonai_train-0.0.4-py3-none-any.whl
- Upload date:
- Size: 50.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76b19ea8a1bb594a7549fcbcd22cfedeff123e02a84c8b91e6eaa192461b852c
|
|
| MD5 |
5a0195d39852a29502f101500f57d3e5
|
|
| BLAKE2b-256 |
ad059928e810d29bf9052277e8619ad9fe73a9ffcbe9e83e8e249dafde0791dd
|