PraisonAI 2.0.61__cp313-cp313-manylinux_2_39_x86_64.whl
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.
- praisonai/__init__.py +6 -0
- praisonai/__main__.py +10 -0
- praisonai/agents_generator.py +648 -0
- praisonai/api/call.py +292 -0
- praisonai/auto.py +238 -0
- praisonai/chainlit_ui.py +304 -0
- praisonai/cli.py +518 -0
- praisonai/deploy.py +138 -0
- praisonai/inbuilt_tools/__init__.py +24 -0
- praisonai/inbuilt_tools/autogen_tools.py +117 -0
- praisonai/inc/__init__.py +2 -0
- praisonai/inc/config.py +96 -0
- praisonai/inc/models.py +128 -0
- praisonai/public/android-chrome-192x192.png +0 -0
- praisonai/public/android-chrome-512x512.png +0 -0
- praisonai/public/apple-touch-icon.png +0 -0
- praisonai/public/fantasy.svg +3 -0
- praisonai/public/favicon-16x16.png +0 -0
- praisonai/public/favicon-32x32.png +0 -0
- praisonai/public/favicon.ico +0 -0
- praisonai/public/game.svg +3 -0
- praisonai/public/logo_dark.png +0 -0
- praisonai/public/logo_light.png +0 -0
- praisonai/public/movie.svg +3 -0
- praisonai/public/praison-ai-agents-architecture-dark.png +0 -0
- praisonai/public/praison-ai-agents-architecture.png +0 -0
- praisonai/public/thriller.svg +3 -0
- praisonai/setup/__init__.py +1 -0
- praisonai/setup/build.py +21 -0
- praisonai/setup/config.yaml +60 -0
- praisonai/setup/post_install.py +23 -0
- praisonai/setup/setup_conda_env.py +25 -0
- praisonai/setup/setup_conda_env.sh +72 -0
- praisonai/setup.py +16 -0
- praisonai/test.py +105 -0
- praisonai/train.py +276 -0
- praisonai/ui/README.md +21 -0
- praisonai/ui/agents.py +822 -0
- praisonai/ui/callbacks.py +57 -0
- praisonai/ui/chat.py +387 -0
- praisonai/ui/code.py +440 -0
- praisonai/ui/colab.py +474 -0
- praisonai/ui/colab_chainlit.py +81 -0
- praisonai/ui/components/aicoder.py +269 -0
- praisonai/ui/config/.chainlit/config.toml +120 -0
- praisonai/ui/config/.chainlit/translations/bn.json +231 -0
- praisonai/ui/config/.chainlit/translations/en-US.json +229 -0
- praisonai/ui/config/.chainlit/translations/gu.json +231 -0
- praisonai/ui/config/.chainlit/translations/he-IL.json +231 -0
- praisonai/ui/config/.chainlit/translations/hi.json +231 -0
- praisonai/ui/config/.chainlit/translations/kn.json +231 -0
- praisonai/ui/config/.chainlit/translations/ml.json +231 -0
- praisonai/ui/config/.chainlit/translations/mr.json +231 -0
- praisonai/ui/config/.chainlit/translations/ta.json +231 -0
- praisonai/ui/config/.chainlit/translations/te.json +231 -0
- praisonai/ui/config/.chainlit/translations/zh-CN.json +229 -0
- praisonai/ui/config/chainlit.md +1 -0
- praisonai/ui/config/translations/bn.json +231 -0
- praisonai/ui/config/translations/en-US.json +229 -0
- praisonai/ui/config/translations/gu.json +231 -0
- praisonai/ui/config/translations/he-IL.json +231 -0
- praisonai/ui/config/translations/hi.json +231 -0
- praisonai/ui/config/translations/kn.json +231 -0
- praisonai/ui/config/translations/ml.json +231 -0
- praisonai/ui/config/translations/mr.json +231 -0
- praisonai/ui/config/translations/ta.json +231 -0
- praisonai/ui/config/translations/te.json +231 -0
- praisonai/ui/config/translations/zh-CN.json +229 -0
- praisonai/ui/context.py +283 -0
- praisonai/ui/db.py +291 -0
- praisonai/ui/public/fantasy.svg +3 -0
- praisonai/ui/public/game.svg +3 -0
- praisonai/ui/public/logo_dark.png +0 -0
- praisonai/ui/public/logo_light.png +0 -0
- praisonai/ui/public/movie.svg +3 -0
- praisonai/ui/public/praison.css +3 -0
- praisonai/ui/public/thriller.svg +3 -0
- praisonai/ui/realtime.py +476 -0
- praisonai/ui/realtimeclient/__init__.py +653 -0
- praisonai/ui/realtimeclient/realtimedocs.txt +1484 -0
- praisonai/ui/realtimeclient/tools.py +236 -0
- praisonai/ui/sql_alchemy.py +707 -0
- praisonai/ui/tools.md +133 -0
- praisonai/version.py +1 -0
- praisonai-2.0.61.dist-info/LICENSE +20 -0
- praisonai-2.0.61.dist-info/METADATA +679 -0
- praisonai-2.0.61.dist-info/RECORD +89 -0
- praisonai-2.0.61.dist-info/WHEEL +4 -0
- praisonai-2.0.61.dist-info/entry_points.txt +5 -0
|
@@ -0,0 +1,679 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: PraisonAI
|
|
3
|
+
Version: 2.0.61
|
|
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
|
+
Author: Mervin Praison
|
|
6
|
+
Requires-Python: >=3.10,<3.13
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
+
Provides-Extra: agentops
|
|
12
|
+
Provides-Extra: anthropic
|
|
13
|
+
Provides-Extra: api
|
|
14
|
+
Provides-Extra: autogen
|
|
15
|
+
Provides-Extra: call
|
|
16
|
+
Provides-Extra: chat
|
|
17
|
+
Provides-Extra: code
|
|
18
|
+
Provides-Extra: cohere
|
|
19
|
+
Provides-Extra: crewai
|
|
20
|
+
Provides-Extra: google
|
|
21
|
+
Provides-Extra: gradio
|
|
22
|
+
Provides-Extra: openai
|
|
23
|
+
Provides-Extra: realtime
|
|
24
|
+
Provides-Extra: ui
|
|
25
|
+
Requires-Dist: PyYAML (>=6.0)
|
|
26
|
+
Requires-Dist: agentops (>=0.3.12) ; extra == "agentops"
|
|
27
|
+
Requires-Dist: aiosqlite (>=0.20.0) ; extra == "chat"
|
|
28
|
+
Requires-Dist: aiosqlite (>=0.20.0) ; extra == "code"
|
|
29
|
+
Requires-Dist: aiosqlite (>=0.20.0) ; extra == "realtime"
|
|
30
|
+
Requires-Dist: aiosqlite (>=0.20.0) ; extra == "ui"
|
|
31
|
+
Requires-Dist: chainlit (==2.0.3) ; extra == "chat"
|
|
32
|
+
Requires-Dist: chainlit (==2.0.3) ; extra == "code"
|
|
33
|
+
Requires-Dist: chainlit (==2.0.3) ; extra == "realtime"
|
|
34
|
+
Requires-Dist: chainlit (==2.0.3) ; extra == "ui"
|
|
35
|
+
Requires-Dist: crawl4ai (==0.3.4) ; extra == "chat"
|
|
36
|
+
Requires-Dist: crawl4ai (==0.3.4) ; extra == "code"
|
|
37
|
+
Requires-Dist: crawl4ai (==0.3.4) ; extra == "realtime"
|
|
38
|
+
Requires-Dist: crewai (>=0.32.0) ; extra == "crewai"
|
|
39
|
+
Requires-Dist: crewai ; extra == "autogen"
|
|
40
|
+
Requires-Dist: duckduckgo_search (>=6.3.0) ; extra == "realtime"
|
|
41
|
+
Requires-Dist: fastapi (>=0.95.0) ; extra == "call"
|
|
42
|
+
Requires-Dist: flaml[automl] (>=2.3.1) ; extra == "call"
|
|
43
|
+
Requires-Dist: flask (>=3.0.0) ; extra == "api"
|
|
44
|
+
Requires-Dist: gradio (>=4.26.0) ; extra == "gradio"
|
|
45
|
+
Requires-Dist: greenlet (>=3.0.3) ; extra == "chat"
|
|
46
|
+
Requires-Dist: greenlet (>=3.0.3) ; extra == "code"
|
|
47
|
+
Requires-Dist: greenlet (>=3.0.3) ; extra == "realtime"
|
|
48
|
+
Requires-Dist: greenlet (>=3.0.3) ; extra == "ui"
|
|
49
|
+
Requires-Dist: instructor (>=1.3.3)
|
|
50
|
+
Requires-Dist: langchain-anthropic (>=0.1.13) ; extra == "anthropic"
|
|
51
|
+
Requires-Dist: langchain-cohere (>=0.1.4) ; extra == "cohere"
|
|
52
|
+
Requires-Dist: langchain-google-genai (>=1.0.4) ; extra == "google"
|
|
53
|
+
Requires-Dist: langchain-openai (>=0.1.7) ; extra == "openai"
|
|
54
|
+
Requires-Dist: litellm (>=1.41.8) ; extra == "chat"
|
|
55
|
+
Requires-Dist: litellm (>=1.41.8) ; extra == "code"
|
|
56
|
+
Requires-Dist: litellm (>=1.41.8) ; extra == "realtime"
|
|
57
|
+
Requires-Dist: markdown (>=3.5)
|
|
58
|
+
Requires-Dist: openai (>=1.54.0) ; extra == "call"
|
|
59
|
+
Requires-Dist: playwright (>=1.47.0) ; extra == "chat"
|
|
60
|
+
Requires-Dist: playwright (>=1.47.0) ; extra == "code"
|
|
61
|
+
Requires-Dist: plotly (>=5.24.0) ; extra == "realtime"
|
|
62
|
+
Requires-Dist: praisonai-tools (>=0.0.7) ; extra == "autogen"
|
|
63
|
+
Requires-Dist: praisonai-tools (>=0.0.7) ; extra == "crewai"
|
|
64
|
+
Requires-Dist: praisonaiagents (>=0.0.61)
|
|
65
|
+
Requires-Dist: pyautogen (>=0.2.19) ; extra == "autogen"
|
|
66
|
+
Requires-Dist: pydantic (<=2.10.1) ; extra == "chat"
|
|
67
|
+
Requires-Dist: pydantic (<=2.10.1) ; extra == "code"
|
|
68
|
+
Requires-Dist: pydantic (<=2.10.1) ; extra == "ui"
|
|
69
|
+
Requires-Dist: pyngrok (>=1.4.0) ; extra == "call"
|
|
70
|
+
Requires-Dist: pyparsing (>=3.0.0)
|
|
71
|
+
Requires-Dist: python-dotenv (>=0.19.0)
|
|
72
|
+
Requires-Dist: rich (>=13.7)
|
|
73
|
+
Requires-Dist: rich ; extra == "call"
|
|
74
|
+
Requires-Dist: rich ; extra == "chat"
|
|
75
|
+
Requires-Dist: sqlalchemy (>=2.0.36) ; extra == "chat"
|
|
76
|
+
Requires-Dist: sqlalchemy (>=2.0.36) ; extra == "code"
|
|
77
|
+
Requires-Dist: sqlalchemy (>=2.0.36) ; extra == "realtime"
|
|
78
|
+
Requires-Dist: sqlalchemy (>=2.0.36) ; extra == "ui"
|
|
79
|
+
Requires-Dist: tavily-python (==0.5.0) ; extra == "chat"
|
|
80
|
+
Requires-Dist: tavily-python (==0.5.0) ; extra == "code"
|
|
81
|
+
Requires-Dist: tavily-python (==0.5.0) ; extra == "realtime"
|
|
82
|
+
Requires-Dist: twilio (>=7.0.0) ; extra == "call"
|
|
83
|
+
Requires-Dist: uvicorn (>=0.20.0) ; extra == "call"
|
|
84
|
+
Requires-Dist: websockets (>=12.0) ; extra == "call"
|
|
85
|
+
Requires-Dist: websockets (>=12.0) ; extra == "realtime"
|
|
86
|
+
Requires-Dist: yfinance (>=0.2.44) ; extra == "realtime"
|
|
87
|
+
Project-URL: Homepage, https://docs.praison.ai
|
|
88
|
+
Project-URL: Repository, https://github.com/mervinpraison/PraisonAI
|
|
89
|
+
Description-Content-Type: text/markdown
|
|
90
|
+
|
|
91
|
+
<p align="center">
|
|
92
|
+
<picture>
|
|
93
|
+
<source media="(prefers-color-scheme: dark)" srcset="docs/logo/dark.png" />
|
|
94
|
+
<source media="(prefers-color-scheme: light)" srcset="docs/logo/light.png" />
|
|
95
|
+
<img alt="PraisonAI Logo" src="docs/logo/light.png" />
|
|
96
|
+
</picture>
|
|
97
|
+
</p>
|
|
98
|
+
|
|
99
|
+
<p align="center">
|
|
100
|
+
<a href="https://github.com/MervinPraison/PraisonAI"><img src="https://static.pepy.tech/badge/PraisonAI" alt="Total Downloads" /></a>
|
|
101
|
+
<a href="https://github.com/MervinPraison/PraisonAI"><img src="https://img.shields.io/github/v/release/MervinPraison/PraisonAI" alt="Latest Stable Version" /></a>
|
|
102
|
+
<a href="https://github.com/MervinPraison/PraisonAI"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License" /></a>
|
|
103
|
+
</p>
|
|
104
|
+
|
|
105
|
+
<div align="center">
|
|
106
|
+
|
|
107
|
+
# Praison AI
|
|
108
|
+
|
|
109
|
+
<a href="https://trendshift.io/repositories/9130" target="_blank"><img src="https://trendshift.io/api/badge/repositories/9130" alt="MervinPraison%2FPraisonAI | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
|
110
|
+
|
|
111
|
+
</div>
|
|
112
|
+
|
|
113
|
+
PraisonAI is a production-ready Multi-AI Agents framework with self-reflection, designed to create AI Agents to automate and solve problems ranging from simple tasks to complex challenges. By integrating PraisonAI Agents, AutoGen, and CrewAI into a low-code solution, it streamlines the building and management of multi-agent LLM systems, emphasising simplicity, customisation, and effective human-agent collaboration.
|
|
114
|
+
|
|
115
|
+
<div align="center">
|
|
116
|
+
<a href="https://docs.praison.ai">
|
|
117
|
+
<p align="center">
|
|
118
|
+
<img src="https://img.shields.io/badge/📚_Documentation-Visit_docs.praison.ai-blue?style=for-the-badge&logo=bookstack&logoColor=white" alt="Documentation" />
|
|
119
|
+
</p>
|
|
120
|
+
</a>
|
|
121
|
+
</div>
|
|
122
|
+
|
|
123
|
+
## Key Features
|
|
124
|
+
|
|
125
|
+
- 🤖 Automated AI Agents Creation
|
|
126
|
+
- 🔄 Self Reflection AI Agents
|
|
127
|
+
- 🧠 Reasoning AI Agents
|
|
128
|
+
- 👁️ Multi Modal AI Agents
|
|
129
|
+
- 🤝 Multi Agent Collaboration
|
|
130
|
+
- 🎭 AI Agent Workflow
|
|
131
|
+
- 📚 Add Custom Knowledge
|
|
132
|
+
- 🧠 Agents with Short and Long Term Memory
|
|
133
|
+
- 📄 Chat with PDF Agents
|
|
134
|
+
- 💻 Code Interpreter Agents
|
|
135
|
+
- 📚 RAG Agents
|
|
136
|
+
- 🤔 Async & Parallel Processing
|
|
137
|
+
- 🔄 Auto Agents
|
|
138
|
+
- 🔢 Math Agents
|
|
139
|
+
- 🎯 Structured Output Agents
|
|
140
|
+
- 🔗 LangChain Integrated Agents
|
|
141
|
+
- 📞 Callback Agents
|
|
142
|
+
- 🤏 Mini AI Agents
|
|
143
|
+
- 🛠️ 100+ Custom Tools
|
|
144
|
+
- 📄 YAML Configuration
|
|
145
|
+
- 💯 100+ LLM Support
|
|
146
|
+
|
|
147
|
+
## Using Python Code
|
|
148
|
+
|
|
149
|
+
Light weight package dedicated for coding:
|
|
150
|
+
```bash
|
|
151
|
+
pip install praisonaiagents
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 1. Single Agent
|
|
159
|
+
|
|
160
|
+
Create app.py file and add the code below:
|
|
161
|
+
```python
|
|
162
|
+
from praisonaiagents import Agent
|
|
163
|
+
agent = Agent(instructions="Your are a helpful AI assistant")
|
|
164
|
+
agent.start("Write a movie script about a robot in Mars")
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Run:
|
|
168
|
+
```bash
|
|
169
|
+
python app.py
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### 2. Multi Agents
|
|
173
|
+
|
|
174
|
+
Create app.py file and add the code below:
|
|
175
|
+
```python
|
|
176
|
+
from praisonaiagents import Agent, PraisonAIAgents
|
|
177
|
+
|
|
178
|
+
research_agent = Agent(instructions="Research about AI")
|
|
179
|
+
summarise_agent = Agent(instructions="Summarise research agent's findings")
|
|
180
|
+
agents = PraisonAIAgents(agents=[research_agent, summarise_agent])
|
|
181
|
+
agents.start()
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Run:
|
|
185
|
+
```bash
|
|
186
|
+
python app.py
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## Using No Code
|
|
190
|
+
|
|
191
|
+
### Auto Mode:
|
|
192
|
+
```bash
|
|
193
|
+
pip install praisonai
|
|
194
|
+
export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
|
|
195
|
+
praisonai --auto create a movie script about Robots in Mars
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## Using JavaScript Code
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
npm install praisonai
|
|
202
|
+
export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
```javascript
|
|
206
|
+
const { Agent } = require('praisonai');
|
|
207
|
+
const agent = new Agent({ instructions: 'You are a helpful AI assistant' });
|
|
208
|
+
agent.start('Write a movie script about a robot in Mars');
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## AI Agents Flow
|
|
212
|
+
|
|
213
|
+
```mermaid
|
|
214
|
+
graph LR
|
|
215
|
+
%% Define the main flow
|
|
216
|
+
Start([▶ Start]) --> Agent1
|
|
217
|
+
Agent1 --> Process[⚙ Process]
|
|
218
|
+
Process --> Agent2
|
|
219
|
+
Agent2 --> Output([✓ Output])
|
|
220
|
+
Process -.-> Agent1
|
|
221
|
+
|
|
222
|
+
%% Define subgraphs for agents and their tasks
|
|
223
|
+
subgraph Agent1[ ]
|
|
224
|
+
Task1[📋 Task]
|
|
225
|
+
AgentIcon1[🤖 AI Agent]
|
|
226
|
+
Tools1[🔧 Tools]
|
|
227
|
+
|
|
228
|
+
Task1 --- AgentIcon1
|
|
229
|
+
AgentIcon1 --- Tools1
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
subgraph Agent2[ ]
|
|
233
|
+
Task2[📋 Task]
|
|
234
|
+
AgentIcon2[🤖 AI Agent]
|
|
235
|
+
Tools2[🔧 Tools]
|
|
236
|
+
|
|
237
|
+
Task2 --- AgentIcon2
|
|
238
|
+
AgentIcon2 --- Tools2
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
classDef input fill:#8B0000,stroke:#7C90A0,color:#fff
|
|
242
|
+
classDef process fill:#189AB4,stroke:#7C90A0,color:#fff
|
|
243
|
+
classDef tools fill:#2E8B57,stroke:#7C90A0,color:#fff
|
|
244
|
+
classDef transparent fill:none,stroke:none
|
|
245
|
+
|
|
246
|
+
class Start,Output,Task1,Task2 input
|
|
247
|
+
class Process,AgentIcon1,AgentIcon2 process
|
|
248
|
+
class Tools1,Tools2 tools
|
|
249
|
+
class Agent1,Agent2 transparent
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## AI Agents with Tools
|
|
253
|
+
|
|
254
|
+
Create AI agents that can use tools to interact with external systems and perform actions.
|
|
255
|
+
|
|
256
|
+
```mermaid
|
|
257
|
+
flowchart TB
|
|
258
|
+
subgraph Tools
|
|
259
|
+
direction TB
|
|
260
|
+
T3[Internet Search]
|
|
261
|
+
T1[Code Execution]
|
|
262
|
+
T2[Formatting]
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
Input[Input] ---> Agents
|
|
266
|
+
subgraph Agents
|
|
267
|
+
direction LR
|
|
268
|
+
A1[Agent 1]
|
|
269
|
+
A2[Agent 2]
|
|
270
|
+
A3[Agent 3]
|
|
271
|
+
end
|
|
272
|
+
Agents ---> Output[Output]
|
|
273
|
+
|
|
274
|
+
T3 --> A1
|
|
275
|
+
T1 --> A2
|
|
276
|
+
T2 --> A3
|
|
277
|
+
|
|
278
|
+
style Tools fill:#189AB4,color:#fff
|
|
279
|
+
style Agents fill:#8B0000,color:#fff
|
|
280
|
+
style Input fill:#8B0000,color:#fff
|
|
281
|
+
style Output fill:#8B0000,color:#fff
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
## AI Agents with Memory
|
|
285
|
+
|
|
286
|
+
Create AI agents with memory capabilities for maintaining context and information across tasks.
|
|
287
|
+
|
|
288
|
+
```mermaid
|
|
289
|
+
flowchart TB
|
|
290
|
+
subgraph Memory
|
|
291
|
+
direction TB
|
|
292
|
+
STM[Short Term]
|
|
293
|
+
LTM[Long Term]
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
subgraph Store
|
|
297
|
+
direction TB
|
|
298
|
+
DB[(Vector DB)]
|
|
299
|
+
end
|
|
300
|
+
|
|
301
|
+
Input[Input] ---> Agents
|
|
302
|
+
subgraph Agents
|
|
303
|
+
direction LR
|
|
304
|
+
A1[Agent 1]
|
|
305
|
+
A2[Agent 2]
|
|
306
|
+
A3[Agent 3]
|
|
307
|
+
end
|
|
308
|
+
Agents ---> Output[Output]
|
|
309
|
+
|
|
310
|
+
Memory <--> Store
|
|
311
|
+
Store <--> A1
|
|
312
|
+
Store <--> A2
|
|
313
|
+
Store <--> A3
|
|
314
|
+
|
|
315
|
+
style Memory fill:#189AB4,color:#fff
|
|
316
|
+
style Store fill:#2E8B57,color:#fff
|
|
317
|
+
style Agents fill:#8B0000,color:#fff
|
|
318
|
+
style Input fill:#8B0000,color:#fff
|
|
319
|
+
style Output fill:#8B0000,color:#fff
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## AI Agents with Different Processes
|
|
323
|
+
|
|
324
|
+
### Sequential Process
|
|
325
|
+
|
|
326
|
+
The simplest form of task execution where tasks are performed one after another.
|
|
327
|
+
|
|
328
|
+
```mermaid
|
|
329
|
+
graph LR
|
|
330
|
+
Input[Input] --> A1
|
|
331
|
+
subgraph Agents
|
|
332
|
+
direction LR
|
|
333
|
+
A1[Agent 1] --> A2[Agent 2] --> A3[Agent 3]
|
|
334
|
+
end
|
|
335
|
+
A3 --> Output[Output]
|
|
336
|
+
|
|
337
|
+
classDef input fill:#8B0000,stroke:#7C90A0,color:#fff
|
|
338
|
+
classDef process fill:#189AB4,stroke:#7C90A0,color:#fff
|
|
339
|
+
classDef transparent fill:none,stroke:none
|
|
340
|
+
|
|
341
|
+
class Input,Output input
|
|
342
|
+
class A1,A2,A3 process
|
|
343
|
+
class Agents transparent
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### Hierarchical Process
|
|
347
|
+
|
|
348
|
+
Uses a manager agent to coordinate task execution and agent assignments.
|
|
349
|
+
|
|
350
|
+
```mermaid
|
|
351
|
+
graph TB
|
|
352
|
+
Input[Input] --> Manager
|
|
353
|
+
|
|
354
|
+
subgraph Agents
|
|
355
|
+
Manager[Manager Agent]
|
|
356
|
+
|
|
357
|
+
subgraph Workers
|
|
358
|
+
direction LR
|
|
359
|
+
W1[Worker 1]
|
|
360
|
+
W2[Worker 2]
|
|
361
|
+
W3[Worker 3]
|
|
362
|
+
end
|
|
363
|
+
|
|
364
|
+
Manager --> W1
|
|
365
|
+
Manager --> W2
|
|
366
|
+
Manager --> W3
|
|
367
|
+
end
|
|
368
|
+
|
|
369
|
+
W1 --> Manager
|
|
370
|
+
W2 --> Manager
|
|
371
|
+
W3 --> Manager
|
|
372
|
+
Manager --> Output[Output]
|
|
373
|
+
|
|
374
|
+
classDef input fill:#8B0000,stroke:#7C90A0,color:#fff
|
|
375
|
+
classDef process fill:#189AB4,stroke:#7C90A0,color:#fff
|
|
376
|
+
classDef transparent fill:none,stroke:none
|
|
377
|
+
|
|
378
|
+
class Input,Output input
|
|
379
|
+
class Manager,W1,W2,W3 process
|
|
380
|
+
class Agents,Workers transparent
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
### Workflow Process
|
|
384
|
+
|
|
385
|
+
Advanced process type supporting complex task relationships and conditional execution.
|
|
386
|
+
|
|
387
|
+
```mermaid
|
|
388
|
+
graph LR
|
|
389
|
+
Input[Input] --> Start
|
|
390
|
+
|
|
391
|
+
subgraph Workflow
|
|
392
|
+
direction LR
|
|
393
|
+
Start[Start] --> C1{Condition}
|
|
394
|
+
C1 --> |Yes| A1[Agent 1]
|
|
395
|
+
C1 --> |No| A2[Agent 2]
|
|
396
|
+
A1 --> Join
|
|
397
|
+
A2 --> Join
|
|
398
|
+
Join --> A3[Agent 3]
|
|
399
|
+
end
|
|
400
|
+
|
|
401
|
+
A3 --> Output[Output]
|
|
402
|
+
|
|
403
|
+
classDef input fill:#8B0000,stroke:#7C90A0,color:#fff
|
|
404
|
+
classDef process fill:#189AB4,stroke:#7C90A0,color:#fff
|
|
405
|
+
classDef decision fill:#2E8B57,stroke:#7C90A0,color:#fff
|
|
406
|
+
classDef transparent fill:none,stroke:none
|
|
407
|
+
|
|
408
|
+
class Input,Output input
|
|
409
|
+
class Start,A1,A2,A3,Join process
|
|
410
|
+
class C1 decision
|
|
411
|
+
class Workflow transparent
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
#### Agentic Routing Workflow
|
|
415
|
+
|
|
416
|
+
Create AI agents that can dynamically route tasks to specialized LLM instances.
|
|
417
|
+
|
|
418
|
+
```mermaid
|
|
419
|
+
flowchart LR
|
|
420
|
+
In[In] --> Router[LLM Call Router]
|
|
421
|
+
Router --> LLM1[LLM Call 1]
|
|
422
|
+
Router --> LLM2[LLM Call 2]
|
|
423
|
+
Router --> LLM3[LLM Call 3]
|
|
424
|
+
LLM1 --> Out[Out]
|
|
425
|
+
LLM2 --> Out
|
|
426
|
+
LLM3 --> Out
|
|
427
|
+
|
|
428
|
+
style In fill:#8B0000,color:#fff
|
|
429
|
+
style Router fill:#2E8B57,color:#fff
|
|
430
|
+
style LLM1 fill:#2E8B57,color:#fff
|
|
431
|
+
style LLM2 fill:#2E8B57,color:#fff
|
|
432
|
+
style LLM3 fill:#2E8B57,color:#fff
|
|
433
|
+
style Out fill:#8B0000,color:#fff
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
#### Agentic Orchestrator Worker
|
|
437
|
+
|
|
438
|
+
Create AI agents that orchestrate and distribute tasks among specialized workers.
|
|
439
|
+
|
|
440
|
+
```mermaid
|
|
441
|
+
flowchart LR
|
|
442
|
+
In[In] --> Router[LLM Call Router]
|
|
443
|
+
Router --> LLM1[LLM Call 1]
|
|
444
|
+
Router --> LLM2[LLM Call 2]
|
|
445
|
+
Router --> LLM3[LLM Call 3]
|
|
446
|
+
LLM1 --> Synthesizer[Synthesizer]
|
|
447
|
+
LLM2 --> Synthesizer
|
|
448
|
+
LLM3 --> Synthesizer
|
|
449
|
+
Synthesizer --> Out[Out]
|
|
450
|
+
|
|
451
|
+
style In fill:#8B0000,color:#fff
|
|
452
|
+
style Router fill:#2E8B57,color:#fff
|
|
453
|
+
style LLM1 fill:#2E8B57,color:#fff
|
|
454
|
+
style LLM2 fill:#2E8B57,color:#fff
|
|
455
|
+
style LLM3 fill:#2E8B57,color:#fff
|
|
456
|
+
style Synthesizer fill:#2E8B57,color:#fff
|
|
457
|
+
style Out fill:#8B0000,color:#fff
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
#### Agentic Autonomous Workflow
|
|
461
|
+
|
|
462
|
+
Create AI agents that can autonomously monitor, act, and adapt based on environment feedback.
|
|
463
|
+
|
|
464
|
+
```mermaid
|
|
465
|
+
flowchart LR
|
|
466
|
+
Human[Human] <--> LLM[LLM Call]
|
|
467
|
+
LLM -->|ACTION| Environment[Environment]
|
|
468
|
+
Environment -->|FEEDBACK| LLM
|
|
469
|
+
LLM --> Stop[Stop]
|
|
470
|
+
|
|
471
|
+
style Human fill:#8B0000,color:#fff
|
|
472
|
+
style LLM fill:#2E8B57,color:#fff
|
|
473
|
+
style Environment fill:#8B0000,color:#fff
|
|
474
|
+
style Stop fill:#333,color:#fff
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
#### Agentic Parallelization
|
|
478
|
+
|
|
479
|
+
Create AI agents that can execute tasks in parallel for improved performance.
|
|
480
|
+
|
|
481
|
+
```mermaid
|
|
482
|
+
flowchart LR
|
|
483
|
+
In[In] --> LLM2[LLM Call 2]
|
|
484
|
+
In --> LLM1[LLM Call 1]
|
|
485
|
+
In --> LLM3[LLM Call 3]
|
|
486
|
+
LLM1 --> Aggregator[Aggregator]
|
|
487
|
+
LLM2 --> Aggregator
|
|
488
|
+
LLM3 --> Aggregator
|
|
489
|
+
Aggregator --> Out[Out]
|
|
490
|
+
|
|
491
|
+
style In fill:#8B0000,color:#fff
|
|
492
|
+
style LLM1 fill:#2E8B57,color:#fff
|
|
493
|
+
style LLM2 fill:#2E8B57,color:#fff
|
|
494
|
+
style LLM3 fill:#2E8B57,color:#fff
|
|
495
|
+
style Aggregator fill:#fff,color:#000
|
|
496
|
+
style Out fill:#8B0000,color:#fff
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
#### Agentic Prompt Chaining
|
|
500
|
+
|
|
501
|
+
Create AI agents with sequential prompt chaining for complex workflows.
|
|
502
|
+
|
|
503
|
+
```mermaid
|
|
504
|
+
flowchart LR
|
|
505
|
+
In[In] --> LLM1[LLM Call 1] --> Gate{Gate}
|
|
506
|
+
Gate -->|Pass| LLM2[LLM Call 2] -->|Output 2| LLM3[LLM Call 3] --> Out[Out]
|
|
507
|
+
Gate -->|Fail| Exit[Exit]
|
|
508
|
+
|
|
509
|
+
style In fill:#8B0000,color:#fff
|
|
510
|
+
style LLM1 fill:#2E8B57,color:#fff
|
|
511
|
+
style LLM2 fill:#2E8B57,color:#fff
|
|
512
|
+
style LLM3 fill:#2E8B57,color:#fff
|
|
513
|
+
style Out fill:#8B0000,color:#fff
|
|
514
|
+
style Exit fill:#8B0000,color:#fff
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
#### Agentic Evaluator Optimizer
|
|
518
|
+
|
|
519
|
+
Create AI agents that can generate and optimize solutions through iterative feedback.
|
|
520
|
+
|
|
521
|
+
```mermaid
|
|
522
|
+
flowchart LR
|
|
523
|
+
In[In] --> Generator[LLM Call Generator]
|
|
524
|
+
Generator -->|SOLUTION| Evaluator[LLM Call Evaluator] -->|ACCEPTED| Out[Out]
|
|
525
|
+
Evaluator -->|REJECTED + FEEDBACK| Generator
|
|
526
|
+
|
|
527
|
+
style In fill:#8B0000,color:#fff
|
|
528
|
+
style Generator fill:#2E8B57,color:#fff
|
|
529
|
+
style Evaluator fill:#2E8B57,color:#fff
|
|
530
|
+
style Out fill:#8B0000,color:#fff
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
#### Repetitive Agents
|
|
534
|
+
|
|
535
|
+
Create AI agents that can efficiently handle repetitive tasks through automated loops.
|
|
536
|
+
|
|
537
|
+
```mermaid
|
|
538
|
+
flowchart LR
|
|
539
|
+
In[Input] --> LoopAgent[("Looping Agent")]
|
|
540
|
+
LoopAgent --> Task[Task]
|
|
541
|
+
Task --> |Next iteration| LoopAgent
|
|
542
|
+
Task --> |Done| Out[Output]
|
|
543
|
+
|
|
544
|
+
style In fill:#8B0000,color:#fff
|
|
545
|
+
style LoopAgent fill:#2E8B57,color:#fff,shape:circle
|
|
546
|
+
style Task fill:#2E8B57,color:#fff
|
|
547
|
+
style Out fill:#8B0000,color:#fff
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
## Adding Models
|
|
551
|
+
|
|
552
|
+
<div align="center">
|
|
553
|
+
<a href="https://docs.praison.ai/models">
|
|
554
|
+
<p align="center">
|
|
555
|
+
<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" />
|
|
556
|
+
</p>
|
|
557
|
+
</a>
|
|
558
|
+
</div>
|
|
559
|
+
|
|
560
|
+
## Ollama Integration
|
|
561
|
+
```bash
|
|
562
|
+
export OPENAI_BASE_URL=http://localhost:11434/v1
|
|
563
|
+
```
|
|
564
|
+
|
|
565
|
+
## Groq Integration
|
|
566
|
+
Replace xxxx with Groq API KEY:
|
|
567
|
+
```bash
|
|
568
|
+
export OPENAI_API_KEY=xxxxxxxxxxx
|
|
569
|
+
export OPENAI_BASE_URL=https://api.groq.com/openai/v1
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
## No Code Options
|
|
573
|
+
|
|
574
|
+
## Agents Playbook
|
|
575
|
+
|
|
576
|
+
### Simple Playbook Example
|
|
577
|
+
|
|
578
|
+
Create `agents.yaml` file and add the code below:
|
|
579
|
+
|
|
580
|
+
```yaml
|
|
581
|
+
framework: praisonai
|
|
582
|
+
topic: Artificial Intelligence
|
|
583
|
+
roles:
|
|
584
|
+
screenwriter:
|
|
585
|
+
backstory: "Skilled in crafting scripts with engaging dialogue about {topic}."
|
|
586
|
+
goal: Create scripts from concepts.
|
|
587
|
+
role: Screenwriter
|
|
588
|
+
tasks:
|
|
589
|
+
scriptwriting_task:
|
|
590
|
+
description: "Develop scripts with compelling characters and dialogue about {topic}."
|
|
591
|
+
expected_output: "Complete script ready for production."
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
*To run the playbook:*
|
|
595
|
+
```bash
|
|
596
|
+
praisonai agents.yaml
|
|
597
|
+
```
|
|
598
|
+
|
|
599
|
+
## Use 100+ Models
|
|
600
|
+
|
|
601
|
+
- https://docs.praison.ai/models/
|
|
602
|
+
<div align="center">
|
|
603
|
+
<a href="https://docs.praison.ai">
|
|
604
|
+
<p align="center">
|
|
605
|
+
<img src="https://img.shields.io/badge/📚_Documentation-Visit_docs.praison.ai-blue?style=for-the-badge&logo=bookstack&logoColor=white" alt="Documentation" />
|
|
606
|
+
</p>
|
|
607
|
+
</a>
|
|
608
|
+
</div>
|
|
609
|
+
|
|
610
|
+
## Development:
|
|
611
|
+
|
|
612
|
+
Below is used for development only.
|
|
613
|
+
|
|
614
|
+
### Using uv
|
|
615
|
+
```bash
|
|
616
|
+
# Install uv if you haven't already
|
|
617
|
+
pip install uv
|
|
618
|
+
|
|
619
|
+
# Install from requirements
|
|
620
|
+
uv pip install -r pyproject.toml
|
|
621
|
+
|
|
622
|
+
# Install with extras
|
|
623
|
+
uv pip install -r pyproject.toml --extra code
|
|
624
|
+
uv pip install -r pyproject.toml --extra "crewai,autogen"
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
## Contributing
|
|
628
|
+
|
|
629
|
+
- Fork on GitHub: Use the "Fork" button on the repository page.
|
|
630
|
+
- Clone your fork: `git clone https://github.com/yourusername/praisonAI.git`
|
|
631
|
+
- Create a branch: `git checkout -b new-feature`
|
|
632
|
+
- Make changes and commit: `git commit -am "Add some feature"`
|
|
633
|
+
- Push to your fork: `git push origin new-feature`
|
|
634
|
+
- Submit a pull request via GitHub's web interface.
|
|
635
|
+
- Await feedback from project maintainers.
|
|
636
|
+
|
|
637
|
+
## Other Features
|
|
638
|
+
|
|
639
|
+
- 🔄 Use CrewAI or AutoGen Framework
|
|
640
|
+
- 💻 Chat with ENTIRE Codebase
|
|
641
|
+
- 🎨 Interactive UIs
|
|
642
|
+
- 📄 YAML-based Configuration
|
|
643
|
+
- 🛠️ Custom Tool Integration
|
|
644
|
+
- 🔍 Internet Search Capability (using Crawl4AI and Tavily)
|
|
645
|
+
- 🖼️ Vision Language Model (VLM) Support
|
|
646
|
+
- 🎙️ Real-time Voice Interaction
|
|
647
|
+
|
|
648
|
+
## Star History
|
|
649
|
+
|
|
650
|
+
[](https://docs.praison.ai)
|
|
651
|
+
|
|
652
|
+
## Video Tutorials
|
|
653
|
+
|
|
654
|
+
| Topic | Video |
|
|
655
|
+
|-------|--------|
|
|
656
|
+
| AI Agents with Self Reflection | [](https://www.youtube.com/watch?v=vLXobEN2Vc8) |
|
|
657
|
+
| Reasoning Data Generating Agent | [](https://www.youtube.com/watch?v=fUT332Y2zA8) |
|
|
658
|
+
| AI Agents with Reasoning | [](https://www.youtube.com/watch?v=KNDVWGN3TpM) |
|
|
659
|
+
| Multimodal AI Agents | [](https://www.youtube.com/watch?v=hjAWmUT1qqY) |
|
|
660
|
+
| AI Agents Workflow | [](https://www.youtube.com/watch?v=yWTH44QPl2A) |
|
|
661
|
+
| Async AI Agents | [](https://www.youtube.com/watch?v=VhVQfgo00LE) |
|
|
662
|
+
| Mini AI Agents | [](https://www.youtube.com/watch?v=OkvYp5aAGSg) |
|
|
663
|
+
| AI Agents with Memory | [](https://www.youtube.com/watch?v=1hVfVxvPnnQ) |
|
|
664
|
+
| Repetitive Agents | [](https://www.youtube.com/watch?v=dAYGxsjDOPg) |
|
|
665
|
+
| Introduction | [](https://www.youtube.com/watch?v=Fn1lQjC0GO0) |
|
|
666
|
+
| Tools Overview | [](https://www.youtube.com/watch?v=XaQRgRpV7jo) |
|
|
667
|
+
| Custom Tools | [](https://www.youtube.com/watch?v=JSU2Rndh06c) |
|
|
668
|
+
| Firecrawl Integration | [](https://www.youtube.com/watch?v=UoqUDcLcOYo) |
|
|
669
|
+
| User Interface | [](https://www.youtube.com/watch?v=tg-ZjNl3OCg) |
|
|
670
|
+
| Crawl4AI Integration | [](https://www.youtube.com/watch?v=KAvuVUh0XU8) |
|
|
671
|
+
| Chat Interface | [](https://www.youtube.com/watch?v=sw3uDqn2h1Y) |
|
|
672
|
+
| Code Interface | [](https://www.youtube.com/watch?v=_5jQayO-MQY) |
|
|
673
|
+
| Mem0 Integration | [](https://www.youtube.com/watch?v=KIGSgRxf1cY) |
|
|
674
|
+
| Training | [](https://www.youtube.com/watch?v=aLawE8kwCrI) |
|
|
675
|
+
| Realtime Voice Interface | [](https://www.youtube.com/watch?v=frRHfevTCSw) |
|
|
676
|
+
| Call Interface | [](https://www.youtube.com/watch?v=m1cwrUG2iAk) |
|
|
677
|
+
| Reasoning Extract Agents | [](https://www.youtube.com/watch?v=2PPamsADjJA) |
|
|
678
|
+
|
|
679
|
+
|