File size: 2,566 Bytes
640b1c8
 
 
aee2bfd
 
640b1c8
 
 
 
 
 
 
 
 
b953016
 
640b1c8
 
 
 
 
 
 
 
 
 
 
 
 
e9d730a
 
 
9700f95
 
 
aee2bfd
 
 
640b1c8
 
aee2bfd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
640b1c8
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# config/config.py
import os
from dotenv import load_dotenv
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import Flow

# Load environment variables
load_dotenv()

class Settings:
    # OpenAI Configuration
    OPENAI_API_KEY = os.getenv('OPENAI_API_KEY', '')
    OPENAI_MODEL = os.getenv('OPENAI_MODEL', 'gpt-3.5-turbo')
    
    ADMIN_API_KEY = 'aca4081f-6ff2-434c-843b-98f60285c499'

    # Ollama Configuration
    OLLAMA_BASE_URL = os.getenv('OLLAMA_BASE_URL', 'http://localhost:11434')
    OLLAMA_MODEL = os.getenv('OLLAMA_MODEL', 'llama2')
    
    # Anthropic Configuration
    ANTHROPIC_API_KEY = os.getenv('ANTHROPIC_API_KEY', '')
    
    # Embedding Configuration
    EMBEDDING_MODEL = os.getenv('EMBEDDING_MODEL', 'all-MiniLM-L6-v2')
    
    # Vector Store Configuration
    CHROMA_PATH = os.getenv('CHROMA_PATH', './chroma_db')
    
    # MongoDB Configuration
    MONGODB_URI = os.getenv('MONGODB_URI', 'mongodb://localhost:27017')
    
    # Feedback Configuration
    MAX_RATING = int(os.getenv('MAX_RATING', '5'))
    
    # Temporary directory for downloaded files
    TEMP_DOWNLOAD_DIR = os.getenv('TEMP_DOWNLOAD_DIR', './temp_downloads')

    # Application Configuration
    DEBUG = os.getenv('DEBUG', 'False') == 'True'

    # Google Drive Configuration
    GOOGLE_DRIVE_FOLDER_ID=os.getenv('GOOGLE_DRIVE_FOLDER_ID', '')
    GOOGLE_SERVICE_ACCOUNT_PATH = os.getenv('GOOGLE_SERVICE_ACCOUNT_PATH', 'service_account.json')

    # GOOGLE_DRIVE_FOLDER_ID = os.getenv('GOOGLE_DRIVE_FOLDER_ID', '')
    # GOOGLE_OAUTH_CLIENT_ID = os.getenv('GOOGLE_OAUTH_CLIENT_ID', '')
    # GOOGLE_OAUTH_CLIENT_SECRET = os.getenv('GOOGLE_OAUTH_CLIENT_SECRET', '')
    # GOOGLE_OAUTH_REDIRECT_URI = os.getenv('GOOGLE_OAUTH_REDIRECT_URI', 'http://127.0.0.1:8000/google/oauth2callback')

    # @property
    # def google_oauth_flow(self):
    #     flow = Flow.from_client_config({
    #         "web": {
    #             "client_id": self.GOOGLE_OAUTH_CLIENT_ID,
    #             "client_secret": self.GOOGLE_OAUTH_CLIENT_SECRET,
    #             "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    #             "token_uri": "https://oauth2.googleapis.com/token",
    #             "redirect_uris": [self.GOOGLE_OAUTH_REDIRECT_URI],
    #             "javascript_origins": ["http://localhost:8000", "http://127.0.0.1:8000"]
    #         }
    #     }, scopes=['https://www.googleapis.com/auth/drive.readonly'])
    #     flow.redirect_uri = self.GOOGLE_OAUTH_REDIRECT_URI
    #     return flow
    
settings = Settings()