Spaces:
Running
Running
Implementation for Google drive is done. Now it is working fine, except need a new function that can delete the chunks if a document is removed from google drive.
aee2bfd
# 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() |