praisonAI 2.3.26__tar.gz → 2.3.28__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.
- {praisonai-2.3.26 → praisonai-2.3.28}/PKG-INFO +440 -296
- {praisonai-2.3.26 → praisonai-2.3.28}/PraisonAI.egg-info/PKG-INFO +440 -296
- {praisonai-2.3.26 → praisonai-2.3.28}/PraisonAI.egg-info/requires.txt +1 -1
- {praisonai-2.3.26 → praisonai-2.3.28}/README.md +438 -294
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/workflow.py +80 -2
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/main.py +152 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/deploy.py +1 -1
- praisonai-2.3.28/praisonai/version.py +1 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/pyproject.toml +1 -1
- praisonai-2.3.26/praisonai/version.py +0 -1
- {praisonai-2.3.26 → praisonai-2.3.28}/PraisonAI.egg-info/SOURCES.txt +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/PraisonAI.egg-info/dependency_links.txt +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/PraisonAI.egg-info/entry_points.txt +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/PraisonAI.egg-info/top_level.txt +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/__init__.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/__main__.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/agents_generator.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/api/call.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/auto.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/chainlit_ui.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/__init__.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/__init__.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/auto_memory.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/base.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/fast_context.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/flow_display.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/guardrail.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/handoff.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/image.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/knowledge.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/mcp.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/metrics.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/router.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/session.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/telemetry.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/todo.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/cli/features/tools.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/inbuilt_tools/__init__.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/inc/__init__.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/inc/config.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/inc/models.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/scheduler.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/setup/__init__.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/setup/build.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/setup/post_install.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/setup/setup_conda_env.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/setup.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/test.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/train.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/train_vision.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/ui/agents.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/ui/callbacks.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/ui/chat.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/ui/code.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/ui/colab.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/ui/colab_chainlit.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/ui/components/aicoder.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/ui/context.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/ui/database_config.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/ui/db.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/ui/realtime.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/ui/realtimeclient/__init__.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/ui/realtimeclient/tools.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/ui/sql_alchemy.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/praisonai/upload_vision.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/setup.cfg +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/tests/test.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/tests/test_agents_playbook.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/tests/test_basic.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/tests/test_cli_features.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/tests/test_custom_tools_fix.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/tests/test_double_api_fix.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/tests/test_phase2_refactor.py +0 -0
- {praisonai-2.3.26 → praisonai-2.3.28}/tests/test_runner.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PraisonAI
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.28
|
|
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
|
License: MIT
|
|
@@ -11,7 +11,7 @@ Description-Content-Type: text/markdown
|
|
|
11
11
|
Requires-Dist: rich>=13.7
|
|
12
12
|
Requires-Dist: markdown>=3.5
|
|
13
13
|
Requires-Dist: pyparsing>=3.0.0
|
|
14
|
-
Requires-Dist: praisonaiagents>=0.1.
|
|
14
|
+
Requires-Dist: praisonaiagents>=0.1.7
|
|
15
15
|
Requires-Dist: python-dotenv>=0.19.0
|
|
16
16
|
Requires-Dist: instructor>=1.3.3
|
|
17
17
|
Requires-Dist: PyYAML>=6.0
|
|
@@ -127,7 +127,113 @@ PraisonAI is a production-ready Multi-AI Agents framework with self-reflection,
|
|
|
127
127
|
</a>
|
|
128
128
|
</div>
|
|
129
129
|
|
|
130
|
-
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 📑 Table of Contents
|
|
133
|
+
|
|
134
|
+
- [🚀 Quick Start](#-quick-start)
|
|
135
|
+
- [📦 Installation](#-installation)
|
|
136
|
+
- [Python SDK](#python-sdk)
|
|
137
|
+
- [JavaScript SDK](#javascript-sdk)
|
|
138
|
+
- [💻 Usage](#-usage)
|
|
139
|
+
- [Python Code Examples](#python-code-examples)
|
|
140
|
+
- [CLI / No-Code Interface](#cli--no-code-interface)
|
|
141
|
+
- [JavaScript Code Examples](#javascript-code-examples)
|
|
142
|
+
- [✨ Key Features](#-key-features)
|
|
143
|
+
- [🌐 Supported Providers](#-supported-providers)
|
|
144
|
+
- [🛠️ Custom Tools](#️-custom-tools)
|
|
145
|
+
- [🔧 Configuration & Integration](#-configuration--integration)
|
|
146
|
+
- [Ollama Integration](#ollama-integration)
|
|
147
|
+
- [Groq Integration](#groq-integration)
|
|
148
|
+
- [100+ Models Support](#100-models-support)
|
|
149
|
+
- [📋 Workflows](#-workflows)
|
|
150
|
+
- [Workflow Patterns](#workflow-patterns)
|
|
151
|
+
- [YAML Configuration](#yaml-configuration)
|
|
152
|
+
- [Agents Playbook](#agents-playbook)
|
|
153
|
+
- [🧠 Memory & Context](#-memory--context)
|
|
154
|
+
- [🔬 Advanced Features](#-advanced-features)
|
|
155
|
+
- [Research & Intelligence](#research--intelligence)
|
|
156
|
+
- [Planning & Workflows](#planning--workflows)
|
|
157
|
+
- [Specialised Agents](#specialised-agents)
|
|
158
|
+
- [MCP Protocol](#mcp-protocol)
|
|
159
|
+
- [Safety & Control](#safety--control)
|
|
160
|
+
- [Developer Tools](#developer-tools)
|
|
161
|
+
- [📊 Process Types & Patterns](#-process-types--patterns)
|
|
162
|
+
- [Sequential Process](#sequential-process)
|
|
163
|
+
- [Hierarchical Process](#hierarchical-process)
|
|
164
|
+
- [Workflow Process](#workflow-process)
|
|
165
|
+
- [Agentic Patterns](#agentic-patterns)
|
|
166
|
+
- [🎓 Video Tutorials](#-video-tutorials)
|
|
167
|
+
- [⭐ Star History](#-star-history)
|
|
168
|
+
- [👥 Contributing](#-contributing)
|
|
169
|
+
- [🔧 Development](#-development)
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## 🚀 Quick Start
|
|
174
|
+
|
|
175
|
+
Get started with PraisonAI in under 1 minute:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
# Install
|
|
179
|
+
pip install praisonaiagents
|
|
180
|
+
|
|
181
|
+
# Set API key
|
|
182
|
+
export OPENAI_API_KEY=your_key_here
|
|
183
|
+
|
|
184
|
+
# Create a simple agent
|
|
185
|
+
python -c "from praisonaiagents import Agent; Agent(instructions='You are a helpful AI assistant').start('Write a haiku about AI')"
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## 📦 Installation
|
|
191
|
+
|
|
192
|
+
### Python SDK
|
|
193
|
+
|
|
194
|
+
Lightweight package dedicated for coding:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
pip install praisonaiagents
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
For the full framework with CLI support:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
pip install praisonai
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### JavaScript SDK
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
npm install praisonai
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## 💻 Usage
|
|
215
|
+
|
|
216
|
+
### Python Code Examples
|
|
217
|
+
|
|
218
|
+
- [📘 Complete Python Examples](#using-python-code)
|
|
219
|
+
- [🔧 Custom Tools](#️-custom-tools)
|
|
220
|
+
- [🧠 Memory Configuration](#-memory--context)
|
|
221
|
+
|
|
222
|
+
### CLI / No-Code Interface
|
|
223
|
+
|
|
224
|
+
- [🎯 Auto Mode](#auto-mode)
|
|
225
|
+
- [🔬 Deep Research](#deep-research-cli)
|
|
226
|
+
- [📋 Planning Mode](#planning-mode-cli)
|
|
227
|
+
- [💾 Memory Management](#memory-cli)
|
|
228
|
+
- [🔄 Workflow Execution](#workflow-cli)
|
|
229
|
+
|
|
230
|
+
### JavaScript Code Examples
|
|
231
|
+
|
|
232
|
+
- [💻 JavaScript Usage](#using-javascript-code)
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## ✨ Key Features
|
|
131
237
|
|
|
132
238
|
| Feature | Code | Docs |
|
|
133
239
|
|---------|:----:|:----:|
|
|
@@ -211,7 +317,11 @@ PraisonAI is a production-ready Multi-AI Agents framework with self-reflection,
|
|
|
211
317
|
| 💾 Auto-Save Sessions | [Example](#session-management-python) | [📖](https://docs.praison.ai/cli/session) |
|
|
212
318
|
| 📜 History in Context | [Example](#session-management-python) | [📖](https://docs.praison.ai/cli/session) |
|
|
213
319
|
|
|
214
|
-
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## 🌐 Supported Providers
|
|
323
|
+
|
|
324
|
+
PraisonAI supports 100+ LLM providers through seamless integration:
|
|
215
325
|
|
|
216
326
|
| Provider | Example |
|
|
217
327
|
|----------|:-------:|
|
|
@@ -240,14 +350,14 @@ PraisonAI is a production-ready Multi-AI Agents framework with self-reflection,
|
|
|
240
350
|
| Moonshot | [Example](examples/python/providers/moonshot/moonshot_example.py) |
|
|
241
351
|
| vLLM | [Example](examples/python/providers/vllm/vllm_example.py) |
|
|
242
352
|
|
|
243
|
-
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## 📘 Using Python Code
|
|
244
356
|
|
|
245
357
|
Light weight package dedicated for coding:
|
|
246
|
-
```bash
|
|
247
|
-
pip install praisonaiagents
|
|
248
|
-
```
|
|
249
358
|
|
|
250
359
|
```bash
|
|
360
|
+
pip install praisonaiagents
|
|
251
361
|
export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
|
|
252
362
|
```
|
|
253
363
|
|
|
@@ -702,6 +812,77 @@ result = manager.execute_yaml(
|
|
|
702
812
|
)
|
|
703
813
|
```
|
|
704
814
|
|
|
815
|
+
### Complete workflow.yaml Reference
|
|
816
|
+
|
|
817
|
+
```yaml
|
|
818
|
+
# workflow.yaml - Full feature reference
|
|
819
|
+
name: Complete Workflow
|
|
820
|
+
description: Demonstrates all workflow.yaml features
|
|
821
|
+
framework: praisonai # praisonai, crewai, autogen
|
|
822
|
+
process: workflow # sequential, hierarchical, workflow
|
|
823
|
+
|
|
824
|
+
workflow:
|
|
825
|
+
planning: true
|
|
826
|
+
planning_llm: gpt-4o
|
|
827
|
+
reasoning: true
|
|
828
|
+
verbose: true
|
|
829
|
+
memory_config:
|
|
830
|
+
provider: chroma
|
|
831
|
+
persist: true
|
|
832
|
+
|
|
833
|
+
variables:
|
|
834
|
+
topic: AI trends
|
|
835
|
+
items: [ML, NLP, Vision]
|
|
836
|
+
|
|
837
|
+
agents:
|
|
838
|
+
researcher:
|
|
839
|
+
name: Researcher
|
|
840
|
+
role: Research Analyst
|
|
841
|
+
goal: Research topics thoroughly
|
|
842
|
+
instructions: "Provide detailed research findings"
|
|
843
|
+
backstory: "Expert researcher with 10 years experience" # alias for instructions
|
|
844
|
+
llm: gpt-4o-mini
|
|
845
|
+
function_calling_llm: gpt-4o # For tool calls
|
|
846
|
+
max_rpm: 10 # Rate limiting
|
|
847
|
+
max_execution_time: 300 # Timeout in seconds
|
|
848
|
+
reflect_llm: gpt-4o # For self-reflection
|
|
849
|
+
min_reflect: 1
|
|
850
|
+
max_reflect: 3
|
|
851
|
+
system_template: "You are a helpful assistant"
|
|
852
|
+
tools:
|
|
853
|
+
- tavily_search
|
|
854
|
+
|
|
855
|
+
writer:
|
|
856
|
+
name: Writer
|
|
857
|
+
role: Content Writer
|
|
858
|
+
goal: Write clear content
|
|
859
|
+
instructions: "Write engaging content"
|
|
860
|
+
|
|
861
|
+
steps:
|
|
862
|
+
- name: research_step
|
|
863
|
+
agent: researcher
|
|
864
|
+
action: "Research {{topic}}"
|
|
865
|
+
expected_output: "Comprehensive research report"
|
|
866
|
+
output_file: "output/research.md"
|
|
867
|
+
create_directory: true
|
|
868
|
+
|
|
869
|
+
- name: writing_step
|
|
870
|
+
agent: writer
|
|
871
|
+
action: "Write article based on research"
|
|
872
|
+
context: # Task dependencies
|
|
873
|
+
- research_step
|
|
874
|
+
output_json: # Structured output
|
|
875
|
+
type: object
|
|
876
|
+
properties:
|
|
877
|
+
title: { type: string }
|
|
878
|
+
content: { type: string }
|
|
879
|
+
|
|
880
|
+
callbacks:
|
|
881
|
+
on_workflow_start: log_start
|
|
882
|
+
on_step_complete: log_step
|
|
883
|
+
on_workflow_complete: log_complete
|
|
884
|
+
```
|
|
885
|
+
|
|
705
886
|
### 9. Hooks
|
|
706
887
|
|
|
707
888
|
Configure in `.praison/hooks.json`:
|
|
@@ -718,9 +899,50 @@ hooks.register("pre_write_code", lambda ctx: print(f"Writing {ctx['file']}"))
|
|
|
718
899
|
result = hooks.execute("pre_write_code", {"file": "main.py"})
|
|
719
900
|
```
|
|
720
901
|
|
|
721
|
-
### 10.
|
|
902
|
+
### 10. Field Names Reference (A-I-G-S)
|
|
903
|
+
|
|
904
|
+
PraisonAI accepts both old (agents.yaml) and new (workflow.yaml) field names. Use the **canonical names** for new projects:
|
|
905
|
+
|
|
906
|
+
| Canonical (Recommended) | Alias (Also Works) | Purpose |
|
|
907
|
+
|-------------------------|-------------------|---------|
|
|
908
|
+
| `agents` | `roles` | Define agent personas |
|
|
909
|
+
| `instructions` | `backstory` | Agent behavior/persona |
|
|
910
|
+
| `action` | `description` | What the step does |
|
|
911
|
+
| `steps` | `tasks` (nested) | Define work items |
|
|
912
|
+
| `name` | `topic` | Workflow identifier |
|
|
913
|
+
|
|
914
|
+
**A-I-G-S Mnemonic** - Easy to remember:
|
|
915
|
+
- **A**gents - Who does the work
|
|
916
|
+
- **I**nstructions - How they behave
|
|
917
|
+
- **G**oal - What they achieve
|
|
918
|
+
- **S**teps - What they do
|
|
919
|
+
|
|
920
|
+
```yaml
|
|
921
|
+
# Quick Reference - Canonical Format
|
|
922
|
+
name: My Workflow # Workflow name (not 'topic')
|
|
923
|
+
agents: # Define agents (not 'roles')
|
|
924
|
+
my_agent:
|
|
925
|
+
role: Job Title # Agent's role
|
|
926
|
+
goal: What to achieve # Agent's goal
|
|
927
|
+
instructions: How to act # Agent's behavior (not 'backstory')
|
|
928
|
+
|
|
929
|
+
steps: # Define steps (not 'tasks')
|
|
930
|
+
- agent: my_agent
|
|
931
|
+
action: What to do # Step action (not 'description')
|
|
932
|
+
```
|
|
933
|
+
|
|
934
|
+
> **Note:** The parser accepts both old and new names. Run `praisonai workflow validate <file.yaml>` to see suggestions for canonical names.
|
|
935
|
+
|
|
936
|
+
### 11. Extended agents.yaml with Workflow Patterns
|
|
937
|
+
|
|
938
|
+
**Feature Parity:** Both `agents.yaml` and `workflow.yaml` now support the same features:
|
|
939
|
+
- All workflow patterns (route, parallel, loop, repeat)
|
|
940
|
+
- All agent fields (function_calling_llm, max_rpm, max_execution_time, reflect_llm, templates)
|
|
941
|
+
- All step fields (expected_output, context, output_json, create_directory, callback)
|
|
942
|
+
- Framework support (praisonai, crewai, autogen)
|
|
943
|
+
- Process types (sequential, hierarchical, workflow)
|
|
722
944
|
|
|
723
|
-
You can
|
|
945
|
+
You can use advanced workflow patterns directly in agents.yaml by setting `process: workflow`:
|
|
724
946
|
|
|
725
947
|
```yaml
|
|
726
948
|
# agents.yaml with workflow patterns
|
|
@@ -736,15 +958,15 @@ workflow:
|
|
|
736
958
|
variables:
|
|
737
959
|
topic: AI trends
|
|
738
960
|
|
|
739
|
-
roles
|
|
961
|
+
agents: # Canonical: use 'agents' instead of 'roles'
|
|
740
962
|
classifier:
|
|
741
963
|
role: Request Classifier
|
|
742
|
-
|
|
964
|
+
instructions: "Classify requests into categories" # Canonical: use 'instructions' instead of 'backstory'
|
|
743
965
|
goal: Classify requests
|
|
744
966
|
|
|
745
967
|
researcher:
|
|
746
968
|
role: Research Analyst
|
|
747
|
-
|
|
969
|
+
instructions: "Expert researcher" # Canonical: use 'instructions' instead of 'backstory'
|
|
748
970
|
goal: Research topics
|
|
749
971
|
tools:
|
|
750
972
|
- tavily_search
|
|
@@ -787,9 +1009,13 @@ Run with the same simple command:
|
|
|
787
1009
|
praisonai agents.yaml
|
|
788
1010
|
```
|
|
789
1011
|
|
|
790
|
-
|
|
1012
|
+
---
|
|
1013
|
+
|
|
1014
|
+
## 🎯 CLI / No-Code Interface
|
|
1015
|
+
|
|
1016
|
+
PraisonAI provides a powerful CLI for no-code automation and quick prototyping.
|
|
791
1017
|
|
|
792
|
-
### Auto Mode
|
|
1018
|
+
### Auto Mode
|
|
793
1019
|
```bash
|
|
794
1020
|
pip install praisonai
|
|
795
1021
|
export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
|
|
@@ -936,10 +1162,43 @@ praisonai "GPT-5" --workflow "Research:Search for info,Write:Write blog" --tools
|
|
|
936
1162
|
praisonai workflow help
|
|
937
1163
|
```
|
|
938
1164
|
|
|
1165
|
+
#### YAML Workflow Files:
|
|
1166
|
+
```bash
|
|
1167
|
+
# Run a YAML workflow file
|
|
1168
|
+
praisonai workflow run research.yaml
|
|
1169
|
+
|
|
1170
|
+
# Run with variables
|
|
1171
|
+
praisonai workflow run research.yaml --var topic="AI trends"
|
|
1172
|
+
|
|
1173
|
+
# Validate a YAML workflow
|
|
1174
|
+
praisonai workflow validate research.yaml
|
|
1175
|
+
|
|
1176
|
+
# Create from template (simple, routing, parallel, loop, evaluator-optimizer)
|
|
1177
|
+
praisonai workflow template routing --output my_workflow.yaml
|
|
1178
|
+
```
|
|
1179
|
+
|
|
1180
|
+
#### Auto-Generate Workflows:
|
|
1181
|
+
```bash
|
|
1182
|
+
# Auto-generate a sequential workflow from topic
|
|
1183
|
+
praisonai workflow auto "Research AI trends"
|
|
1184
|
+
|
|
1185
|
+
# Generate parallel workflow (multiple agents work concurrently)
|
|
1186
|
+
praisonai workflow auto "Research AI trends" --pattern parallel
|
|
1187
|
+
|
|
1188
|
+
# Generate routing workflow (classifier routes to specialists)
|
|
1189
|
+
praisonai workflow auto "Build a chatbot" --pattern routing
|
|
1190
|
+
|
|
1191
|
+
# Specify output file
|
|
1192
|
+
praisonai workflow auto "Research AI" --pattern sequential --output my_workflow.yaml
|
|
1193
|
+
```
|
|
1194
|
+
|
|
939
1195
|
**Workflow CLI Options:**
|
|
940
1196
|
| Flag | Description |
|
|
941
1197
|
|------|-------------|
|
|
942
1198
|
| `--workflow-var key=value` | Set workflow variable (can be repeated) |
|
|
1199
|
+
| `--var key=value` | Set variable for YAML workflows |
|
|
1200
|
+
| `--pattern <pattern>` | Pattern for auto-generation (sequential, parallel, routing, loop) |
|
|
1201
|
+
| `--output <file>` | Output file for auto-generation |
|
|
943
1202
|
| `--llm <model>` | LLM model (e.g., openai/gpt-4o-mini) |
|
|
944
1203
|
| `--tools <tools>` | Tools (comma-separated, e.g., tavily) |
|
|
945
1204
|
| `--planning` | Enable planning mode |
|
|
@@ -1425,7 +1684,9 @@ server.run() # stdio for Claude Desktop
|
|
|
1425
1684
|
| 📥 Web Fetch - URL content retrieval | [📖](https://docs.praison.ai/cli/web-fetch) |
|
|
1426
1685
|
| 💾 Prompt Caching - Cost reduction | [📖](https://docs.praison.ai/cli/prompt-caching) |
|
|
1427
1686
|
|
|
1428
|
-
|
|
1687
|
+
---
|
|
1688
|
+
|
|
1689
|
+
## 💻 Using JavaScript Code
|
|
1429
1690
|
|
|
1430
1691
|
```bash
|
|
1431
1692
|
npm install praisonai
|
|
@@ -1440,11 +1701,17 @@ agent.start('Write a movie script about a robot in Mars');
|
|
|
1440
1701
|
|
|
1441
1702
|

|
|
1442
1703
|
|
|
1443
|
-
|
|
1704
|
+
---
|
|
1705
|
+
|
|
1706
|
+
## ⭐ Star History
|
|
1444
1707
|
|
|
1445
1708
|
[](https://docs.praison.ai)
|
|
1446
1709
|
|
|
1447
|
-
|
|
1710
|
+
---
|
|
1711
|
+
|
|
1712
|
+
## 📊 Process Types & Patterns
|
|
1713
|
+
|
|
1714
|
+
### AI Agents Flow
|
|
1448
1715
|
|
|
1449
1716
|
```mermaid
|
|
1450
1717
|
graph LR
|
|
@@ -1783,31 +2050,40 @@ flowchart LR
|
|
|
1783
2050
|
style Out fill:#8B0000,color:#fff
|
|
1784
2051
|
```
|
|
1785
2052
|
|
|
1786
|
-
|
|
2053
|
+
---
|
|
1787
2054
|
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
<img src="https://img.shields.io/badge/%F0%9F%93%9A_Models-Visit_docs.praison.ai-blue?style=for-the-badge&logo=bookstack&logoColor=white" alt="Models" />
|
|
1792
|
-
</p>
|
|
1793
|
-
</a>
|
|
1794
|
-
</div>
|
|
2055
|
+
## 🔧 Configuration & Integration
|
|
2056
|
+
|
|
2057
|
+
### Ollama Integration
|
|
1795
2058
|
|
|
1796
|
-
## Ollama Integration
|
|
1797
2059
|
```bash
|
|
1798
2060
|
export OPENAI_BASE_URL=http://localhost:11434/v1
|
|
1799
2061
|
```
|
|
1800
2062
|
|
|
1801
|
-
|
|
2063
|
+
### Groq Integration
|
|
2064
|
+
|
|
1802
2065
|
Replace xxxx with Groq API KEY:
|
|
2066
|
+
|
|
1803
2067
|
```bash
|
|
1804
2068
|
export OPENAI_API_KEY=xxxxxxxxxxx
|
|
1805
2069
|
export OPENAI_BASE_URL=https://api.groq.com/openai/v1
|
|
1806
2070
|
```
|
|
1807
2071
|
|
|
1808
|
-
|
|
2072
|
+
### 100+ Models Support
|
|
2073
|
+
|
|
2074
|
+
PraisonAI supports 100+ LLM models from various providers. Visit our [models documentation](https://docs.praison.ai/models/) for the complete list.
|
|
2075
|
+
|
|
2076
|
+
<div align="center">
|
|
2077
|
+
<a href="https://docs.praison.ai/models">
|
|
2078
|
+
<p align="center">
|
|
2079
|
+
<img src="https://img.shields.io/badge/📚_Models_Documentation-Visit_docs.praison.ai-blue?style=for-the-badge&logo=bookstack&logoColor=white" alt="Models Documentation" />
|
|
2080
|
+
</p>
|
|
2081
|
+
</a>
|
|
2082
|
+
</div>
|
|
2083
|
+
|
|
2084
|
+
---
|
|
1809
2085
|
|
|
1810
|
-
## Agents Playbook
|
|
2086
|
+
## 📋 Agents Playbook
|
|
1811
2087
|
|
|
1812
2088
|
### Simple Playbook Example
|
|
1813
2089
|
|
|
@@ -1816,9 +2092,9 @@ Create `agents.yaml` file and add the code below:
|
|
|
1816
2092
|
```yaml
|
|
1817
2093
|
framework: praisonai
|
|
1818
2094
|
topic: Artificial Intelligence
|
|
1819
|
-
roles
|
|
2095
|
+
agents: # Canonical: use 'agents' instead of 'roles'
|
|
1820
2096
|
screenwriter:
|
|
1821
|
-
|
|
2097
|
+
instructions: "Skilled in crafting scripts with engaging dialogue about {topic}." # Canonical: use 'instructions' instead of 'backstory'
|
|
1822
2098
|
goal: Create scripts from concepts.
|
|
1823
2099
|
role: Screenwriter
|
|
1824
2100
|
tasks:
|
|
@@ -1832,18 +2108,11 @@ roles:
|
|
|
1832
2108
|
praisonai agents.yaml
|
|
1833
2109
|
```
|
|
1834
2110
|
|
|
1835
|
-
|
|
2111
|
+
---
|
|
1836
2112
|
|
|
1837
|
-
|
|
1838
|
-
<div align="center">
|
|
1839
|
-
<a href="https://docs.praison.ai">
|
|
1840
|
-
<p align="center">
|
|
1841
|
-
<img src="https://img.shields.io/badge/📚_Documentation-Visit_docs.praison.ai-blue?style=for-the-badge&logo=bookstack&logoColor=white" alt="Documentation" />
|
|
1842
|
-
</p>
|
|
1843
|
-
</a>
|
|
1844
|
-
</div>
|
|
2113
|
+
## 🛠️ Custom Tools / Create Plugins
|
|
1845
2114
|
|
|
1846
|
-
|
|
2115
|
+
PraisonAI supports multiple ways to create and integrate custom tools (plugins) into your agents.
|
|
1847
2116
|
|
|
1848
2117
|
### Using `@tool` Decorator
|
|
1849
2118
|
|
|
@@ -1916,170 +2185,142 @@ After `pip install`, tools are auto-discovered:
|
|
|
1916
2185
|
agent = Agent(tools=["my_tool"]) # Works automatically!
|
|
1917
2186
|
```
|
|
1918
2187
|
|
|
2188
|
+
---
|
|
1919
2189
|
|
|
1920
|
-
##
|
|
1921
|
-
|
|
1922
|
-
Expand short prompts into detailed, actionable prompts:
|
|
1923
|
-
|
|
1924
|
-
### CLI Usage
|
|
1925
|
-
|
|
1926
|
-
```bash
|
|
1927
|
-
# Expand a short prompt into detailed prompt
|
|
1928
|
-
praisonai "write a movie script in 3 lines" --expand-prompt
|
|
1929
|
-
|
|
1930
|
-
# With verbose output
|
|
1931
|
-
praisonai "blog about AI" --expand-prompt -v
|
|
1932
|
-
|
|
1933
|
-
# With tools for context gathering
|
|
1934
|
-
praisonai "latest AI trends" --expand-prompt --expand-tools tools.py
|
|
1935
|
-
|
|
1936
|
-
# Combine with query rewrite
|
|
1937
|
-
praisonai "AI news" --query-rewrite --expand-prompt
|
|
1938
|
-
```
|
|
1939
|
-
|
|
1940
|
-
### Programmatic Usage
|
|
1941
|
-
|
|
1942
|
-
```python
|
|
1943
|
-
from praisonaiagents import PromptExpanderAgent, ExpandStrategy
|
|
1944
|
-
|
|
1945
|
-
# Basic usage
|
|
1946
|
-
agent = PromptExpanderAgent()
|
|
1947
|
-
result = agent.expand("write a movie script in 3 lines")
|
|
1948
|
-
print(result.expanded_prompt)
|
|
1949
|
-
|
|
1950
|
-
# With specific strategy
|
|
1951
|
-
result = agent.expand("blog about AI", strategy=ExpandStrategy.DETAILED)
|
|
1952
|
-
|
|
1953
|
-
# Available strategies: BASIC, DETAILED, STRUCTURED, CREATIVE, AUTO
|
|
1954
|
-
```
|
|
1955
|
-
|
|
1956
|
-
**Key Difference:**
|
|
1957
|
-
- `--query-rewrite`: Optimizes queries for **search/retrieval** (RAG)
|
|
1958
|
-
- `--expand-prompt`: Expands prompts for **detailed task execution**
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
## Web Search, Web Fetch & Prompt Caching
|
|
1962
|
-
|
|
1963
|
-
### CLI Usage
|
|
1964
|
-
|
|
1965
|
-
```bash
|
|
1966
|
-
# Web Search - Get real-time information
|
|
1967
|
-
praisonai "What are the latest AI news today?" --web-search --llm openai/gpt-4o-search-preview
|
|
1968
|
-
|
|
1969
|
-
# Web Fetch - Retrieve and analyze URL content (Anthropic only)
|
|
1970
|
-
praisonai "Summarize https://docs.praison.ai" --web-fetch --llm anthropic/claude-sonnet-4-20250514
|
|
1971
|
-
|
|
1972
|
-
# Prompt Caching - Reduce costs for repeated prompts
|
|
1973
|
-
praisonai "Analyze this document..." --prompt-caching --llm anthropic/claude-sonnet-4-20250514
|
|
1974
|
-
```
|
|
1975
|
-
|
|
1976
|
-
### Programmatic Usage
|
|
1977
|
-
|
|
1978
|
-
```python
|
|
1979
|
-
from praisonaiagents import Agent
|
|
1980
|
-
|
|
1981
|
-
# Web Search
|
|
1982
|
-
agent = Agent(
|
|
1983
|
-
instructions="You are a research assistant",
|
|
1984
|
-
llm="openai/gpt-4o-search-preview",
|
|
1985
|
-
web_search=True
|
|
1986
|
-
)
|
|
1987
|
-
|
|
1988
|
-
# Web Fetch (Anthropic only)
|
|
1989
|
-
agent = Agent(
|
|
1990
|
-
instructions="You are a content analyzer",
|
|
1991
|
-
llm="anthropic/claude-sonnet-4-20250514",
|
|
1992
|
-
web_fetch=True
|
|
1993
|
-
)
|
|
1994
|
-
|
|
1995
|
-
# Prompt Caching
|
|
1996
|
-
agent = Agent(
|
|
1997
|
-
instructions="You are an AI assistant..." * 50, # Long system prompt
|
|
1998
|
-
llm="anthropic/claude-sonnet-4-20250514",
|
|
1999
|
-
prompt_caching=True
|
|
2000
|
-
)
|
|
2001
|
-
```
|
|
2002
|
-
|
|
2003
|
-
**Supported Providers:**
|
|
2004
|
-
| Feature | Providers |
|
|
2005
|
-
|---------|-----------|
|
|
2006
|
-
| Web Search | OpenAI, Gemini, Anthropic, xAI, Perplexity |
|
|
2007
|
-
| Web Fetch | Anthropic |
|
|
2008
|
-
| Prompt Caching | OpenAI (auto), Anthropic, Bedrock, Deepseek |
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
## MCP (Model Context Protocol)
|
|
2015
|
-
|
|
2016
|
-
PraisonAI supports MCP Protocol Revision 2025-11-25 with multiple transports.
|
|
2017
|
-
|
|
2018
|
-
### MCP Client (Consume MCP Servers)
|
|
2019
|
-
|
|
2020
|
-
```python
|
|
2021
|
-
from praisonaiagents import Agent, MCP
|
|
2022
|
-
|
|
2023
|
-
# stdio - Local NPX/Python servers
|
|
2024
|
-
agent = Agent(tools=MCP("npx @modelcontextprotocol/server-memory"))
|
|
2025
|
-
|
|
2026
|
-
# Streamable HTTP - Production servers
|
|
2027
|
-
agent = Agent(tools=MCP("https://api.example.com/mcp"))
|
|
2028
|
-
|
|
2029
|
-
# WebSocket - Real-time bidirectional
|
|
2030
|
-
agent = Agent(tools=MCP("wss://api.example.com/mcp", auth_token="token"))
|
|
2190
|
+
## 🧠 Memory & Context
|
|
2031
2191
|
|
|
2032
|
-
|
|
2033
|
-
agent = Agent(tools=MCP("http://localhost:8080/sse"))
|
|
2192
|
+
PraisonAI provides zero-dependency persistent memory for agents. For detailed examples, see [section 6. Agent Memory](#6-agent-memory-zero-dependencies) in the Python Code Examples.
|
|
2034
2193
|
|
|
2035
|
-
|
|
2036
|
-
agent = Agent(
|
|
2037
|
-
tools=MCP(
|
|
2038
|
-
command="npx",
|
|
2039
|
-
args=["-y", "@modelcontextprotocol/server-brave-search"],
|
|
2040
|
-
env={"BRAVE_API_KEY": "your-key"}
|
|
2041
|
-
)
|
|
2042
|
-
)
|
|
2043
|
-
```
|
|
2194
|
+
---
|
|
2044
2195
|
|
|
2045
|
-
|
|
2196
|
+
## 🔬 Advanced Features
|
|
2197
|
+
|
|
2198
|
+
### Research & Intelligence
|
|
2199
|
+
|
|
2200
|
+
- 🔬 **Deep Research Agents** - OpenAI & Gemini support for automated research
|
|
2201
|
+
- 🔄 **Query Rewriter Agent** - HyDE, Step-back, Multi-query strategies for RAG optimization
|
|
2202
|
+
- 🌐 **Native Web Search** - Real-time search via OpenAI, Gemini, Anthropic, xAI, Perplexity
|
|
2203
|
+
- 📥 **Web Fetch** - Retrieve full content from URLs (Anthropic)
|
|
2204
|
+
- 📝 **Prompt Expander Agent** - Expand short prompts into detailed instructions
|
|
2205
|
+
|
|
2206
|
+
### Memory & Caching
|
|
2207
|
+
|
|
2208
|
+
- 💾 **Prompt Caching** - Reduce costs & latency (OpenAI, Anthropic, Bedrock, Deepseek)
|
|
2209
|
+
- 🧠 **Claude Memory Tool** - Persistent cross-conversation memory (Anthropic Beta)
|
|
2210
|
+
- 💾 **File-Based Memory** - Zero-dependency persistent memory for all agents
|
|
2211
|
+
- 🔍 **Built-in Search Tools** - Tavily, You.com, Exa for web search, news, content extraction
|
|
2212
|
+
|
|
2213
|
+
### Planning & Workflows
|
|
2214
|
+
|
|
2215
|
+
- 📋 **Planning Mode** - Plan before execution for agents & multi-agent systems
|
|
2216
|
+
- 🔧 **Planning Tools** - Research with tools during planning phase
|
|
2217
|
+
- 🧠 **Planning Reasoning** - Chain-of-thought planning for complex tasks
|
|
2218
|
+
- ⛓️ **Prompt Chaining** - Sequential prompt workflows with conditional gates
|
|
2219
|
+
- 🔍 **Evaluator Optimiser** - Generate and optimize through iterative feedback
|
|
2220
|
+
- 👷 **Orchestrator Workers** - Distribute tasks among specialised workers
|
|
2221
|
+
- ⚡ **Parallelisation** - Execute tasks in parallel for improved performance
|
|
2222
|
+
- 🔁 **Repetitive Agents** - Handle repetitive tasks through automated loops
|
|
2223
|
+
- 🤖 **Autonomous Workflow** - Monitor, act, adapt based on environment feedback
|
|
2224
|
+
|
|
2225
|
+
### Specialised Agents
|
|
2226
|
+
|
|
2227
|
+
- 🖼️ **Image Generation Agent** - Create images from text descriptions
|
|
2228
|
+
- 📷 **Image to Text Agent** - Extract text and descriptions from images
|
|
2229
|
+
- 🎬 **Video Agent** - Analyse and process video content
|
|
2230
|
+
- 📊 **Data Analyst Agent** - Analyse data and generate insights
|
|
2231
|
+
- 💰 **Finance Agent** - Financial analysis and recommendations
|
|
2232
|
+
- 🛒 **Shopping Agent** - Price comparison and shopping assistance
|
|
2233
|
+
- ⭐ **Recommendation Agent** - Personalised recommendations
|
|
2234
|
+
- 📖 **Wikipedia Agent** - Search and extract Wikipedia information
|
|
2235
|
+
- 💻 **Programming Agent** - Code development and analysis
|
|
2236
|
+
- 📝 **Markdown Agent** - Generate and format Markdown content
|
|
2237
|
+
- 🔀 **Router Agent** - Dynamic task routing with cost optimisation
|
|
2238
|
+
|
|
2239
|
+
### MCP Protocol
|
|
2240
|
+
|
|
2241
|
+
- 🔌 **MCP Transports** - stdio, Streamable HTTP, WebSocket, SSE (Protocol 2025-11-25)
|
|
2242
|
+
- 🌐 **WebSocket MCP** - Real-time bidirectional connections with auto-reconnect
|
|
2243
|
+
- 🔐 **MCP Security** - Origin validation, DNS rebinding prevention, secure sessions
|
|
2244
|
+
- 🔄 **MCP Resumability** - SSE stream recovery via Last-Event-ID
|
|
2245
|
+
|
|
2246
|
+
### Safety & Control
|
|
2247
|
+
|
|
2248
|
+
- 🤝 **Agent Handoffs** - Transfer context between specialised agents
|
|
2249
|
+
- 🛡️ **Guardrails** - Input/output validation and safety checks
|
|
2250
|
+
- ✅ **Human Approval** - Require human confirmation for critical actions
|
|
2251
|
+
- 💬 **Sessions Management** - Isolated conversation contexts
|
|
2252
|
+
- 🔄 **Stateful Agents** - Maintain state across interactions
|
|
2253
|
+
|
|
2254
|
+
### Developer Tools
|
|
2255
|
+
|
|
2256
|
+
- ⚡ **Fast Context** - Rapid parallel code search (10-20x faster)
|
|
2257
|
+
- 📜 **Rules & Instructions** - Auto-discover CLAUDE.md, AGENTS.md, GEMINI.md
|
|
2258
|
+
- 🪝 **Hooks** - Pre/post operation hooks for custom logic
|
|
2259
|
+
- 📈 **Telemetry** - Track agent performance and usage
|
|
2260
|
+
- 📹 **Camera Integration** - Capture and analyse camera input
|
|
2261
|
+
|
|
2262
|
+
### Other Features
|
|
2263
|
+
|
|
2264
|
+
- 🔄 **CrewAI & AG2 Integration** - Use CrewAI or AG2 (Formerly AutoGen) Framework
|
|
2265
|
+
- 💻 **Codebase Chat** - Chat with entire codebase
|
|
2266
|
+
- 🎨 **Interactive UIs** - Multiple interactive interfaces
|
|
2267
|
+
- 📄 **YAML Configuration** - YAML-based agent and workflow configuration
|
|
2268
|
+
- 🛠️ **Custom Tools** - Easy custom tool integration
|
|
2269
|
+
- 🔍 **Internet Search** - Multiple providers (Tavily, You.com, Exa, DuckDuckGo, Crawl4AI)
|
|
2270
|
+
- 🖼️ **VLM Support** - Vision Language Model support
|
|
2271
|
+
- 🎙️ **Voice Interaction** - Real-time voice interaction
|
|
2046
2272
|
|
|
2047
|
-
|
|
2273
|
+
---
|
|
2048
2274
|
|
|
2049
|
-
|
|
2050
|
-
from praisonaiagents.mcp import ToolsMCPServer
|
|
2275
|
+
## 🎓 Video Tutorials
|
|
2051
2276
|
|
|
2052
|
-
|
|
2053
|
-
"""Search the web for information."""
|
|
2054
|
-
return {"results": [f"Result for {query}"]}
|
|
2277
|
+
Learn PraisonAI through our comprehensive video series:
|
|
2055
2278
|
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2279
|
+
| Topic | Video |
|
|
2280
|
+
|-------|--------|
|
|
2281
|
+
| AI Agents with Self Reflection | [](https://www.youtube.com/watch?v=vLXobEN2Vc8) |
|
|
2282
|
+
| Reasoning Data Generating Agent | [](https://www.youtube.com/watch?v=fUT332Y2zA8) |
|
|
2283
|
+
| AI Agents with Reasoning | [](https://www.youtube.com/watch?v=KNDVWGN3TpM) |
|
|
2284
|
+
| Multimodal AI Agents | [](https://www.youtube.com/watch?v=hjAWmUT1qqY) |
|
|
2285
|
+
| AI Agents Workflow | [](https://www.youtube.com/watch?v=yWTH44QPl2A) |
|
|
2286
|
+
| Async AI Agents | [](https://www.youtube.com/watch?v=VhVQfgo00LE) |
|
|
2287
|
+
| Mini AI Agents | [](https://www.youtube.com/watch?v=OkvYp5aAGSg) |
|
|
2288
|
+
| AI Agents with Memory | [](https://www.youtube.com/watch?v=1hVfVxvPnnQ) |
|
|
2289
|
+
| Repetitive Agents | [](https://www.youtube.com/watch?v=dAYGxsjDOPg) |
|
|
2290
|
+
| Introduction | [](https://www.youtube.com/watch?v=Fn1lQjC0GO0) |
|
|
2291
|
+
| Tools Overview | [](https://www.youtube.com/watch?v=XaQRgRpV7jo) |
|
|
2292
|
+
| Custom Tools | [](https://www.youtube.com/watch?v=JSU2Rndh06c) |
|
|
2293
|
+
| Firecrawl Integration | [](https://www.youtube.com/watch?v=UoqUDcLcOYo) |
|
|
2294
|
+
| User Interface | [](https://www.youtube.com/watch?v=tg-ZjNl3OCg) |
|
|
2295
|
+
| Crawl4AI Integration | [](https://www.youtube.com/watch?v=KAvuVUh0XU8) |
|
|
2296
|
+
| Chat Interface | [](https://www.youtube.com/watch?v=sw3uDqn2h1Y) |
|
|
2297
|
+
| Code Interface | [](https://www.youtube.com/watch?v=_5jQayO-MQY) |
|
|
2298
|
+
| Mem0 Integration | [](https://www.youtube.com/watch?v=KIGSgRxf1cY) |
|
|
2299
|
+
| Training | [](https://www.youtube.com/watch?v=aLawE8kwCrI) |
|
|
2300
|
+
| Realtime Voice Interface | [](https://www.youtube.com/watch?v=frRHfevTCSw) |
|
|
2301
|
+
| Call Interface | [](https://www.youtube.com/watch?v=m1cwrUG2iAk) |
|
|
2302
|
+
| Reasoning Extract Agents | [](https://www.youtube.com/watch?v=2PPamsADjJA) |
|
|
2059
2303
|
|
|
2060
|
-
|
|
2061
|
-
server = ToolsMCPServer(name="my-tools")
|
|
2062
|
-
server.register_tools([search_web, calculate])
|
|
2063
|
-
server.run() # stdio for Claude Desktop
|
|
2064
|
-
# server.run_sse(host="0.0.0.0", port=8080) # SSE for web clients
|
|
2065
|
-
```
|
|
2304
|
+
---
|
|
2066
2305
|
|
|
2067
|
-
|
|
2306
|
+
## 👥 Contributing
|
|
2068
2307
|
|
|
2069
|
-
|
|
2070
|
-
|---------|-------------|
|
|
2071
|
-
| **Session Management** | Automatic `Mcp-Session-Id` handling |
|
|
2072
|
-
| **Protocol Versioning** | `Mcp-Protocol-Version` header |
|
|
2073
|
-
| **Resumability** | SSE stream recovery via `Last-Event-ID` |
|
|
2074
|
-
| **Security** | Origin validation, DNS rebinding prevention |
|
|
2075
|
-
| **WebSocket** | Auto-reconnect with exponential backoff |
|
|
2308
|
+
We welcome contributions from the community! Here's how you can contribute:
|
|
2076
2309
|
|
|
2310
|
+
1. **Fork on GitHub** - Use the "Fork" button on the [repository page](https://github.com/MervinPraison/PraisonAI)
|
|
2311
|
+
2. **Clone your fork** - `git clone https://github.com/yourusername/praisonAI.git`
|
|
2312
|
+
3. **Create a branch** - `git checkout -b new-feature`
|
|
2313
|
+
4. **Make changes and commit** - `git commit -am "Add some feature"`
|
|
2314
|
+
5. **Push to your fork** - `git push origin new-feature`
|
|
2315
|
+
6. **Submit a pull request** - Via GitHub's web interface
|
|
2316
|
+
7. **Await feedback** - From project maintainers
|
|
2077
2317
|
|
|
2078
|
-
|
|
2318
|
+
---
|
|
2079
2319
|
|
|
2080
|
-
|
|
2320
|
+
## 🔧 Development
|
|
2081
2321
|
|
|
2082
2322
|
### Using uv
|
|
2323
|
+
|
|
2083
2324
|
```bash
|
|
2084
2325
|
# Install uv if you haven't already
|
|
2085
2326
|
pip install uv
|
|
@@ -2105,110 +2346,13 @@ python src/praisonai/scripts/bump_and_release.py 2.2.99 --agents 0.0.169
|
|
|
2105
2346
|
cd src/praisonai && uv publish
|
|
2106
2347
|
```
|
|
2107
2348
|
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
- Fork on GitHub: Use the "Fork" button on the repository page.
|
|
2111
|
-
- Clone your fork: `git clone https://github.com/yourusername/praisonAI.git`
|
|
2112
|
-
- Create a branch: `git checkout -b new-feature`
|
|
2113
|
-
- Make changes and commit: `git commit -am "Add some feature"`
|
|
2114
|
-
- Push to your fork: `git push origin new-feature`
|
|
2115
|
-
- Submit a pull request via GitHub's web interface.
|
|
2116
|
-
- Await feedback from project maintainers.
|
|
2117
|
-
|
|
2118
|
-
## Advanced Features
|
|
2119
|
-
|
|
2120
|
-
**Research & Intelligence:**
|
|
2121
|
-
- 🔬 **Deep Research Agents** (OpenAI & Gemini)
|
|
2122
|
-
- 🔄 **Query Rewriter Agent** (HyDE, Step-back, Multi-query)
|
|
2123
|
-
- 🌐 **Native Web Search** (OpenAI, Gemini, Anthropic, xAI, Perplexity)
|
|
2124
|
-
- 📥 **Web Fetch** (Retrieve full content from URLs - Anthropic)
|
|
2125
|
-
- 📝 **Prompt Expander Agent** (Expand short prompts into detailed instructions)
|
|
2126
|
-
|
|
2127
|
-
**Memory & Caching:**
|
|
2128
|
-
- 💾 **Prompt Caching** (Reduce costs & latency - OpenAI, Anthropic, Bedrock, Deepseek)
|
|
2129
|
-
- 🧠 **Claude Memory Tool** (Persistent cross-conversation memory - Anthropic Beta)
|
|
2130
|
-
- 💾 **File-Based Memory** (Zero-dependency persistent memory for all agents)
|
|
2131
|
-
- 🔍 **Built-in Search Tools** (Tavily, You.com, Exa - web search, news, content extraction)
|
|
2132
|
-
|
|
2133
|
-
**Planning & Workflows:**
|
|
2134
|
-
- 📋 **Planning Mode** (Plan before execution - Agent & Multi-Agent)
|
|
2135
|
-
- 🔧 **Planning Tools** (Research with tools during planning)
|
|
2136
|
-
- 🧠 **Planning Reasoning** (Chain-of-thought planning)
|
|
2137
|
-
- ⛓️ **Prompt Chaining** (Sequential prompt workflows with gates)
|
|
2138
|
-
- 🔍 **Evaluator Optimiser** (Generate and optimize through iterative feedback)
|
|
2139
|
-
- 👷 **Orchestrator Workers** (Distribute tasks among specialized workers)
|
|
2140
|
-
- ⚡ **Parallelisation** (Execute tasks in parallel for improved performance)
|
|
2141
|
-
- 🔁 **Repetitive Agents** (Handle repetitive tasks through automated loops)
|
|
2142
|
-
- 🤖 **Autonomous Workflow** (Monitor, act, adapt based on environment feedback)
|
|
2143
|
-
|
|
2144
|
-
**Agent Types:**
|
|
2145
|
-
- 🖼️ **Image Generation Agent** (Create images from text descriptions)
|
|
2146
|
-
- 📷 **Image to Text Agent** (Extract text and descriptions from images)
|
|
2147
|
-
- 🎬 **Video Agent** (Analyze and process video content)
|
|
2148
|
-
- 📊 **Data Analyst Agent** (Analyze data and generate insights)
|
|
2149
|
-
- 💰 **Finance Agent** (Financial analysis and recommendations)
|
|
2150
|
-
- 🛒 **Shopping Agent** (Price comparison and shopping assistance)
|
|
2151
|
-
- ⭐ **Recommendation Agent** (Personalized recommendations)
|
|
2152
|
-
- 📖 **Wikipedia Agent** (Search and extract Wikipedia information)
|
|
2153
|
-
- 💻 **Programming Agent** (Code development and analysis)
|
|
2154
|
-
- 📝 **Markdown Agent** (Generate and format Markdown content)
|
|
2155
|
-
- 🔀 **Router Agent** (Dynamic task routing with cost optimization)
|
|
2156
|
-
|
|
2157
|
-
**MCP Protocol:**
|
|
2158
|
-
- 🔌 **MCP Transports** (stdio, Streamable HTTP, WebSocket, SSE - Protocol 2025-11-25)
|
|
2159
|
-
- 🌐 **WebSocket MCP** (Real-time bidirectional connections with auto-reconnect)
|
|
2160
|
-
- 🔐 **MCP Security** (Origin validation, DNS rebinding prevention, secure sessions)
|
|
2161
|
-
- 🔄 **MCP Resumability** (SSE stream recovery via Last-Event-ID)
|
|
2162
|
-
|
|
2163
|
-
**Safety & Control:**
|
|
2164
|
-
- 🤝 **Agent Handoffs** (Transfer context between specialized agents)
|
|
2165
|
-
- 🛡️ **Guardrails** (Input/output validation and safety checks)
|
|
2166
|
-
- ✅ **Human Approval** (Require human confirmation for critical actions)
|
|
2167
|
-
- 💬 **Sessions Management** (Isolated conversation contexts)
|
|
2168
|
-
- 🔄 **Stateful Agents** (Maintain state across interactions)
|
|
2169
|
-
|
|
2170
|
-
**Developer Tools:**
|
|
2171
|
-
- ⚡ **Fast Context** (Rapid parallel code search - 10-20x faster than traditional methods)
|
|
2172
|
-
- 📜 **Rules & Instructions** (Auto-discover CLAUDE.md, AGENTS.md, GEMINI.md)
|
|
2173
|
-
- 🪝 **Hooks** (Pre/post operation hooks for custom logic)
|
|
2174
|
-
- 📈 **Telemetry** (Track agent performance and usage)
|
|
2175
|
-
- 📹 **Camera Integration** (Capture and analyze camera input)
|
|
2176
|
-
|
|
2177
|
-
## Other Features
|
|
2178
|
-
|
|
2179
|
-
- 🔄 Use CrewAI or AG2 (Formerly AutoGen) Framework
|
|
2180
|
-
- 💻 Chat with ENTIRE Codebase
|
|
2181
|
-
- 🎨 Interactive UIs
|
|
2182
|
-
- 📄 YAML-based Configuration
|
|
2183
|
-
- 🛠️ Custom Tool Integration
|
|
2184
|
-
- 🔍 Internet Search Capability (Tavily, You.com, Exa, DuckDuckGo, Crawl4AI)
|
|
2185
|
-
- 🖼️ Vision Language Model (VLM) Support
|
|
2186
|
-
- 🎙️ Real-time Voice Interaction
|
|
2187
|
-
|
|
2188
|
-
## Video Tutorials
|
|
2189
|
-
|
|
2190
|
-
| Topic | Video |
|
|
2191
|
-
|-------|--------|
|
|
2192
|
-
| AI Agents with Self Reflection | [](https://www.youtube.com/watch?v=vLXobEN2Vc8) |
|
|
2193
|
-
| Reasoning Data Generating Agent | [](https://www.youtube.com/watch?v=fUT332Y2zA8) |
|
|
2194
|
-
| AI Agents with Reasoning | [](https://www.youtube.com/watch?v=KNDVWGN3TpM) |
|
|
2195
|
-
| Multimodal AI Agents | [](https://www.youtube.com/watch?v=hjAWmUT1qqY) |
|
|
2196
|
-
| AI Agents Workflow | [](https://www.youtube.com/watch?v=yWTH44QPl2A) |
|
|
2197
|
-
| Async AI Agents | [](https://www.youtube.com/watch?v=VhVQfgo00LE) |
|
|
2198
|
-
| Mini AI Agents | [](https://www.youtube.com/watch?v=OkvYp5aAGSg) |
|
|
2199
|
-
| AI Agents with Memory | [](https://www.youtube.com/watch?v=1hVfVxvPnnQ) |
|
|
2200
|
-
| Repetitive Agents | [](https://www.youtube.com/watch?v=dAYGxsjDOPg) |
|
|
2201
|
-
| Introduction | [](https://www.youtube.com/watch?v=Fn1lQjC0GO0) |
|
|
2202
|
-
| Tools Overview | [](https://www.youtube.com/watch?v=XaQRgRpV7jo) |
|
|
2203
|
-
| Custom Tools | [](https://www.youtube.com/watch?v=JSU2Rndh06c) |
|
|
2204
|
-
| Firecrawl Integration | [](https://www.youtube.com/watch?v=UoqUDcLcOYo) |
|
|
2205
|
-
| User Interface | [](https://www.youtube.com/watch?v=tg-ZjNl3OCg) |
|
|
2206
|
-
| Crawl4AI Integration | [](https://www.youtube.com/watch?v=KAvuVUh0XU8) |
|
|
2207
|
-
| Chat Interface | [](https://www.youtube.com/watch?v=sw3uDqn2h1Y) |
|
|
2208
|
-
| Code Interface | [](https://www.youtube.com/watch?v=_5jQayO-MQY) |
|
|
2209
|
-
| Mem0 Integration | [](https://www.youtube.com/watch?v=KIGSgRxf1cY) |
|
|
2210
|
-
| Training | [](https://www.youtube.com/watch?v=aLawE8kwCrI) |
|
|
2211
|
-
| Realtime Voice Interface | [](https://www.youtube.com/watch?v=frRHfevTCSw) |
|
|
2212
|
-
| Call Interface | [](https://www.youtube.com/watch?v=m1cwrUG2iAk) |
|
|
2213
|
-
| Reasoning Extract Agents | [](https://www.youtube.com/watch?v=2PPamsADjJA) |
|
|
2349
|
+
---
|
|
2214
2350
|
|
|
2351
|
+
<div align="center">
|
|
2352
|
+
<p><strong>Made with ❤️ by the PraisonAI Team</strong></p>
|
|
2353
|
+
<p>
|
|
2354
|
+
<a href="https://docs.praison.ai">Documentation</a> •
|
|
2355
|
+
<a href="https://github.com/MervinPraison/PraisonAI">GitHub</a> •
|
|
2356
|
+
<a href="https://github.com/MervinPraison/PraisonAI/issues">Issues</a>
|
|
2357
|
+
</p>
|
|
2358
|
+
</div>
|