mirror of
https://github.com/MervinPraison/PraisonAI.git
synced 2026-11-09 03:39:37 -10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
71fe678d66 | ||
|
|
c8875eec81 |
No files matched your search
+1
-1
@@ -1,6 +1,6 @@
|
||||
FROM python:3.11-slim
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
RUN pip install flask praisonai==2.2.13 gunicorn markdown
|
||||
RUN pip install flask praisonai==2.2.14 gunicorn markdown
|
||||
EXPOSE 8080
|
||||
CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]
|
||||
@@ -13,7 +13,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
RUN pip install --no-cache-dir \
|
||||
praisonaiagents>=0.0.4 \
|
||||
praisonai_tools \
|
||||
"praisonai==2.2.13" \
|
||||
"praisonai==2.2.14" \
|
||||
"praisonai[chat]" \
|
||||
"embedchain[github,youtube]"
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
RUN pip install --no-cache-dir \
|
||||
praisonaiagents>=0.0.4 \
|
||||
praisonai_tools \
|
||||
"praisonai==2.2.13" \
|
||||
"praisonai==2.2.14" \
|
||||
"praisonai[ui]" \
|
||||
"praisonai[chat]" \
|
||||
"praisonai[realtime]" \
|
||||
|
||||
@@ -13,7 +13,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
RUN pip install --no-cache-dir \
|
||||
praisonaiagents>=0.0.4 \
|
||||
praisonai_tools \
|
||||
"praisonai==2.2.13" \
|
||||
"praisonai==2.2.14" \
|
||||
"praisonai[ui]" \
|
||||
"praisonai[crewai]"
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ Loads environment variables from .env file or system and sets them.</p>
|
||||
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.2.13 gunicorn markdown\n")
|
||||
file.write("RUN pip install flask praisonai==2.2.14 gunicorn markdown\n")
|
||||
file.write("EXPOSE 8080\n")
|
||||
file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ WORKDIR /app
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN pip install flask praisonai==2.2.13 watchdog
|
||||
RUN pip install flask praisonai==2.2.14 watchdog
|
||||
|
||||
EXPOSE 5555
|
||||
|
||||
|
||||
+1
-1
@@ -155,7 +155,7 @@ To facilitate local development with live reload, you can use Docker. Follow the
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN pip install flask praisonai==2.2.13 watchdog
|
||||
RUN pip install flask praisonai==2.2.14 watchdog
|
||||
|
||||
EXPOSE 5555
|
||||
|
||||
|
||||
+1
-1
@@ -208,7 +208,7 @@ To facilitate local development with live reload, you can use Docker. Follow the
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN pip install flask praisonai==2.2.13 watchdog
|
||||
RUN pip install flask praisonai==2.2.14 watchdog
|
||||
|
||||
EXPOSE 5555
|
||||
|
||||
|
||||
@@ -120,7 +120,6 @@ class PraisonAI:
|
||||
'model': os.environ.get("OPENAI_MODEL_NAME", "gpt-4o"),
|
||||
'base_url': os.environ.get("OPENAI_API_BASE", "https://api.openai.com/v1"),
|
||||
'api_key': api_key,
|
||||
'openai_api_key': api_key, # AutoGen sometimes expects this field name
|
||||
'api_type': 'openai' # AutoGen expects this field
|
||||
}
|
||||
]
|
||||
|
||||
+1
-1
@@ -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.2.13 gunicorn markdown\n")
|
||||
file.write("RUN pip install flask praisonai==2.2.14 gunicorn markdown\n")
|
||||
file.write("EXPOSE 8080\n")
|
||||
file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
|
||||
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "PraisonAI"
|
||||
version = "2.2.13"
|
||||
version = "2.2.14"
|
||||
description = "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."
|
||||
readme = "README.md"
|
||||
license = ""
|
||||
@@ -89,7 +89,7 @@ autogen = ["pyautogen>=0.2.19", "praisonai-tools>=0.0.15", "crewai"]
|
||||
|
||||
[tool.poetry]
|
||||
name = "PraisonAI"
|
||||
version = "2.2.13"
|
||||
version = "2.2.14"
|
||||
description = "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."
|
||||
authors = ["Mervin Praison"]
|
||||
license = ""
|
||||
|
||||
@@ -1,14 +1,24 @@
|
||||
# tests/test_agents_playbook.py
|
||||
import unittest
|
||||
import subprocess
|
||||
import pytest
|
||||
import os
|
||||
from praisonai import PraisonAI
|
||||
|
||||
class TestPraisonAIFramework(unittest.TestCase):
|
||||
|
||||
@pytest.mark.real
|
||||
def test_main_with_autogen_framework(self):
|
||||
"""Test AutoGen framework integration with real API calls"""
|
||||
# Check if we have a real API key
|
||||
api_key = os.environ.get('OPENAI_API_KEY')
|
||||
if not api_key or api_key == 'test-key' or api_key.startswith('sk-test-'):
|
||||
self.skipTest("Skipping real test - no valid OPENAI_API_KEY provided")
|
||||
|
||||
praisonai = PraisonAI(agent_file='tests/autogen-agents.yaml')
|
||||
try:
|
||||
result = praisonai.run()
|
||||
self.assertIn('### Task Output ###', result)
|
||||
self.assertIn('### Output ###', result)
|
||||
except Exception as e:
|
||||
if ('Invalid API Key' in str(e) or 'AuthenticationError' in str(e) or
|
||||
'InstructorRetryException' in str(e) or '401' in str(e)):
|
||||
@@ -16,7 +26,14 @@ class TestPraisonAIFramework(unittest.TestCase):
|
||||
else:
|
||||
raise
|
||||
|
||||
@pytest.mark.real
|
||||
def test_main_with_custom_framework(self):
|
||||
"""Test CrewAI framework integration with real API calls"""
|
||||
# Check if we have a real API key
|
||||
api_key = os.environ.get('OPENAI_API_KEY')
|
||||
if not api_key or api_key == 'test-key' or api_key.startswith('sk-test-'):
|
||||
self.skipTest("Skipping real test - no valid OPENAI_API_KEY provided")
|
||||
|
||||
praisonai = PraisonAI(agent_file='tests/crewai-agents.yaml')
|
||||
try:
|
||||
result = praisonai.run()
|
||||
@@ -28,7 +45,14 @@ class TestPraisonAIFramework(unittest.TestCase):
|
||||
else:
|
||||
raise
|
||||
|
||||
@pytest.mark.real
|
||||
def test_main_with_internet_search_tool(self):
|
||||
"""Test internet search tool integration with real API calls"""
|
||||
# Check if we have a real API key
|
||||
api_key = os.environ.get('OPENAI_API_KEY')
|
||||
if not api_key or api_key == 'test-key' or api_key.startswith('sk-test-'):
|
||||
self.skipTest("Skipping real test - no valid OPENAI_API_KEY provided")
|
||||
|
||||
praisonai = PraisonAI(agent_file='tests/search-tool-agents.yaml')
|
||||
try:
|
||||
result = praisonai.run()
|
||||
@@ -40,7 +64,14 @@ class TestPraisonAIFramework(unittest.TestCase):
|
||||
else:
|
||||
raise
|
||||
|
||||
@pytest.mark.real
|
||||
def test_main_with_built_in_tool(self):
|
||||
"""Test built-in tool integration with real API calls"""
|
||||
# Check if we have a real API key
|
||||
api_key = os.environ.get('OPENAI_API_KEY')
|
||||
if not api_key or api_key == 'test-key' or api_key.startswith('sk-test-'):
|
||||
self.skipTest("Skipping real test - no valid OPENAI_API_KEY provided")
|
||||
|
||||
praisonai = PraisonAI(agent_file='tests/inbuilt-tool-agents.yaml')
|
||||
try:
|
||||
result = praisonai.run()
|
||||
|
||||
Reference in new issue
Block a user