Easonwangzk's picture
Initial commit
a01e687
"""Configuration management."""
import os
from typing import Optional
class Config:
"""Application configuration."""
def __init__(self):
"""Initialize configuration from environment variables."""
self.openai_api_key = os.getenv("OPENAI_API_KEY", "")
self.langchain_api_key = os.getenv("LANGCHAIN_API_KEY", "")
self.langchain_tracing_v2 = os.getenv("LANGCHAIN_TRACING_V2", "false").lower() == "true"
self.langchain_project = os.getenv("LANGCHAIN_PROJECT", "react-text-analyzer")
self.model_name = os.getenv("MODEL_NAME", "gpt-4-turbo-preview")
def is_valid(self) -> bool:
"""Check if required configuration is present.
Returns:
True if configuration is valid
"""
return bool(self.openai_api_key)
def get_openai_key(self) -> str:
"""Get OpenAI API key.
Returns:
API key
"""
return self.openai_api_key
def is_langsmith_enabled(self) -> bool:
"""Check if LangSmith tracing is enabled.
Returns:
True if enabled
"""
return self.langchain_tracing_v2 and bool(self.langchain_api_key)