v0.5.9, handle better dotenv

Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
This commit is contained in:
Víctor Mayoral Vilches 2025-11-30 13:01:27 +01:00
parent a08dbbacab
commit 96aff0d7d9
5 changed files with 15 additions and 4 deletions

View File

@ -1,6 +1,6 @@
[project]
name = "cai-framework"
version = "0.5.8"
version = "0.5.9"
description = "Cybersecurity AI Framework"
readme = "README.md"
requires-python = ">=3.9"

View File

@ -52,6 +52,11 @@ from typing import Dict
from dotenv import load_dotenv # pylint: disable=import-error # noqa: E501
# Load .env file from current directory before importing agents
# This ensures that .env files in the user's working directory are loaded
# even when CAI is installed from PyPI
load_dotenv(override=True) # override=True ensures env vars from .env take precedence
# Local application imports
from cai.agents.flag_discriminator import flag_discriminator, transfer_to_flag_discriminator
from cai.sdk.agents import Agent

View File

@ -116,7 +116,9 @@ import os
from dotenv import load_dotenv
load_dotenv()
# Load .env file from current working directory with override
# This ensures env vars from .env take precedence over system env vars
load_dotenv(override=True)
# Configure Python warnings BEFORE any other imports
import warnings

View File

@ -3521,7 +3521,9 @@ class OpenAIChatCompletionsModel(Model):
def _get_client(self) -> AsyncOpenAI:
if self._client is None:
self._client = AsyncOpenAI()
# Determine API key
api_key = os.getenv("ALIAS_API_KEY", os.getenv("OPENAI_API_KEY", "sk-alias-1234567890"))
self._client = AsyncOpenAI(api_key=api_key)
return self._client
# Helper function to detect and format function calls from various models

View File

@ -356,7 +356,9 @@ class OpenAIResponsesModel(Model):
def _get_client(self) -> AsyncOpenAI:
if self._client is None:
self._client = AsyncOpenAI()
# Determine API key
api_key = os.getenv("ALIAS_API_KEY", os.getenv("OPENAI_API_KEY", "sk-alias-1234567890"))
self._client = AsyncOpenAI(api_key=api_key)
return self._client