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 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.56 gunicorn markdown\n")
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
+ [![Star History Chart](https://api.star-history.com/svg?repos=MervinPraison/PraisonAI&type=Date)](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 | [![Introduction](https://img.youtube.com/vi/Fn1lQjC0GO0/0.jpg)](https://www.youtube.com/watch?v=Fn1lQjC0GO0) |
646
+ | Tools Overview | [![Tools Overview](https://img.youtube.com/vi/XaQRgRpV7jo/0.jpg)](https://www.youtube.com/watch?v=XaQRgRpV7jo) |
647
+ | Custom Tools | [![Custom Tools](https://img.youtube.com/vi/JSU2Rndh06c/0.jpg)](https://www.youtube.com/watch?v=JSU2Rndh06c) |
648
+ | Firecrawl Integration | [![Firecrawl](https://img.youtube.com/vi/UoqUDcLcOYo/0.jpg)](https://www.youtube.com/watch?v=UoqUDcLcOYo) |
649
+ | User Interface | [![UI](https://img.youtube.com/vi/tg-ZjNl3OCg/0.jpg)](https://www.youtube.com/watch?v=tg-ZjNl3OCg) |
650
+ | Crawl4AI Integration | [![Crawl4AI](https://img.youtube.com/vi/KAvuVUh0XU8/0.jpg)](https://www.youtube.com/watch?v=KAvuVUh0XU8) |
651
+ | Chat Interface | [![Chat](https://img.youtube.com/vi/sw3uDqn2h1Y/0.jpg)](https://www.youtube.com/watch?v=sw3uDqn2h1Y) |
652
+ | Code Interface | [![Code](https://img.youtube.com/vi/_5jQayO-MQY/0.jpg)](https://www.youtube.com/watch?v=_5jQayO-MQY) |
653
+ | Mem0 Integration | [![Mem0](https://img.youtube.com/vi/KIGSgRxf1cY/0.jpg)](https://www.youtube.com/watch?v=KIGSgRxf1cY) |
654
+ | Training | [![Training](https://img.youtube.com/vi/aLawE8kwCrI/0.jpg)](https://www.youtube.com/watch?v=aLawE8kwCrI) |
655
+ | Realtime Voice Interface | [![Realtime](https://img.youtube.com/vi/frRHfevTCSw/0.jpg)](https://www.youtube.com/watch?v=frRHfevTCSw) |
656
+ | Call Interface | [![Call](https://img.youtube.com/vi/m1cwrUG2iAk/0.jpg)](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=2sojim2vev76r76ZSW3Zt8yyZGJ16pcLNva-4ZLzDp4,6028
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.56.dist-info/LICENSE,sha256=kqvFysVlnFxYOu0HxCe2HlmZmJtdmNGOxWRRkT9TsWc,1035
86
- praisonai-2.0.56.dist-info/METADATA,sha256=yh4wmHbrYcSmHyd8IvTIO33X53by8ciihK3W4c6FPiw,21772
87
- praisonai-2.0.56.dist-info/WHEEL,sha256=XNotAM5R5VZo294qRITsGPsggFO0DBsFtBddMnokcjo,110
88
- praisonai-2.0.56.dist-info/entry_points.txt,sha256=I_xc6a6MNTTfLxYmAxe0rgey0G-_hbY07oFW-ZDnkw4,135
89
- praisonai-2.0.56.dist-info/RECORD,,
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
- [![Star History Chart](https://api.star-history.com/svg?repos=MervinPraison/PraisonAI&type=Date)](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 | [![Introduction](https://img.youtube.com/vi/Fn1lQjC0GO0/0.jpg)](https://www.youtube.com/watch?v=Fn1lQjC0GO0) |
606
- | Tools Overview | [![Tools Overview](https://img.youtube.com/vi/XaQRgRpV7jo/0.jpg)](https://www.youtube.com/watch?v=XaQRgRpV7jo) |
607
- | Custom Tools | [![Custom Tools](https://img.youtube.com/vi/JSU2Rndh06c/0.jpg)](https://www.youtube.com/watch?v=JSU2Rndh06c) |
608
- | Firecrawl Integration | [![Firecrawl](https://img.youtube.com/vi/UoqUDcLcOYo/0.jpg)](https://www.youtube.com/watch?v=UoqUDcLcOYo) |
609
- | User Interface | [![UI](https://img.youtube.com/vi/tg-ZjNl3OCg/0.jpg)](https://www.youtube.com/watch?v=tg-ZjNl3OCg) |
610
- | Crawl4AI Integration | [![Crawl4AI](https://img.youtube.com/vi/KAvuVUh0XU8/0.jpg)](https://www.youtube.com/watch?v=KAvuVUh0XU8) |
611
- | Chat Interface | [![Chat](https://img.youtube.com/vi/sw3uDqn2h1Y/0.jpg)](https://www.youtube.com/watch?v=sw3uDqn2h1Y) |
612
- | Code Interface | [![Code](https://img.youtube.com/vi/_5jQayO-MQY/0.jpg)](https://www.youtube.com/watch?v=_5jQayO-MQY) |
613
- | Mem0 Integration | [![Mem0](https://img.youtube.com/vi/KIGSgRxf1cY/0.jpg)](https://www.youtube.com/watch?v=KIGSgRxf1cY) |
614
- | Training | [![Training](https://img.youtube.com/vi/aLawE8kwCrI/0.jpg)](https://www.youtube.com/watch?v=aLawE8kwCrI) |
615
- | Realtime Voice Interface | [![Realtime](https://img.youtube.com/vi/frRHfevTCSw/0.jpg)](https://www.youtube.com/watch?v=frRHfevTCSw) |
616
- | Call Interface | [![Call](https://img.youtube.com/vi/m1cwrUG2iAk/0.jpg)](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
-