diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml
index 5fca15e37..193cbe82d 100644
--- a/.github/workflows/unittest.yml
+++ b/.github/workflows/unittest.yml
@@ -5,7 +5,7 @@ on: [push, pull_request]
jobs:
quick-test:
runs-on: ubuntu-latest
-
+
steps:
- name: Checkout code
uses: actions/checkout@v4
diff --git a/docker/Dockerfile b/docker/Dockerfile
index df3214495..585d777ce 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -1,6 +1,6 @@
FROM python:3.11-slim
WORKDIR /app
COPY . .
-RUN pip install flask praisonai==2.2.11 gunicorn markdown
+RUN pip install flask praisonai==2.2.12 gunicorn markdown
EXPOSE 8080
CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]
diff --git a/docker/Dockerfile.chat b/docker/Dockerfile.chat
index 3e788c247..320772556 100644
--- a/docker/Dockerfile.chat
+++ b/docker/Dockerfile.chat
@@ -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.11" \
+ "praisonai==2.2.12" \
"praisonai[chat]" \
"embedchain[github,youtube]"
diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev
index ce39828ad..9e61a2c6e 100644
--- a/docker/Dockerfile.dev
+++ b/docker/Dockerfile.dev
@@ -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.11" \
+ "praisonai==2.2.12" \
"praisonai[ui]" \
"praisonai[chat]" \
"praisonai[realtime]" \
diff --git a/docker/Dockerfile.ui b/docker/Dockerfile.ui
index 6f5a6221b..2f284bbfa 100644
--- a/docker/Dockerfile.ui
+++ b/docker/Dockerfile.ui
@@ -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.11" \
+ "praisonai==2.2.12" \
"praisonai[ui]" \
"praisonai[crewai]"
diff --git a/docs/api/praisonai/deploy.html b/docs/api/praisonai/deploy.html
index fe3713983..389cacb63 100644
--- a/docs/api/praisonai/deploy.html
+++ b/docs/api/praisonai/deploy.html
@@ -110,7 +110,7 @@
Raises
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.11 gunicorn markdown\n")
+ file.write("RUN pip install flask praisonai==2.2.12 gunicorn markdown\n")
file.write("EXPOSE 8080\n")
file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
diff --git a/docs/developers/local-development.mdx b/docs/developers/local-development.mdx
index 4100e7c9b..53a1e7323 100644
--- a/docs/developers/local-development.mdx
+++ b/docs/developers/local-development.mdx
@@ -27,7 +27,7 @@ WORKDIR /app
COPY . .
-RUN pip install flask praisonai==2.2.11 watchdog
+RUN pip install flask praisonai==2.2.12 watchdog
EXPOSE 5555
diff --git a/docs/ui/chat.mdx b/docs/ui/chat.mdx
index 35aafe10f..4bc03d2a9 100644
--- a/docs/ui/chat.mdx
+++ b/docs/ui/chat.mdx
@@ -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.11 watchdog
+ RUN pip install flask praisonai==2.2.12 watchdog
EXPOSE 5555
diff --git a/docs/ui/code.mdx b/docs/ui/code.mdx
index 11dcbbdbe..98099020c 100644
--- a/docs/ui/code.mdx
+++ b/docs/ui/code.mdx
@@ -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.11 watchdog
+ RUN pip install flask praisonai==2.2.12 watchdog
EXPOSE 5555
diff --git a/praisonai/agents_generator.py b/praisonai/agents_generator.py
index d4d73dfc5..d971bca98 100644
--- a/praisonai/agents_generator.py
+++ b/praisonai/agents_generator.py
@@ -438,41 +438,25 @@ def _run_crewai(self, config, topic, tools_dict):
if llm_model:
llm = PraisonAIModel(
model=llm_model.get("model") or os.environ.get("MODEL_NAME") or "openai/gpt-4o",
- api_key_var=None, # Don't rely on env var lookup
base_url=self.config_list[0].get('base_url') if self.config_list else None
).get_model()
- # Override with explicit API key from config_list
- if self.config_list and self.config_list[0].get('api_key'):
- llm.api_key = self.config_list[0]['api_key']
else:
llm = PraisonAIModel(
- api_key_var=None, # Don't rely on env var lookup
base_url=self.config_list[0].get('base_url') if self.config_list else None
).get_model()
- # Override with explicit API key from config_list
- if self.config_list and self.config_list[0].get('api_key'):
- llm.api_key = self.config_list[0]['api_key']
# Configure function calling LLM
function_calling_llm_model = details.get('function_calling_llm')
if function_calling_llm_model:
function_calling_llm = PraisonAIModel(
model=function_calling_llm_model.get("model") or os.environ.get("MODEL_NAME") or "openai/gpt-4o",
- api_key_var=None, # Don't rely on env var lookup
base_url=self.config_list[0].get('base_url') if self.config_list else None
).get_model()
- # Override with explicit API key from config_list
- if self.config_list and self.config_list[0].get('api_key'):
- function_calling_llm.api_key = self.config_list[0]['api_key']
else:
function_calling_llm = PraisonAIModel(
- api_key_var=None, # Don't rely on env var lookup
base_url=self.config_list[0].get('base_url') if self.config_list else None
).get_model()
- # Override with explicit API key from config_list
- if self.config_list and self.config_list[0].get('api_key'):
- function_calling_llm.api_key = self.config_list[0]['api_key']
-
+
# Create CrewAI agent
agent = Agent(
role=role_filled,
diff --git a/praisonai/deploy.py b/praisonai/deploy.py
index 0912de03e..c90de92d7 100644
--- a/praisonai/deploy.py
+++ b/praisonai/deploy.py
@@ -56,7 +56,7 @@ def create_dockerfile(self):
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.11 gunicorn markdown\n")
+ file.write("RUN pip install flask praisonai==2.2.12 gunicorn markdown\n")
file.write("EXPOSE 8080\n")
file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
diff --git a/pyproject.toml b/pyproject.toml
index 0048d34bb..573141802 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "PraisonAI"
-version = "2.2.11"
+version = "2.2.12"
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.11"
+version = "2.2.12"
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 = ""
diff --git a/uv.lock b/uv.lock
index 8a8ead350..df891e85d 100644
--- a/uv.lock
+++ b/uv.lock
@@ -3614,7 +3614,7 @@ wheels = [
[[package]]
name = "praisonai"
-version = "2.2.11"
+version = "2.2.12"
source = { editable = "." }
dependencies = [
{ name = "instructor" },