PraisonAI 2.0.56__cp312-cp312-manylinux_2_39_x86_64.whl → 2.0.57__cp312-cp312-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/deploy.py +1 -1
- praisonai-2.0.57.dist-info/METADATA +658 -0
- {praisonai-2.0.56.dist-info → praisonai-2.0.57.dist-info}/RECORD +6 -6
- praisonai-2.0.56.dist-info/METADATA +0 -673
- {praisonai-2.0.56.dist-info → praisonai-2.0.57.dist-info}/LICENSE +0 -0
- {praisonai-2.0.56.dist-info → praisonai-2.0.57.dist-info}/WHEEL +0 -0
- {praisonai-2.0.56.dist-info → praisonai-2.0.57.dist-info}/entry_points.txt +0 -0
praisonai/deploy.py
CHANGED
|
@@ -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.
|
|
59
|
+
file.write("RUN pip install flask praisonai==2.0.57 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
|
|
|
@@ -0,0 +1,658 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: PraisonAI
|
|
3
|
+
Version: 2.0.57
|
|
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.50)
|
|
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 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.chat("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
|
+
## AI Agents Flow
|
|
199
|
+
|
|
200
|
+
```mermaid
|
|
201
|
+
graph LR
|
|
202
|
+
%% Define the main flow
|
|
203
|
+
Start([▶ Start]) --> Agent1
|
|
204
|
+
Agent1 --> Process[⚙ Process]
|
|
205
|
+
Process --> Agent2
|
|
206
|
+
Agent2 --> Output([✓ Output])
|
|
207
|
+
Process -.-> Agent1
|
|
208
|
+
|
|
209
|
+
%% Define subgraphs for agents and their tasks
|
|
210
|
+
subgraph Agent1[ ]
|
|
211
|
+
Task1[📋 Task]
|
|
212
|
+
AgentIcon1[🤖 AI Agent]
|
|
213
|
+
Tools1[🔧 Tools]
|
|
214
|
+
|
|
215
|
+
Task1 --- AgentIcon1
|
|
216
|
+
AgentIcon1 --- Tools1
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
subgraph Agent2[ ]
|
|
220
|
+
Task2[📋 Task]
|
|
221
|
+
AgentIcon2[🤖 AI Agent]
|
|
222
|
+
Tools2[🔧 Tools]
|
|
223
|
+
|
|
224
|
+
Task2 --- AgentIcon2
|
|
225
|
+
AgentIcon2 --- Tools2
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
classDef input fill:#8B0000,stroke:#7C90A0,color:#fff
|
|
229
|
+
classDef process fill:#189AB4,stroke:#7C90A0,color:#fff
|
|
230
|
+
classDef tools fill:#2E8B57,stroke:#7C90A0,color:#fff
|
|
231
|
+
classDef transparent fill:none,stroke:none
|
|
232
|
+
|
|
233
|
+
class Start,Output,Task1,Task2 input
|
|
234
|
+
class Process,AgentIcon1,AgentIcon2 process
|
|
235
|
+
class Tools1,Tools2 tools
|
|
236
|
+
class Agent1,Agent2 transparent
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## AI Agents with Tools
|
|
240
|
+
|
|
241
|
+
Create AI agents that can use tools to interact with external systems and perform actions.
|
|
242
|
+
|
|
243
|
+
```mermaid
|
|
244
|
+
flowchart TB
|
|
245
|
+
subgraph Tools
|
|
246
|
+
direction TB
|
|
247
|
+
T3[Internet Search]
|
|
248
|
+
T1[Code Execution]
|
|
249
|
+
T2[Formatting]
|
|
250
|
+
end
|
|
251
|
+
|
|
252
|
+
Input[Input] ---> Agents
|
|
253
|
+
subgraph Agents
|
|
254
|
+
direction LR
|
|
255
|
+
A1[Agent 1]
|
|
256
|
+
A2[Agent 2]
|
|
257
|
+
A3[Agent 3]
|
|
258
|
+
end
|
|
259
|
+
Agents ---> Output[Output]
|
|
260
|
+
|
|
261
|
+
T3 --> A1
|
|
262
|
+
T1 --> A2
|
|
263
|
+
T2 --> A3
|
|
264
|
+
|
|
265
|
+
style Tools fill:#189AB4,color:#fff
|
|
266
|
+
style Agents fill:#8B0000,color:#fff
|
|
267
|
+
style Input fill:#8B0000,color:#fff
|
|
268
|
+
style Output fill:#8B0000,color:#fff
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
## AI Agents with Memory
|
|
272
|
+
|
|
273
|
+
Create AI agents with memory capabilities for maintaining context and information across tasks.
|
|
274
|
+
|
|
275
|
+
```mermaid
|
|
276
|
+
flowchart TB
|
|
277
|
+
subgraph Memory
|
|
278
|
+
direction TB
|
|
279
|
+
STM[Short Term]
|
|
280
|
+
LTM[Long Term]
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
subgraph Store
|
|
284
|
+
direction TB
|
|
285
|
+
DB[(Vector DB)]
|
|
286
|
+
end
|
|
287
|
+
|
|
288
|
+
Input[Input] ---> Agents
|
|
289
|
+
subgraph Agents
|
|
290
|
+
direction LR
|
|
291
|
+
A1[Agent 1]
|
|
292
|
+
A2[Agent 2]
|
|
293
|
+
A3[Agent 3]
|
|
294
|
+
end
|
|
295
|
+
Agents ---> Output[Output]
|
|
296
|
+
|
|
297
|
+
Memory <--> Store
|
|
298
|
+
Store <--> A1
|
|
299
|
+
Store <--> A2
|
|
300
|
+
Store <--> A3
|
|
301
|
+
|
|
302
|
+
style Memory fill:#189AB4,color:#fff
|
|
303
|
+
style Store fill:#2E8B57,color:#fff
|
|
304
|
+
style Agents fill:#8B0000,color:#fff
|
|
305
|
+
style Input fill:#8B0000,color:#fff
|
|
306
|
+
style Output fill:#8B0000,color:#fff
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
## AI Agents with Different Processes
|
|
310
|
+
|
|
311
|
+
### Sequential Process
|
|
312
|
+
|
|
313
|
+
The simplest form of task execution where tasks are performed one after another.
|
|
314
|
+
|
|
315
|
+
```mermaid
|
|
316
|
+
graph LR
|
|
317
|
+
Input[Input] --> A1
|
|
318
|
+
subgraph Agents
|
|
319
|
+
direction LR
|
|
320
|
+
A1[Agent 1] --> A2[Agent 2] --> A3[Agent 3]
|
|
321
|
+
end
|
|
322
|
+
A3 --> Output[Output]
|
|
323
|
+
|
|
324
|
+
classDef input fill:#8B0000,stroke:#7C90A0,color:#fff
|
|
325
|
+
classDef process fill:#189AB4,stroke:#7C90A0,color:#fff
|
|
326
|
+
classDef transparent fill:none,stroke:none
|
|
327
|
+
|
|
328
|
+
class Input,Output input
|
|
329
|
+
class A1,A2,A3 process
|
|
330
|
+
class Agents transparent
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Hierarchical Process
|
|
334
|
+
|
|
335
|
+
Uses a manager agent to coordinate task execution and agent assignments.
|
|
336
|
+
|
|
337
|
+
```mermaid
|
|
338
|
+
graph TB
|
|
339
|
+
Input[Input] --> Manager
|
|
340
|
+
|
|
341
|
+
subgraph Agents
|
|
342
|
+
Manager[Manager Agent]
|
|
343
|
+
|
|
344
|
+
subgraph Workers
|
|
345
|
+
direction LR
|
|
346
|
+
W1[Worker 1]
|
|
347
|
+
W2[Worker 2]
|
|
348
|
+
W3[Worker 3]
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
Manager --> W1
|
|
352
|
+
Manager --> W2
|
|
353
|
+
Manager --> W3
|
|
354
|
+
end
|
|
355
|
+
|
|
356
|
+
W1 --> Manager
|
|
357
|
+
W2 --> Manager
|
|
358
|
+
W3 --> Manager
|
|
359
|
+
Manager --> Output[Output]
|
|
360
|
+
|
|
361
|
+
classDef input fill:#8B0000,stroke:#7C90A0,color:#fff
|
|
362
|
+
classDef process fill:#189AB4,stroke:#7C90A0,color:#fff
|
|
363
|
+
classDef transparent fill:none,stroke:none
|
|
364
|
+
|
|
365
|
+
class Input,Output input
|
|
366
|
+
class Manager,W1,W2,W3 process
|
|
367
|
+
class Agents,Workers transparent
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
### Workflow Process
|
|
371
|
+
|
|
372
|
+
Advanced process type supporting complex task relationships and conditional execution.
|
|
373
|
+
|
|
374
|
+
```mermaid
|
|
375
|
+
graph LR
|
|
376
|
+
Input[Input] --> Start
|
|
377
|
+
|
|
378
|
+
subgraph Workflow
|
|
379
|
+
direction LR
|
|
380
|
+
Start[Start] --> C1{Condition}
|
|
381
|
+
C1 --> |Yes| A1[Agent 1]
|
|
382
|
+
C1 --> |No| A2[Agent 2]
|
|
383
|
+
A1 --> Join
|
|
384
|
+
A2 --> Join
|
|
385
|
+
Join --> A3[Agent 3]
|
|
386
|
+
end
|
|
387
|
+
|
|
388
|
+
A3 --> Output[Output]
|
|
389
|
+
|
|
390
|
+
classDef input fill:#8B0000,stroke:#7C90A0,color:#fff
|
|
391
|
+
classDef process fill:#189AB4,stroke:#7C90A0,color:#fff
|
|
392
|
+
classDef decision fill:#2E8B57,stroke:#7C90A0,color:#fff
|
|
393
|
+
classDef transparent fill:none,stroke:none
|
|
394
|
+
|
|
395
|
+
class Input,Output input
|
|
396
|
+
class Start,A1,A2,A3,Join process
|
|
397
|
+
class C1 decision
|
|
398
|
+
class Workflow transparent
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
#### Agentic Routing Workflow
|
|
402
|
+
|
|
403
|
+
Create AI agents that can dynamically route tasks to specialized LLM instances.
|
|
404
|
+
|
|
405
|
+
```mermaid
|
|
406
|
+
flowchart LR
|
|
407
|
+
In[In] --> Router[LLM Call Router]
|
|
408
|
+
Router --> LLM1[LLM Call 1]
|
|
409
|
+
Router --> LLM2[LLM Call 2]
|
|
410
|
+
Router --> LLM3[LLM Call 3]
|
|
411
|
+
LLM1 --> Out[Out]
|
|
412
|
+
LLM2 --> Out
|
|
413
|
+
LLM3 --> Out
|
|
414
|
+
|
|
415
|
+
style In fill:#8B0000,color:#fff
|
|
416
|
+
style Router fill:#2E8B57,color:#fff
|
|
417
|
+
style LLM1 fill:#2E8B57,color:#fff
|
|
418
|
+
style LLM2 fill:#2E8B57,color:#fff
|
|
419
|
+
style LLM3 fill:#2E8B57,color:#fff
|
|
420
|
+
style Out fill:#8B0000,color:#fff
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
#### Agentic Orchestrator Worker
|
|
424
|
+
|
|
425
|
+
Create AI agents that orchestrate and distribute tasks among specialized workers.
|
|
426
|
+
|
|
427
|
+
```mermaid
|
|
428
|
+
flowchart LR
|
|
429
|
+
In[In] --> Router[LLM Call Router]
|
|
430
|
+
Router --> LLM1[LLM Call 1]
|
|
431
|
+
Router --> LLM2[LLM Call 2]
|
|
432
|
+
Router --> LLM3[LLM Call 3]
|
|
433
|
+
LLM1 --> Synthesizer[Synthesizer]
|
|
434
|
+
LLM2 --> Synthesizer
|
|
435
|
+
LLM3 --> Synthesizer
|
|
436
|
+
Synthesizer --> Out[Out]
|
|
437
|
+
|
|
438
|
+
style In fill:#8B0000,color:#fff
|
|
439
|
+
style Router fill:#2E8B57,color:#fff
|
|
440
|
+
style LLM1 fill:#2E8B57,color:#fff
|
|
441
|
+
style LLM2 fill:#2E8B57,color:#fff
|
|
442
|
+
style LLM3 fill:#2E8B57,color:#fff
|
|
443
|
+
style Synthesizer fill:#2E8B57,color:#fff
|
|
444
|
+
style Out fill:#8B0000,color:#fff
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
#### Agentic Autonomous Workflow
|
|
448
|
+
|
|
449
|
+
Create AI agents that can autonomously monitor, act, and adapt based on environment feedback.
|
|
450
|
+
|
|
451
|
+
```mermaid
|
|
452
|
+
flowchart LR
|
|
453
|
+
Human[Human] <--> LLM[LLM Call]
|
|
454
|
+
LLM -->|ACTION| Environment[Environment]
|
|
455
|
+
Environment -->|FEEDBACK| LLM
|
|
456
|
+
LLM --> Stop[Stop]
|
|
457
|
+
|
|
458
|
+
style Human fill:#8B0000,color:#fff
|
|
459
|
+
style LLM fill:#2E8B57,color:#fff
|
|
460
|
+
style Environment fill:#8B0000,color:#fff
|
|
461
|
+
style Stop fill:#333,color:#fff
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
#### Agentic Parallelization
|
|
465
|
+
|
|
466
|
+
Create AI agents that can execute tasks in parallel for improved performance.
|
|
467
|
+
|
|
468
|
+
```mermaid
|
|
469
|
+
flowchart LR
|
|
470
|
+
In[In] --> LLM2[LLM Call 2]
|
|
471
|
+
In --> LLM1[LLM Call 1]
|
|
472
|
+
In --> LLM3[LLM Call 3]
|
|
473
|
+
LLM1 --> Aggregator[Aggregator]
|
|
474
|
+
LLM2 --> Aggregator
|
|
475
|
+
LLM3 --> Aggregator
|
|
476
|
+
Aggregator --> Out[Out]
|
|
477
|
+
|
|
478
|
+
style In fill:#8B0000,color:#fff
|
|
479
|
+
style LLM1 fill:#2E8B57,color:#fff
|
|
480
|
+
style LLM2 fill:#2E8B57,color:#fff
|
|
481
|
+
style LLM3 fill:#2E8B57,color:#fff
|
|
482
|
+
style Aggregator fill:#fff,color:#000
|
|
483
|
+
style Out fill:#8B0000,color:#fff
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
#### Agentic Prompt Chaining
|
|
487
|
+
|
|
488
|
+
Create AI agents with sequential prompt chaining for complex workflows.
|
|
489
|
+
|
|
490
|
+
```mermaid
|
|
491
|
+
flowchart LR
|
|
492
|
+
In[In] --> LLM1[LLM Call 1] --> Gate{Gate}
|
|
493
|
+
Gate -->|Pass| LLM2[LLM Call 2] -->|Output 2| LLM3[LLM Call 3] --> Out[Out]
|
|
494
|
+
Gate -->|Fail| Exit[Exit]
|
|
495
|
+
|
|
496
|
+
style In fill:#8B0000,color:#fff
|
|
497
|
+
style LLM1 fill:#2E8B57,color:#fff
|
|
498
|
+
style LLM2 fill:#2E8B57,color:#fff
|
|
499
|
+
style LLM3 fill:#2E8B57,color:#fff
|
|
500
|
+
style Out fill:#8B0000,color:#fff
|
|
501
|
+
style Exit fill:#8B0000,color:#fff
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
#### Agentic Evaluator Optimizer
|
|
505
|
+
|
|
506
|
+
Create AI agents that can generate and optimize solutions through iterative feedback.
|
|
507
|
+
|
|
508
|
+
```mermaid
|
|
509
|
+
flowchart LR
|
|
510
|
+
In[In] --> Generator[LLM Call Generator]
|
|
511
|
+
Generator -->|SOLUTION| Evaluator[LLM Call Evaluator] -->|ACCEPTED| Out[Out]
|
|
512
|
+
Evaluator -->|REJECTED + FEEDBACK| Generator
|
|
513
|
+
|
|
514
|
+
style In fill:#8B0000,color:#fff
|
|
515
|
+
style Generator fill:#2E8B57,color:#fff
|
|
516
|
+
style Evaluator fill:#2E8B57,color:#fff
|
|
517
|
+
style Out fill:#8B0000,color:#fff
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
#### Repetitive Agents
|
|
521
|
+
|
|
522
|
+
Create AI agents that can efficiently handle repetitive tasks through automated loops.
|
|
523
|
+
|
|
524
|
+
```mermaid
|
|
525
|
+
flowchart LR
|
|
526
|
+
In[Input] --> LoopAgent[("Looping Agent")]
|
|
527
|
+
LoopAgent --> Task[Task]
|
|
528
|
+
Task --> |Next iteration| LoopAgent
|
|
529
|
+
Task --> |Done| Out[Output]
|
|
530
|
+
|
|
531
|
+
style In fill:#8B0000,color:#fff
|
|
532
|
+
style LoopAgent fill:#2E8B57,color:#fff,shape:circle
|
|
533
|
+
style Task fill:#2E8B57,color:#fff
|
|
534
|
+
style Out fill:#8B0000,color:#fff
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
## Adding Models
|
|
538
|
+
|
|
539
|
+
<div align="center">
|
|
540
|
+
<a href="https://docs.praison.ai/models">
|
|
541
|
+
<p align="center">
|
|
542
|
+
<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" />
|
|
543
|
+
</p>
|
|
544
|
+
</a>
|
|
545
|
+
</div>
|
|
546
|
+
|
|
547
|
+
## Ollama Integration
|
|
548
|
+
```bash
|
|
549
|
+
export OPENAI_BASE_URL=http://localhost:11434/v1
|
|
550
|
+
```
|
|
551
|
+
|
|
552
|
+
## Groq Integration
|
|
553
|
+
Replace xxxx with Groq API KEY:
|
|
554
|
+
```bash
|
|
555
|
+
export OPENAI_API_KEY=xxxxxxxxxxx
|
|
556
|
+
export OPENAI_BASE_URL=https://api.groq.com/openai/v1
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
## No Code Options
|
|
560
|
+
|
|
561
|
+
## Agents Playbook
|
|
562
|
+
|
|
563
|
+
### Simple Playbook Example
|
|
564
|
+
|
|
565
|
+
```yaml
|
|
566
|
+
framework: praisonai
|
|
567
|
+
topic: Artificial Intelligence
|
|
568
|
+
roles:
|
|
569
|
+
screenwriter:
|
|
570
|
+
backstory: "Skilled in crafting scripts with engaging dialogue about {topic}."
|
|
571
|
+
goal: Create scripts from concepts.
|
|
572
|
+
role: Screenwriter
|
|
573
|
+
tasks:
|
|
574
|
+
scriptwriting_task:
|
|
575
|
+
description: "Develop scripts with compelling characters and dialogue about {topic}."
|
|
576
|
+
expected_output: "Complete script ready for production."
|
|
577
|
+
```
|
|
578
|
+
|
|
579
|
+
*To run the playbook:*
|
|
580
|
+
```bash
|
|
581
|
+
praisonai agents.yaml
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
## Use 100+ Models
|
|
585
|
+
|
|
586
|
+
- https://docs.praison.ai/models/
|
|
587
|
+
<div align="center">
|
|
588
|
+
<a href="https://docs.praison.ai">
|
|
589
|
+
<p align="center">
|
|
590
|
+
<img src="https://img.shields.io/badge/📚_Documentation-Visit_docs.praison.ai-blue?style=for-the-badge&logo=bookstack&logoColor=white" alt="Documentation" />
|
|
591
|
+
</p>
|
|
592
|
+
</a>
|
|
593
|
+
</div>
|
|
594
|
+
|
|
595
|
+
## Development:
|
|
596
|
+
|
|
597
|
+
Below is used for development only.
|
|
598
|
+
|
|
599
|
+
### Using uv
|
|
600
|
+
```bash
|
|
601
|
+
# Install uv if you haven't already
|
|
602
|
+
pip install uv
|
|
603
|
+
|
|
604
|
+
# Install from requirements
|
|
605
|
+
uv pip install -r pyproject.toml
|
|
606
|
+
|
|
607
|
+
# Install with extras
|
|
608
|
+
uv pip install -r pyproject.toml --extra code
|
|
609
|
+
uv pip install -r pyproject.toml --extra "crewai,autogen"
|
|
610
|
+
```
|
|
611
|
+
|
|
612
|
+
## Contributing
|
|
613
|
+
|
|
614
|
+
- Fork on GitHub: Use the "Fork" button on the repository page.
|
|
615
|
+
- Clone your fork: `git clone https://github.com/yourusername/praisonAI.git`
|
|
616
|
+
- Create a branch: `git checkout -b new-feature`
|
|
617
|
+
- Make changes and commit: `git commit -am "Add some feature"`
|
|
618
|
+
- Push to your fork: `git push origin new-feature`
|
|
619
|
+
- Submit a pull request via GitHub's web interface.
|
|
620
|
+
- Await feedback from project maintainers.
|
|
621
|
+
|
|
622
|
+
## Other Features
|
|
623
|
+
|
|
624
|
+
- 🔄 Use CrewAI or AutoGen Framework
|
|
625
|
+
- 💻 Chat with ENTIRE Codebase
|
|
626
|
+
- 🎨 Interactive UIs
|
|
627
|
+
- 📄 YAML-based Configuration
|
|
628
|
+
- 🛠️ Custom Tool Integration
|
|
629
|
+
- 🔍 Internet Search Capability (using Crawl4AI and Tavily)
|
|
630
|
+
- 🖼️ Vision Language Model (VLM) Support
|
|
631
|
+
- 🎙️ Real-time Voice Interaction
|
|
632
|
+
|
|
633
|
+
## Star History
|
|
634
|
+
|
|
635
|
+
[](https://docs.praison.ai)
|
|
636
|
+
|
|
637
|
+
## License
|
|
638
|
+
|
|
639
|
+
Praison AI is an open-sourced software licensed under the **[MIT license](https://opensource.org/licenses/MIT)**.
|
|
640
|
+
|
|
641
|
+
## Video Tutorials
|
|
642
|
+
|
|
643
|
+
| Topic | Video |
|
|
644
|
+
|-------|--------|
|
|
645
|
+
| Introduction | [](https://www.youtube.com/watch?v=Fn1lQjC0GO0) |
|
|
646
|
+
| Tools Overview | [](https://www.youtube.com/watch?v=XaQRgRpV7jo) |
|
|
647
|
+
| Custom Tools | [](https://www.youtube.com/watch?v=JSU2Rndh06c) |
|
|
648
|
+
| Firecrawl Integration | [](https://www.youtube.com/watch?v=UoqUDcLcOYo) |
|
|
649
|
+
| User Interface | [](https://www.youtube.com/watch?v=tg-ZjNl3OCg) |
|
|
650
|
+
| Crawl4AI Integration | [](https://www.youtube.com/watch?v=KAvuVUh0XU8) |
|
|
651
|
+
| Chat Interface | [](https://www.youtube.com/watch?v=sw3uDqn2h1Y) |
|
|
652
|
+
| Code Interface | [](https://www.youtube.com/watch?v=_5jQayO-MQY) |
|
|
653
|
+
| Mem0 Integration | [](https://www.youtube.com/watch?v=KIGSgRxf1cY) |
|
|
654
|
+
| Training | [](https://www.youtube.com/watch?v=aLawE8kwCrI) |
|
|
655
|
+
| Realtime Voice Interface | [](https://www.youtube.com/watch?v=frRHfevTCSw) |
|
|
656
|
+
| Call Interface | [](https://www.youtube.com/watch?v=m1cwrUG2iAk) |
|
|
657
|
+
|
|
658
|
+
|
|
@@ -5,7 +5,7 @@ praisonai/api/call.py,sha256=krOfTCZM_bdbsNuWQ1PijzCHECkDvEi9jIvvZaDQUUU,11035
|
|
|
5
5
|
praisonai/auto.py,sha256=uLDm8CU3L_3amZsd55yzf9RdBF1uW-BGSx7nl9ctNZ4,8680
|
|
6
6
|
praisonai/chainlit_ui.py,sha256=bNR7s509lp0I9JlJNvwCZRUZosC64qdvlFCt8NmFamQ,12216
|
|
7
7
|
praisonai/cli.py,sha256=U5ZPbJGcpZfZPNwwE99NoGOerH55ZmcbePMUU6lUoqE,21566
|
|
8
|
-
praisonai/deploy.py,sha256=
|
|
8
|
+
praisonai/deploy.py,sha256=u5MbYQ7d4BnUWlxEZT7iEQOG5635vQCjf0MX1BbNeNM,6028
|
|
9
9
|
praisonai/inbuilt_tools/__init__.py,sha256=fai4ZJIKz7-iOnGZv5jJX0wmT77PKa4x2jqyaJddKFA,569
|
|
10
10
|
praisonai/inbuilt_tools/autogen_tools.py,sha256=kJdEv61BTYvdHOaURNEpBcWq8Rs-oC03loNFTIjT-ak,4687
|
|
11
11
|
praisonai/inc/__init__.py,sha256=sPDlYBBwdk0VlWzaaM_lG0_LD07lS2HRGvPdxXJFiYg,62
|
|
@@ -82,8 +82,8 @@ praisonai/ui/realtimeclient/tools.py,sha256=IJOYwVOBW5Ocn5_iV9pFkmSKR3WU3YpX3kwF
|
|
|
82
82
|
praisonai/ui/sql_alchemy.py,sha256=oekZOXlRGMJ2SuC-lmgMMIzAmvbMg2DWeGTSpOzbVBM,29674
|
|
83
83
|
praisonai/ui/tools.md,sha256=Ad3YH_ZCLMWlz3mDXllQnQ_S5l55LWqLdcZSh-EXrHI,3956
|
|
84
84
|
praisonai/version.py,sha256=ugyuFliEqtAwQmH4sTlc16YXKYbFWDmfyk87fErB8-8,21
|
|
85
|
-
praisonai-2.0.
|
|
86
|
-
praisonai-2.0.
|
|
87
|
-
praisonai-2.0.
|
|
88
|
-
praisonai-2.0.
|
|
89
|
-
praisonai-2.0.
|
|
85
|
+
praisonai-2.0.57.dist-info/LICENSE,sha256=kqvFysVlnFxYOu0HxCe2HlmZmJtdmNGOxWRRkT9TsWc,1035
|
|
86
|
+
praisonai-2.0.57.dist-info/METADATA,sha256=MSDr3bC5C_E9RS12zz9dDQ4La8Kj_ZGoNlw776h5DSg,20300
|
|
87
|
+
praisonai-2.0.57.dist-info/WHEEL,sha256=XNotAM5R5VZo294qRITsGPsggFO0DBsFtBddMnokcjo,110
|
|
88
|
+
praisonai-2.0.57.dist-info/entry_points.txt,sha256=I_xc6a6MNTTfLxYmAxe0rgey0G-_hbY07oFW-ZDnkw4,135
|
|
89
|
+
praisonai-2.0.57.dist-info/RECORD,,
|
|
@@ -1,673 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.3
|
|
2
|
-
Name: PraisonAI
|
|
3
|
-
Version: 2.0.56
|
|
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.49)
|
|
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 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.
|
|
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
|
-
- 🔄 Use CrewAI or AutoGen Framework
|
|
132
|
-
- 💯 100+ LLM Support
|
|
133
|
-
- 💻 Chat with ENTIRE Codebase
|
|
134
|
-
- 🎨 Interactive UIs
|
|
135
|
-
- 📄 YAML-based Configuration
|
|
136
|
-
- 🛠️ Custom Tool Integration
|
|
137
|
-
- 🔍 Internet Search Capability (using Crawl4AI and Tavily)
|
|
138
|
-
- 🖼️ Vision Language Model (VLM) Support
|
|
139
|
-
- 🎙️ Real-time Voice Interaction
|
|
140
|
-
|
|
141
|
-
## Using No Code
|
|
142
|
-
|
|
143
|
-
### Auto Mode:
|
|
144
|
-
```bash
|
|
145
|
-
pip install praisonai
|
|
146
|
-
export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
|
|
147
|
-
praisonai --auto create a movie script about Robots in Mars
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
### Initialise Mode:
|
|
151
|
-
```bash
|
|
152
|
-
pip install praisonai
|
|
153
|
-
export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
|
|
154
|
-
praisonai --init create a movie script about Robots in Mars
|
|
155
|
-
praisonai
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
## Using Coding
|
|
159
|
-
|
|
160
|
-
Light weight package dedicated for coding:
|
|
161
|
-
```bash
|
|
162
|
-
pip install praisonaiagents
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
```bash
|
|
166
|
-
export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
Create app.py file and add the code below:
|
|
170
|
-
```python
|
|
171
|
-
from praisonaiagents import Agent, Task, PraisonAIAgents
|
|
172
|
-
|
|
173
|
-
# 1. Create agents
|
|
174
|
-
researcher = Agent(
|
|
175
|
-
name="Researcher",
|
|
176
|
-
role="Senior Research Analyst",
|
|
177
|
-
goal="Uncover cutting-edge developments in AI and data science",
|
|
178
|
-
backstory="""You are an expert at a technology research group,
|
|
179
|
-
skilled in identifying trends and analyzing complex data.""",
|
|
180
|
-
verbose=True,
|
|
181
|
-
llm="gpt-4o",
|
|
182
|
-
markdown=True
|
|
183
|
-
)
|
|
184
|
-
writer = Agent(
|
|
185
|
-
name="Writer",
|
|
186
|
-
role="Tech Content Strategist",
|
|
187
|
-
goal="Craft compelling content on tech advancements",
|
|
188
|
-
backstory="""You are a content strategist known for
|
|
189
|
-
making complex tech topics interesting and easy to understand.""",
|
|
190
|
-
llm="gpt-4o",
|
|
191
|
-
markdown=True
|
|
192
|
-
)
|
|
193
|
-
|
|
194
|
-
# 2. Define Tasks
|
|
195
|
-
task1 = Task(
|
|
196
|
-
name="research_task",
|
|
197
|
-
description="""Analyze 2024's AI advancements.
|
|
198
|
-
Find major trends, new technologies, and their effects.""",
|
|
199
|
-
expected_output="""A detailed report on 2024 AI advancements""",
|
|
200
|
-
agent=researcher
|
|
201
|
-
)
|
|
202
|
-
|
|
203
|
-
task2 = Task(
|
|
204
|
-
name="writing_task",
|
|
205
|
-
description="""Create a blog post about major AI advancements using the insights you have.
|
|
206
|
-
Make it interesting, clear, and suited for tech enthusiasts.
|
|
207
|
-
It should be at least 4 paragraphs long.""",
|
|
208
|
-
expected_output="A blog post of at least 4 paragraphs",
|
|
209
|
-
agent=writer,
|
|
210
|
-
)
|
|
211
|
-
|
|
212
|
-
agents = PraisonAIAgents(
|
|
213
|
-
agents=[researcher, writer],
|
|
214
|
-
tasks=[task1, task2],
|
|
215
|
-
verbose=False,
|
|
216
|
-
process="hierarchical",
|
|
217
|
-
manager_llm="gpt-4o"
|
|
218
|
-
)
|
|
219
|
-
|
|
220
|
-
result = agents.start()
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
Run:
|
|
224
|
-
```bash
|
|
225
|
-
python app.py
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
## Ollama Integration
|
|
229
|
-
```bash
|
|
230
|
-
export OPENAI_BASE_URL=http://localhost:11434/v1
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
## Groq Integration
|
|
234
|
-
Replace xxxx with Groq API KEY:
|
|
235
|
-
```bash
|
|
236
|
-
export OPENAI_API_KEY=xxxxxxxxxxx
|
|
237
|
-
export OPENAI_BASE_URL=https://api.groq.com/openai/v1
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
## Logging
|
|
241
|
-
```bash
|
|
242
|
-
export LOGLEVEL=info
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
Advanced logging:
|
|
246
|
-
```bash
|
|
247
|
-
export LOGLEVEL=debug
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
<div align="center">
|
|
251
|
-
<picture>
|
|
252
|
-
<source media="(prefers-color-scheme: dark)" srcset="docs/images/architecture-dark.png" />
|
|
253
|
-
<source media="(prefers-color-scheme: light)" srcset="docs/images/architecture-light.png" />
|
|
254
|
-
<img alt="PraisonAI Architecture" src="docs/images/architecture-light.png" />
|
|
255
|
-
</picture>
|
|
256
|
-
</div>
|
|
257
|
-
|
|
258
|
-
## Different User Interfaces:
|
|
259
|
-
|
|
260
|
-
| Interface | Description | URL |
|
|
261
|
-
|---|---|---|
|
|
262
|
-
| **UI** | Multi Agents such as CrewAI or AutoGen | [https://docs.praison.ai/ui/ui](https://docs.praison.ai/ui/ui) |
|
|
263
|
-
| **Chat** | Chat with 100+ LLMs, single AI Agent | [https://docs.praison.ai/ui/chat](https://docs.praison.ai/ui/chat) |
|
|
264
|
-
| **Code** | Chat with entire Codebase, single AI Agent | [https://docs.praison.ai/ui/code](https://docs.praison.ai/ui/code) |
|
|
265
|
-
| **Realtime** | Real-time voice interaction with AI | [https://docs.praison.ai/ui/realtime](https://docs.praison.ai/ui/realtime) |
|
|
266
|
-
|
|
267
|
-
| Other Features | Description | Docs |
|
|
268
|
-
|---|---|---|
|
|
269
|
-
| **Train** | Fine-tune LLMs using your custom data | [https://docs.praison.ai/train](https://docs.praison.ai/train) |
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
## Google Colab Multi Agents
|
|
273
|
-
|
|
274
|
-
| | Cookbook | Open in Colab |
|
|
275
|
-
| ------------- | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
276
|
-
| Basic | PraisonAI | <a target="_blank" href="https://colab.research.google.com/github/MervinPraison/PraisonAI/blob/main/cookbooks/praisonai-googlecolab.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab" /></a> |
|
|
277
|
-
| Include Tools | PraisonAI Tools | <a target="_blank" href="https://colab.research.google.com/github/MervinPraison/PraisonAI/blob/main/cookbooks/praisonai-tools-googlecolab.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab" /></a> |
|
|
278
|
-
|
|
279
|
-
## Installation Options
|
|
280
|
-
|
|
281
|
-
### Using pip
|
|
282
|
-
```bash
|
|
283
|
-
pip install praisonai
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
### Framework-specific Installation
|
|
287
|
-
```bash
|
|
288
|
-
# Install with CrewAI support
|
|
289
|
-
pip install "praisonai[crewai]"
|
|
290
|
-
|
|
291
|
-
# Install with AutoGen support
|
|
292
|
-
pip install "praisonai[autogen]"
|
|
293
|
-
|
|
294
|
-
# Install with both frameworks
|
|
295
|
-
pip install "praisonai[crewai,autogen]"
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
### UI and Additional Features
|
|
299
|
-
```bash
|
|
300
|
-
# Install UI support
|
|
301
|
-
pip install "praisonai[ui]"
|
|
302
|
-
|
|
303
|
-
# Install Chat interface
|
|
304
|
-
pip install "praisonai[chat]"
|
|
305
|
-
|
|
306
|
-
# Install Code interface
|
|
307
|
-
pip install "praisonai[code]"
|
|
308
|
-
|
|
309
|
-
# Install Realtime voice interaction
|
|
310
|
-
pip install "praisonai[realtime]"
|
|
311
|
-
|
|
312
|
-
# Install Call feature
|
|
313
|
-
pip install "praisonai[call]"
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
## Quick Start
|
|
317
|
-
|
|
318
|
-
```bash
|
|
319
|
-
# Set your OpenAI API key
|
|
320
|
-
export OPENAI_API_KEY="Enter your API key"
|
|
321
|
-
|
|
322
|
-
# Initialize with CrewAI (default)
|
|
323
|
-
praisonai --init "create a movie script about dog in moon"
|
|
324
|
-
|
|
325
|
-
# Or initialize with AutoGen
|
|
326
|
-
praisonai --framework autogen --init "create a movie script about dog in moon"
|
|
327
|
-
|
|
328
|
-
# Run the agents
|
|
329
|
-
praisonai
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
## Full Automatic Mode
|
|
333
|
-
|
|
334
|
-
```bash
|
|
335
|
-
# With CrewAI (default)
|
|
336
|
-
praisonai --auto "create a movie script about Dog in Moon"
|
|
337
|
-
|
|
338
|
-
# With AutoGen
|
|
339
|
-
praisonai --framework autogen --auto "create a movie script about Dog in Moon"
|
|
340
|
-
```
|
|
341
|
-
|
|
342
|
-
## Framework-specific Features
|
|
343
|
-
|
|
344
|
-
### CrewAI
|
|
345
|
-
When installing with `pip install "praisonai[crewai]"`, you get:
|
|
346
|
-
- CrewAI framework support
|
|
347
|
-
- PraisonAI tools integration
|
|
348
|
-
- Task delegation capabilities
|
|
349
|
-
- Sequential and parallel task execution
|
|
350
|
-
|
|
351
|
-
### AutoGen
|
|
352
|
-
When installing with `pip install "praisonai[autogen]"`, you get:
|
|
353
|
-
- AutoGen framework support
|
|
354
|
-
- PraisonAI tools integration
|
|
355
|
-
- Multi-agent conversation capabilities
|
|
356
|
-
- Code execution environment
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
## TL;DR Multi Agents
|
|
361
|
-
|
|
362
|
-
```bash
|
|
363
|
-
pip install praisonai
|
|
364
|
-
export OPENAI_API_KEY="Enter your API key"
|
|
365
|
-
praisonai --init create a movie script about dog in moon
|
|
366
|
-
praisonai
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
## Table of Contents
|
|
370
|
-
|
|
371
|
-
- [Installation](#installation)
|
|
372
|
-
- [Initialise](#initialise)
|
|
373
|
-
- [Run](#run)
|
|
374
|
-
- [Full Automatic Mode](#full-automatic-mode)
|
|
375
|
-
- [User Interface](#user-interface)
|
|
376
|
-
- [Praison AI Chat](#praison-ai-chat)
|
|
377
|
-
- [Create Custom Tools](#create-custom-tools)
|
|
378
|
-
- [Agents Playbook](#agents-playbook)
|
|
379
|
-
- [Include praisonai package in your project](#include-praisonai-package-in-your-project)
|
|
380
|
-
- [Commands to Install Dev Dependencies](#commands-to-install-dependencies)
|
|
381
|
-
- [Other Models](#other-models)
|
|
382
|
-
- [Contributing](#contributing)
|
|
383
|
-
- [Star History](#star-history)
|
|
384
|
-
|
|
385
|
-
## Installation Multi Agents
|
|
386
|
-
|
|
387
|
-
```bash
|
|
388
|
-
pip install praisonai
|
|
389
|
-
```
|
|
390
|
-
|
|
391
|
-
## Initialise
|
|
392
|
-
|
|
393
|
-
```bash
|
|
394
|
-
export OPENAI_API_KEY="Enter your API key"
|
|
395
|
-
```
|
|
396
|
-
|
|
397
|
-
Generate your OPENAI API KEY from here: https://platform.openai.com/api-keys
|
|
398
|
-
|
|
399
|
-
Note: You can use other providers such as Ollama, Mistral ... etc. Details are provided at the bottom.
|
|
400
|
-
|
|
401
|
-
```bash
|
|
402
|
-
praisonai --init create a movie script about dog in moon
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
This will automatically create agents.yaml file in the current directory.
|
|
406
|
-
|
|
407
|
-
### To initialise with a specific agent framework (Optional):
|
|
408
|
-
|
|
409
|
-
```bash
|
|
410
|
-
praisonai --framework autogen --init create movie script about cat in mars
|
|
411
|
-
```
|
|
412
|
-
|
|
413
|
-
## Run
|
|
414
|
-
|
|
415
|
-
```bash
|
|
416
|
-
praisonai
|
|
417
|
-
```
|
|
418
|
-
|
|
419
|
-
or
|
|
420
|
-
|
|
421
|
-
```bash
|
|
422
|
-
python -m praisonai
|
|
423
|
-
```
|
|
424
|
-
|
|
425
|
-
### Specify the agent framework (Optional):
|
|
426
|
-
|
|
427
|
-
```bash
|
|
428
|
-
praisonai --framework autogen
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
### Full Automatic Mode
|
|
432
|
-
|
|
433
|
-
```bash
|
|
434
|
-
praisonai --auto create a movie script about Dog in Moon
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
## User Interface
|
|
438
|
-
|
|
439
|
-
## PraisonAI User Interfaces:
|
|
440
|
-
|
|
441
|
-
| Interface | Description | URL |
|
|
442
|
-
| --------- | ------------------------------------------ | --------------------------------------------------------------------- |
|
|
443
|
-
| **UI** | Multi Agents such as CrewAI or AutoGen | [https://docs.praisonai.com/ui/ui](https://docs.praison.ai/ui/ui) |
|
|
444
|
-
| **Chat** | Chat with 100+ LLMs, single AI Agent | [https://docs.praisonai.com/ui/chat](https://docs.praison.ai/ui/chat) |
|
|
445
|
-
| **Code** | Chat with entire Codebase, single AI Agent | [https://docs.praisonai.com/ui/code](https://docs.praison.ai/ui/code) |
|
|
446
|
-
|
|
447
|
-
```bash
|
|
448
|
-
pip install -U "praisonai[ui]"
|
|
449
|
-
export OPENAI_API_KEY="Enter your API key"
|
|
450
|
-
chainlit create-secret
|
|
451
|
-
export CHAINLIT_AUTH_SECRET=xxxxxxxx
|
|
452
|
-
praisonai ui
|
|
453
|
-
```
|
|
454
|
-
|
|
455
|
-
or
|
|
456
|
-
|
|
457
|
-
```
|
|
458
|
-
python -m praisonai ui
|
|
459
|
-
```
|
|
460
|
-
|
|
461
|
-
## Praison AI Chat
|
|
462
|
-
|
|
463
|
-
- https://docs.praison.ai/chat/
|
|
464
|
-
|
|
465
|
-
```bash
|
|
466
|
-
pip install "praisonai[chat]"
|
|
467
|
-
export OPENAI_API_KEY="Enter your API key"
|
|
468
|
-
praisonai chat
|
|
469
|
-
```
|
|
470
|
-
|
|
471
|
-
### Internet Search
|
|
472
|
-
|
|
473
|
-
Praison AI Chat and Praison AI Code now includes internet search capabilities using Crawl4AI and Tavily, allowing you to retrieve up-to-date information during your conversations.
|
|
474
|
-
|
|
475
|
-
### Vision Language Model Support
|
|
476
|
-
|
|
477
|
-
You can now upload images and ask questions based on them using Vision Language Models. This feature enables visual understanding and analysis within your chat sessions.
|
|
478
|
-
|
|
479
|
-
## Praison AI Code
|
|
480
|
-
|
|
481
|
-
```bash
|
|
482
|
-
pip install "praisonai[code]"
|
|
483
|
-
export OPENAI_API_KEY="Enter your API key"
|
|
484
|
-
praisonai code
|
|
485
|
-
```
|
|
486
|
-
|
|
487
|
-
### Internet Search
|
|
488
|
-
|
|
489
|
-
Praison AI Code also includes internet search functionality, enabling you to find relevant code snippets and programming information online.
|
|
490
|
-
|
|
491
|
-
## Create Custom Tools
|
|
492
|
-
|
|
493
|
-
- https://docs.praison.ai/tools/custom/
|
|
494
|
-
|
|
495
|
-
## Agents Playbook
|
|
496
|
-
|
|
497
|
-
### Simple Playbook Example
|
|
498
|
-
|
|
499
|
-
```yaml
|
|
500
|
-
framework: crewai
|
|
501
|
-
topic: Artificial Intelligence
|
|
502
|
-
roles:
|
|
503
|
-
screenwriter:
|
|
504
|
-
backstory: "Skilled in crafting scripts with engaging dialogue about {topic}."
|
|
505
|
-
goal: Create scripts from concepts.
|
|
506
|
-
role: Screenwriter
|
|
507
|
-
tasks:
|
|
508
|
-
scriptwriting_task:
|
|
509
|
-
description: "Develop scripts with compelling characters and dialogue about {topic}."
|
|
510
|
-
expected_output: "Complete script ready for production."
|
|
511
|
-
```
|
|
512
|
-
|
|
513
|
-
## Use 100+ Models
|
|
514
|
-
|
|
515
|
-
- https://docs.praison.ai/models/
|
|
516
|
-
|
|
517
|
-
## Include praisonai package in your project
|
|
518
|
-
|
|
519
|
-
- https://docs.praison.ai/developers/wrapper
|
|
520
|
-
- https://docs.praison.ai/developers/wrapper-tools/
|
|
521
|
-
|
|
522
|
-
## Option 1: Using RAW YAML
|
|
523
|
-
|
|
524
|
-
```python
|
|
525
|
-
from praisonai import PraisonAI
|
|
526
|
-
|
|
527
|
-
# Example agent_yaml content
|
|
528
|
-
agent_yaml = """
|
|
529
|
-
framework: "crewai"
|
|
530
|
-
topic: "Space Exploration"
|
|
531
|
-
|
|
532
|
-
roles:
|
|
533
|
-
astronomer:
|
|
534
|
-
role: "Space Researcher"
|
|
535
|
-
goal: "Discover new insights about {topic}"
|
|
536
|
-
backstory: "You are a curious and dedicated astronomer with a passion for unraveling the mysteries of the cosmos."
|
|
537
|
-
tasks:
|
|
538
|
-
investigate_exoplanets:
|
|
539
|
-
description: "Research and compile information about exoplanets discovered in the last decade."
|
|
540
|
-
expected_output: "A summarized report on exoplanet discoveries, including their size, potential habitability, and distance from Earth."
|
|
541
|
-
"""
|
|
542
|
-
|
|
543
|
-
# Create a PraisonAI instance with the agent_yaml content
|
|
544
|
-
praisonai = PraisonAI(agent_yaml=agent_yaml)
|
|
545
|
-
|
|
546
|
-
# Run PraisonAI
|
|
547
|
-
result = praisonai.run()
|
|
548
|
-
|
|
549
|
-
# Print the result
|
|
550
|
-
print(result)
|
|
551
|
-
```
|
|
552
|
-
|
|
553
|
-
## Option 2: Using separate agents.yaml file
|
|
554
|
-
|
|
555
|
-
Note: Please create agents.yaml file before hand.
|
|
556
|
-
|
|
557
|
-
```python
|
|
558
|
-
from praisonai import PraisonAI
|
|
559
|
-
|
|
560
|
-
def basic(): # Basic Mode
|
|
561
|
-
praisonai = PraisonAI(agent_file="agents.yaml")
|
|
562
|
-
praisonai.run()
|
|
563
|
-
|
|
564
|
-
if __name__ == "__main__":
|
|
565
|
-
basic()
|
|
566
|
-
```
|
|
567
|
-
|
|
568
|
-
## Commands to Install Dependencies:
|
|
569
|
-
|
|
570
|
-
### Using uv
|
|
571
|
-
```bash
|
|
572
|
-
# Install uv if you haven't already
|
|
573
|
-
pip install uv
|
|
574
|
-
|
|
575
|
-
# Install from requirements
|
|
576
|
-
uv pip install -r pyproject.toml
|
|
577
|
-
|
|
578
|
-
# Install with extras
|
|
579
|
-
uv pip install -r pyproject.toml --extra code
|
|
580
|
-
uv pip install -r pyproject.toml --extra "crewai,autogen"
|
|
581
|
-
```
|
|
582
|
-
|
|
583
|
-
## Contributing
|
|
584
|
-
|
|
585
|
-
- Fork on GitHub: Use the "Fork" button on the repository page.
|
|
586
|
-
- Clone your fork: `git clone https://github.com/yourusername/praisonAI.git`
|
|
587
|
-
- Create a branch: `git checkout -b new-feature`
|
|
588
|
-
- Make changes and commit: `git commit -am "Add some feature"`
|
|
589
|
-
- Push to your fork: `git push origin new-feature`
|
|
590
|
-
- Submit a pull request via GitHub's web interface.
|
|
591
|
-
- Await feedback from project maintainers.
|
|
592
|
-
|
|
593
|
-
## Star History
|
|
594
|
-
|
|
595
|
-
[](https://docs.praison.ai)
|
|
596
|
-
|
|
597
|
-
## License
|
|
598
|
-
|
|
599
|
-
Praison AI is an open-sourced software licensed under the **[MIT license](https://opensource.org/licenses/MIT)**.
|
|
600
|
-
|
|
601
|
-
## Video Tutorials
|
|
602
|
-
|
|
603
|
-
| Topic | Video |
|
|
604
|
-
|-------|--------|
|
|
605
|
-
| Introduction | [](https://www.youtube.com/watch?v=Fn1lQjC0GO0) |
|
|
606
|
-
| Tools Overview | [](https://www.youtube.com/watch?v=XaQRgRpV7jo) |
|
|
607
|
-
| Custom Tools | [](https://www.youtube.com/watch?v=JSU2Rndh06c) |
|
|
608
|
-
| Firecrawl Integration | [](https://www.youtube.com/watch?v=UoqUDcLcOYo) |
|
|
609
|
-
| User Interface | [](https://www.youtube.com/watch?v=tg-ZjNl3OCg) |
|
|
610
|
-
| Crawl4AI Integration | [](https://www.youtube.com/watch?v=KAvuVUh0XU8) |
|
|
611
|
-
| Chat Interface | [](https://www.youtube.com/watch?v=sw3uDqn2h1Y) |
|
|
612
|
-
| Code Interface | [](https://www.youtube.com/watch?v=_5jQayO-MQY) |
|
|
613
|
-
| Mem0 Integration | [](https://www.youtube.com/watch?v=KIGSgRxf1cY) |
|
|
614
|
-
| Training | [](https://www.youtube.com/watch?v=aLawE8kwCrI) |
|
|
615
|
-
| Realtime Voice Interface | [](https://www.youtube.com/watch?v=frRHfevTCSw) |
|
|
616
|
-
| Call Interface | [](https://www.youtube.com/watch?v=m1cwrUG2iAk) |
|
|
617
|
-
|
|
618
|
-
## License
|
|
619
|
-
|
|
620
|
-
Praison AI is an open-sourced software licensed under the **[MIT license](https://opensource.org/licenses/MIT)**.
|
|
621
|
-
|
|
622
|
-
## Local Docker Development with Live Reload
|
|
623
|
-
|
|
624
|
-
To facilitate local development with live reload, you can use Docker. Follow the steps below:
|
|
625
|
-
|
|
626
|
-
1. **Create a `Dockerfile.dev`**:
|
|
627
|
-
```dockerfile
|
|
628
|
-
FROM python:3.11-slim
|
|
629
|
-
|
|
630
|
-
WORKDIR /app
|
|
631
|
-
|
|
632
|
-
COPY . .
|
|
633
|
-
|
|
634
|
-
RUN pip install flask praisonai==2.0.18 watchdog
|
|
635
|
-
|
|
636
|
-
EXPOSE 5555
|
|
637
|
-
|
|
638
|
-
ENV FLASK_ENV=development
|
|
639
|
-
|
|
640
|
-
CMD ["flask", "run", "--host=0.0.0.0"]
|
|
641
|
-
```
|
|
642
|
-
|
|
643
|
-
2. **Create a `docker-compose.yml`**:
|
|
644
|
-
```yaml
|
|
645
|
-
version: '3.8'
|
|
646
|
-
|
|
647
|
-
services:
|
|
648
|
-
app:
|
|
649
|
-
build:
|
|
650
|
-
context: .
|
|
651
|
-
dockerfile: Dockerfile.dev
|
|
652
|
-
volumes:
|
|
653
|
-
- .:/app
|
|
654
|
-
ports:
|
|
655
|
-
- "5555:5555"
|
|
656
|
-
environment:
|
|
657
|
-
FLASK_ENV: development
|
|
658
|
-
command: flask run --host=0.0.0.0
|
|
659
|
-
|
|
660
|
-
watch:
|
|
661
|
-
image: alpine:latest
|
|
662
|
-
volumes:
|
|
663
|
-
- .:/app
|
|
664
|
-
command: sh -c "apk add --no-cache inotify-tools && while inotifywait -r -e modify,create,delete /app; do kill -HUP 1; done"
|
|
665
|
-
```
|
|
666
|
-
|
|
667
|
-
3. **Run Docker Compose**:
|
|
668
|
-
```bash
|
|
669
|
-
docker-compose up
|
|
670
|
-
```
|
|
671
|
-
|
|
672
|
-
This setup will allow you to develop locally with live reload, making it easier to test and iterate on your code.
|
|
673
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|