website_simple / setup.py
Seb7093's picture
removed un wanted setup
047e128
Raw
History Blame Contribute Delete
2.62 kB
import logging
import os
from dotenv import load_dotenv
from langchain_openai.chat_models import AzureChatOpenAI
from azure.identity import AzureCliCredential ,ChainedTokenCredential ,ManagedIdentityCredential
from openai import AzureOpenAI
from azure.core.credentials import AzureKeyCredential
# Load environment variables from .env (so OPENAI_API_KEY in .env is available)
load_dotenv()
credential_chain = ChainedTokenCredential(
ManagedIdentityCredential(),AzureCliCredential()
)
logging.basicConfig(
level=logging.INFO,
format='[%(asctime)s] [%(levelname)s] %(name)s: %(message)s',
)
logger = logging.getLogger("webcrawler-fastapi")
logging.getLogger("LiteLLM").setLevel(logging.WARNING)
logging.getLogger("azure.core.pipeline.policies.http_logging_policy").setLevel(logging.WARNING)
logging.getLogger("httpx").setLevel(logging.WARNING)
logging.getLogger("uvicorn.access").setLevel(logging.WARNING)
def setup_azure_openai_local(logger):
"""Setup Azure OpenAI client for local deployment."""
try:
logger.info("Setting up Azure OpenAI client for local deployment")
openai_endpoint = 'https://dmrid-ai-services-dev-openai-04.openai.azure.com/'
azure_deployment = 'gpt-4.1'
# Prefer OPENAI_API_KEY from .env or env, fall back to legacy OPEN_AI_API
api_key = os.getenv('OPENAI_API_KEY') or os.getenv('OPEN_AI_API')
if api_key:
os.environ["OPENAI_API_KEY"] = api_key
logger.info("OPENAI_API_KEY set from environment/.env variable.")
else:
logger.error(
"Neither OPENAI_API_KEY nor OPEN_AI_API is set.\n"
"Set OPENAI_API_KEY in your shell or in a .env file (e.g. OPENAI_API_KEY=your_key),\n"
"or update the code to use the Azure SDK (azure.openai.OpenAIClient) with Managed Identity."
)
raise RuntimeError(
"OPENAI_API_KEY not set; cannot initialize AzureChatOpenAI without API key."
)
azure_openai_client = AzureChatOpenAI(
azure_deployment=azure_deployment,
openai_api_type='azure_ad',
api_version="2024-09-01-preview",
azure_endpoint=openai_endpoint,
temperature=0
)
logger.info("Azure OpenAI client setup completed.")
return azure_openai_client
except Exception as e:
logger.error(f"Failed to set up Azure OpenAI client: {e}", exc_info=True)
raise
azure_openai_client = setup_azure_openai_local(logger)