Spaces:
Sleeping
Sleeping
| import os | |
| from shared_data.supabase_client import supabase, BUCKET | |
| VECTOR_FOLDER = os.getenv("DATABASE_PATH", "vectordatabase") | |
| def upload_vector_db(db_path=VECTOR_FOLDER): | |
| files = [ | |
| "index.faiss", | |
| "index.pkl" | |
| ] | |
| for filename in files: | |
| local_path = os.path.join( | |
| db_path, | |
| filename | |
| ) | |
| if not os.path.exists(local_path): | |
| print(f"{filename} not found") | |
| continue | |
| remote_path = f"vectors/{filename}" | |
| with open(local_path, "rb") as f: | |
| file_data = f.read() | |
| try: | |
| supabase.storage.from_(BUCKET).upload( | |
| path=remote_path, | |
| file=file_data, | |
| file_options={ | |
| "upsert": "true" | |
| } | |
| ) | |
| print(f"Uploaded {filename}") | |
| except Exception as e: | |
| print(e) | |
| def download_vector_db(db_path=VECTOR_FOLDER): | |
| os.makedirs(db_path, exist_ok=True) | |
| files = [ | |
| "index.faiss", | |
| "index.pkl" | |
| ] | |
| for filename in files: | |
| remote_path = f"vectors/{filename}" | |
| local_path = os.path.join( | |
| db_path, | |
| filename | |
| ) | |
| try: | |
| data = supabase.storage.from_(BUCKET).download( | |
| remote_path | |
| ) | |
| with open(local_path, "wb") as f: | |
| f.write(data) | |
| print(f"Downloaded {filename}") | |
| except Exception as e: | |
| import traceback | |
| print(traceback.format_exc()) | |
| raise | |
| def delete_vector_db(): | |
| supabase.storage.from_(BUCKET).remove( | |
| [ | |
| "vectors/index.faiss", | |
| "vectors/index.pkl" | |
| ] | |
| ) |