Compare commits

...
6 Commits
Author SHA1 Message Date
Mervin Praison cf812353b5 Merge pull request #215 from MervinPraison/develop
Adding Depends 10
2024-12-24 13:27:34 +00:00
MervinPraison 0eb9eb535b Adding Depends 10 2024-12-24 13:27:11 +00:00
Mervin Praison 280a2a541f Merge pull request #214 from MervinPraison/develop
Adding Depends 9
2024-12-24 13:09:51 +00:00
MervinPraison 344ef7801a Adding Depends 9 2024-12-24 13:09:34 +00:00
Mervin Praison 5846bbdf9a Merge pull request #213 from MervinPraison/develop
Adding Depends 8
2024-12-24 06:12:24 +00:00
MervinPraison 22a46e8dc0 Adding Depends 8 2024-12-24 06:12:02 +00:00
8 changed files with 138 additions and 52 deletions

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
FROM python:3.11-slim
WORKDIR /app
COPY . .
RUN pip install flask praisonai==2.0.7 gunicorn markdown
RUN pip install flask praisonai==2.0.13 gunicorn markdown
EXPOSE 8080
CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]
+14 -12
View File
@@ -20,7 +20,20 @@
</div>
Praison AI, leveraging both AutoGen and CrewAI or any other agent framework, represents a low-code, centralised framework designed to simplify the creation and orchestration of multi-agent systems for various LLM applications, emphasizing ease of use, customization, and human-agent interaction.
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.
## Key Features
- 🤖 Automated AI Agents Creation
- 🔄 Use CrewAI or AutoGen Framework
- 💯 100+ LLM Support
- 💻 Chat with ENTIRE Codebase
- 🖥️ Interactive UIs
- 📄 YAML-based Configuration
- 🛠️ Custom Tool Integration
- 🔍 Internet Search Capability (using Crawl4AI and Tavily)
- 👁️ Vision Language Model (VLM) Support
- 🎙️ Real-time Voice Interaction
<div align="center">
<picture>
@@ -130,18 +143,7 @@ When installing with `pip install "praisonai[autogen]"`, you get:
- Multi-agent conversation capabilities
- Code execution environment
## Key Features
- 🤖 Automated AI Agents Creation
- 🔄 Use CrewAI or AutoGen Framework
- 💯 100+ LLM Support
- 💻 Chat with ENTIRE Codebase
- 🖥️ Interactive UIs
- 📄 YAML-based Configuration
- 🛠️ Custom Tool Integration
- 🔍 Internet Search Capability (using Crawl4AI and Tavily)
- 👁️ Vision Language Model (VLM) Support
- 🎙️ Real-time Voice Interaction
## TL;DR Multi Agents
+1 -1
View File
@@ -110,7 +110,7 @@ Loads environment variables from .env file or system and sets them.</p>
file.write(&#34;FROM python:3.11-slim\n&#34;)
file.write(&#34;WORKDIR /app\n&#34;)
file.write(&#34;COPY . .\n&#34;)
file.write(&#34;RUN pip install flask praisonai==2.0.7 gunicorn markdown\n&#34;)
file.write(&#34;RUN pip install flask praisonai==2.0.13 gunicorn markdown\n&#34;)
file.write(&#34;EXPOSE 8080\n&#34;)
file.write(&#39;CMD [&#34;gunicorn&#34;, &#34;-b&#34;, &#34;0.0.0.0:8080&#34;, &#34;api:app&#34;]\n&#39;)
Generated
+5 -5
View File
@@ -8821,12 +8821,12 @@ type = ["pytest-mypy"]
agentops = ["agentops"]
anthropic = ["langchain-anthropic"]
api = ["flask"]
autogen = ["crewai", "instructor", "praisonai-tools", "pyautogen"]
call = ["fastapi", "flaml", "instructor", "openai", "pyngrok", "python-dotenv", "rich", "twilio", "uvicorn", "websockets"]
chat = ["aiosqlite", "chainlit", "crawl4ai", "greenlet", "instructor", "litellm", "playwright", "pydantic", "rich", "sqlalchemy", "tavily-python"]
autogen = ["crewai", "praisonai-tools", "pyautogen"]
call = ["fastapi", "flaml", "openai", "pyngrok", "rich", "twilio", "uvicorn", "websockets"]
chat = ["aiosqlite", "chainlit", "crawl4ai", "greenlet", "litellm", "playwright", "pydantic", "rich", "sqlalchemy", "tavily-python"]
code = ["aiosqlite", "chainlit", "crawl4ai", "greenlet", "litellm", "playwright", "pydantic", "sqlalchemy", "tavily-python"]
cohere = ["langchain-cohere"]
crewai = ["crewai", "instructor", "praisonai-tools"]
crewai = ["crewai", "praisonai-tools"]
google = ["langchain-google-genai"]
gradio = ["gradio"]
openai = ["langchain-openai"]
@@ -8837,4 +8837,4 @@ ui = ["chainlit"]
[metadata]
lock-version = "2.0"
python-versions = ">=3.10,<3.13"
content-hash = "e1864537982b4b9e6b8f063bcb355652f81b3b23ae73945cb3c82f360940bfab"
content-hash = "ba49a70e5bc1bcb5b48a9a65961ca539b9bea2628aae87316ea4a149893cae5f"
+1 -1
View File
@@ -3,7 +3,7 @@ class Praisonai < Formula
desc "AI tools for various AI applications"
homepage "https://github.com/MervinPraison/PraisonAI"
url "https://github.com/MervinPraison/PraisonAI/archive/refs/tags/2.0.7.tar.gz"
url "https://github.com/MervinPraison/PraisonAI/archive/refs/tags/2.0.13.tar.gz"
sha256 "1828fb9227d10f991522c3f24f061943a254b667196b40b1a3e4a54a8d30ce32" # Replace with actual SHA256 checksum
license "MIT"
+1 -1
View File
@@ -56,7 +56,7 @@ class CloudDeployer:
file.write("FROM python:3.11-slim\n")
file.write("WORKDIR /app\n")
file.write("COPY . .\n")
file.write("RUN pip install flask praisonai==2.0.7 gunicorn markdown\n")
file.write("RUN pip install flask praisonai==2.0.13 gunicorn markdown\n")
file.write("EXPOSE 8080\n")
file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
+74 -10
View File
@@ -1,6 +1,6 @@
[project]
name = "PraisonAI"
version = "2.0.7"
version = "2.0.13"
description = "PraisonAI application combines AutoGen and CrewAI or similar frameworks into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customization, and efficient human-agent collaboration."
readme = "README.md"
license = ""
@@ -8,10 +8,77 @@ requires-python = ">=3.10,<3.13"
authors = [
{ name = "Mervin Praison" }
]
dependencies = [
"rich>=13.7",
"markdown>=3.5",
"pyparsing>=3.0.0",
"praisonaiagents>=0.0.4",
"python-dotenv>=0.19.0",
"instructor>=1.3.3",
"PyYAML>=6.0",
]
[project.optional-dependencies]
ui = ["chainlit==2.0rc1"]
gradio = ["gradio>=4.26.0"]
api = ["flask>=3.0.0"]
agentops = ["agentops>=0.3.12"]
google = ["langchain-google-genai>=1.0.4"]
openai = ["langchain-openai>=0.1.7"]
anthropic = ["langchain-anthropic>=0.1.13"]
cohere = ["langchain-cohere>=0.1.4"]
chat = [
"chainlit==2.0rc1",
"litellm>=1.41.8",
"aiosqlite>=0.20.0",
"greenlet>=3.0.3",
"tavily-python==0.5.0",
"crawl4ai==0.3.4",
"sqlalchemy>=2.0.36",
"playwright>=1.47.0",
"rich",
"pydantic<=2.10.1"
]
code = [
"chainlit==2.0rc1",
"litellm>=1.41.8",
"aiosqlite>=0.20.0",
"greenlet>=3.0.3",
"tavily-python==0.5.0",
"crawl4ai==0.3.4",
"sqlalchemy>=2.0.36",
"playwright>=1.47.0",
"pydantic<=2.10.1"
]
realtime = [
"chainlit==2.0rc1",
"litellm>=1.41.8",
"aiosqlite>=0.20.0",
"greenlet>=3.0.3",
"tavily-python==0.5.0",
"crawl4ai==0.3.4",
"websockets>=12.0",
"plotly>=5.24.0",
"yfinance>=0.2.44",
"duckduckgo_search>=6.3.0",
"sqlalchemy>=2.0.36"
]
call = [
"twilio>=7.0.0",
"fastapi>=0.95.0",
"uvicorn>=0.20.0",
"websockets>=12.0",
"flaml[automl]>=2.3.1",
"pyngrok>=1.4.0",
"rich",
"openai>=1.54.0",
]
crewai = ["crewai>=0.32.0", "praisonai-tools>=0.0.7"]
autogen = ["pyautogen>=0.2.19", "praisonai-tools>=0.0.7", "crewai"]
[tool.poetry]
name = "PraisonAI"
version = "2.0.7"
version = "2.0.13"
description = "PraisonAI application combines AutoGen and CrewAI or similar frameworks into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customization, and efficient human-agent collaboration."
authors = ["Mervin Praison"]
license = ""
@@ -30,8 +97,8 @@ rich = ">=13.7"
markdown = ">=3.5"
pyparsing = ">=3.0.0"
praisonaiagents = ">=0.0.4"
python-dotenv = ">=1.0.1"
instructor = ">=0.4.8"
python-dotenv = ">=0.19.0"
instructor = ">=1.3.3"
PyYAML = ">=6.0"
pyautogen = {version = ">=0.2.19", optional = true}
crewai = {version = ">=0.32.0", optional = true}
@@ -144,7 +211,6 @@ chat = [
"sqlalchemy",
"playwright",
"rich",
"instructor",
"pydantic"
]
code = [
@@ -176,16 +242,14 @@ call = [
"twilio",
"fastapi",
"uvicorn",
"websockets",
"python-dotenv",
"websockets",
"flaml",
"pyngrok",
"rich",
"openai",
"instructor"
]
crewai = ["crewai", "praisonai-tools", "instructor"]
autogen = ["pyautogen", "praisonai-tools", "instructor", "crewai"]
crewai = ["crewai", "praisonai-tools"]
autogen = ["pyautogen", "praisonai-tools", "crewai"]
[tool.poetry-dynamic-versioning]
enable = true
Generated
+41 -21
View File
@@ -3067,13 +3067,16 @@ wheels = [
[[package]]
name = "praisonai"
version = "2.0.6"
version = "2.0.13"
source = { editable = "." }
dependencies = [
{ name = "instructor" },
{ name = "markdown" },
{ name = "praisonaiagents" },
{ name = "pyparsing" },
{ name = "python-dotenv" },
{ name = "pyyaml" },
{ name = "rich" },
]
[package.optional-dependencies]
@@ -3088,17 +3091,14 @@ api = [
]
autogen = [
{ name = "crewai" },
{ name = "instructor" },
{ name = "praisonai-tools" },
{ name = "pyautogen" },
]
call = [
{ name = "fastapi" },
{ name = "flaml", extra = ["automl"] },
{ name = "instructor" },
{ name = "openai" },
{ name = "pyngrok" },
{ name = "python-dotenv" },
{ name = "rich" },
{ name = "twilio" },
{ name = "uvicorn" },
@@ -3109,7 +3109,6 @@ chat = [
{ name = "chainlit" },
{ name = "crawl4ai" },
{ name = "greenlet" },
{ name = "instructor" },
{ name = "litellm" },
{ name = "playwright" },
{ name = "pydantic" },
@@ -3133,7 +3132,6 @@ cohere = [
]
crewai = [
{ name = "crewai" },
{ name = "instructor" },
{ name = "praisonai-tools" },
]
google = [
@@ -3165,40 +3163,62 @@ ui = [
[package.metadata]
requires-dist = [
{ name = "agentops", marker = "extra == 'agentops'", specifier = ">=0.3.12" },
{ name = "aiosqlite", marker = "extra == 'chat' or extra == 'code' or extra == 'realtime'", specifier = ">=0.20.0" },
{ name = "chainlit", marker = "extra == 'chat' or extra == 'code' or extra == 'realtime' or extra == 'ui'", specifier = "==2.0rc1" },
{ name = "crawl4ai", marker = "extra == 'chat' or extra == 'code' or extra == 'realtime'", specifier = "==0.3.4" },
{ name = "crewai", marker = "extra == 'autogen' or extra == 'crewai'", specifier = ">=0.32.0" },
{ name = "aiosqlite", marker = "extra == 'chat'", specifier = ">=0.20.0" },
{ name = "aiosqlite", marker = "extra == 'code'", specifier = ">=0.20.0" },
{ name = "aiosqlite", marker = "extra == 'realtime'", specifier = ">=0.20.0" },
{ name = "chainlit", marker = "extra == 'chat'", specifier = "==2.0rc1" },
{ name = "chainlit", marker = "extra == 'code'", specifier = "==2.0rc1" },
{ name = "chainlit", marker = "extra == 'realtime'", specifier = "==2.0rc1" },
{ name = "chainlit", marker = "extra == 'ui'", specifier = "==2.0rc1" },
{ name = "crawl4ai", marker = "extra == 'chat'", specifier = "==0.3.4" },
{ name = "crawl4ai", marker = "extra == 'code'", specifier = "==0.3.4" },
{ name = "crawl4ai", marker = "extra == 'realtime'", specifier = "==0.3.4" },
{ name = "crewai", marker = "extra == 'autogen'" },
{ name = "crewai", marker = "extra == 'crewai'", specifier = ">=0.32.0" },
{ name = "duckduckgo-search", marker = "extra == 'realtime'", specifier = ">=6.3.0" },
{ name = "fastapi", marker = "extra == 'call'", specifier = ">=0.95.0" },
{ name = "flaml", extras = ["automl"], marker = "extra == 'call'", specifier = ">=2.3.1" },
{ name = "flask", marker = "extra == 'api'", specifier = ">=3.0.0" },
{ name = "gradio", marker = "extra == 'gradio'", specifier = ">=4.26.0" },
{ name = "greenlet", marker = "extra == 'chat' or extra == 'code' or extra == 'realtime'", specifier = ">=3.0.3" },
{ name = "instructor", marker = "extra == 'autogen' or extra == 'call' or extra == 'chat' or extra == 'crewai'", specifier = ">=0.4.8" },
{ name = "greenlet", marker = "extra == 'chat'", specifier = ">=3.0.3" },
{ name = "greenlet", marker = "extra == 'code'", specifier = ">=3.0.3" },
{ name = "greenlet", marker = "extra == 'realtime'", specifier = ">=3.0.3" },
{ name = "instructor", specifier = ">=1.3.3" },
{ name = "langchain-anthropic", marker = "extra == 'anthropic'", specifier = ">=0.1.13" },
{ name = "langchain-cohere", marker = "extra == 'cohere'", specifier = ">=0.1.4" },
{ name = "langchain-google-genai", marker = "extra == 'google'", specifier = ">=1.0.4" },
{ name = "langchain-openai", marker = "extra == 'openai'", specifier = ">=0.1.7" },
{ name = "litellm", marker = "extra == 'chat' or extra == 'code' or extra == 'realtime'", specifier = ">=1.41.8" },
{ name = "litellm", marker = "extra == 'chat'", specifier = ">=1.41.8" },
{ name = "litellm", marker = "extra == 'code'", specifier = ">=1.41.8" },
{ name = "litellm", marker = "extra == 'realtime'", specifier = ">=1.41.8" },
{ name = "markdown", specifier = ">=3.5" },
{ name = "openai", marker = "extra == 'call'", specifier = ">=1.54.0" },
{ name = "playwright", marker = "extra == 'chat' or extra == 'code'", specifier = ">=1.47.0" },
{ name = "playwright", marker = "extra == 'chat'", specifier = ">=1.47.0" },
{ name = "playwright", marker = "extra == 'code'", specifier = ">=1.47.0" },
{ name = "plotly", marker = "extra == 'realtime'", specifier = ">=5.24.0" },
{ name = "praisonai-tools", marker = "extra == 'autogen' or extra == 'crewai'", specifier = ">=0.0.7" },
{ name = "praisonai-tools", marker = "extra == 'autogen'", specifier = ">=0.0.7" },
{ name = "praisonai-tools", marker = "extra == 'crewai'", specifier = ">=0.0.7" },
{ name = "praisonaiagents", specifier = ">=0.0.4" },
{ name = "pyautogen", marker = "extra == 'autogen'", specifier = ">=0.2.19" },
{ name = "pydantic", marker = "extra == 'chat' or extra == 'code'", specifier = "<=2.10.1" },
{ name = "pydantic", marker = "extra == 'chat'", specifier = "<=2.10.1" },
{ name = "pydantic", marker = "extra == 'code'", specifier = "<=2.10.1" },
{ name = "pyngrok", marker = "extra == 'call'", specifier = ">=1.4.0" },
{ name = "pyparsing", specifier = ">=3.0.0" },
{ name = "python-dotenv", marker = "extra == 'call'", specifier = ">=1.0.1" },
{ name = "python-dotenv", specifier = ">=0.19.0" },
{ name = "pyyaml", specifier = ">=6.0" },
{ name = "rich", marker = "extra == 'call' or extra == 'chat'", specifier = ">=13.7" },
{ name = "sqlalchemy", marker = "extra == 'chat' or extra == 'code' or extra == 'realtime'", specifier = ">=2.0.36" },
{ name = "tavily-python", marker = "extra == 'chat' or extra == 'code' or extra == 'realtime'", specifier = "==0.5.0" },
{ name = "rich", specifier = ">=13.7" },
{ name = "rich", marker = "extra == 'call'" },
{ name = "rich", marker = "extra == 'chat'" },
{ name = "sqlalchemy", marker = "extra == 'chat'", specifier = ">=2.0.36" },
{ name = "sqlalchemy", marker = "extra == 'code'", specifier = ">=2.0.36" },
{ name = "sqlalchemy", marker = "extra == 'realtime'", specifier = ">=2.0.36" },
{ name = "tavily-python", marker = "extra == 'chat'", specifier = "==0.5.0" },
{ name = "tavily-python", marker = "extra == 'code'", specifier = "==0.5.0" },
{ name = "tavily-python", marker = "extra == 'realtime'", specifier = "==0.5.0" },
{ name = "twilio", marker = "extra == 'call'", specifier = ">=7.0.0" },
{ name = "uvicorn", marker = "extra == 'call'", specifier = ">=0.20.0" },
{ name = "websockets", marker = "extra == 'call' or extra == 'realtime'", specifier = ">=12.0" },
{ name = "websockets", marker = "extra == 'call'", specifier = ">=12.0" },
{ name = "websockets", marker = "extra == 'realtime'", specifier = ">=12.0" },
{ name = "yfinance", marker = "extra == 'realtime'", specifier = ">=0.2.44" },
]