Spaces:
Running
Running
File size: 2,223 Bytes
c89f65f 9d65a12 c89f65f 9d65a12 c89f65f fa7eb7f c89f65f fa7eb7f c89f65f |
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 67 68 69 70 71 72 73 74 75 76 |
"""Configuration settings, environment variables, and constants."""
import os
from dotenv import load_dotenv
load_dotenv()
# Environment Variables
ZILLIZ_BEARER = os.getenv("ZILLIZ_BEARER")
ZILLIZ_ENDPOINT = os.getenv("ZILLIZ_ENDPOINT")
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
# App Constants
# Note: TOTAL_GALAXIES is dynamically updated from Zilliz at startup (see app.py)
# This is just a fallback default value
TOTAL_GALAXIES = 0
DEFAULT_TOP_K = 300
DEFAULT_DISPLAY_COUNT = 60
LOAD_MORE_COUNT = 120
# Zilliz Configuration
ZILLIZ_COLLECTION_NAME = "legacy"
# Image search always uses legacy collection which has pre-existing embeddings
ZILLIZ_IMAGE_SEARCH_COLLECTION_NAME = ZILLIZ_COLLECTION_NAME
# Collection-specific configurations
COLLECTION_CONFIGS = {
"legacy": {
"anns_field": "aion_search_embedding",
"primary_key": "object_id",
"output_fields": ["object_id", "ra", "dec", "r_mag"]
},
"aionsearch": {
"anns_field": "clip_embedding",
"primary_key": "ra_dec",
"output_fields": ["ra_dec", "ra", "dec", "r_mag"]
}
}
# Get configuration for the selected collection
_collection_config = COLLECTION_CONFIGS.get(ZILLIZ_COLLECTION_NAME, COLLECTION_CONFIGS[ZILLIZ_COLLECTION_NAME])
ZILLIZ_ANNS_FIELD = _collection_config["anns_field"]
ZILLIZ_PRIMARY_KEY = _collection_config["primary_key"]
ZILLIZ_OUTPUT_FIELDS = _collection_config["output_fields"]
# OpenAI Configuration
OPENAI_EMBEDDING_MODEL = "text-embedding-3-large"
# CLIP Model Configuration
CLIP_EMBEDDING_DIM = 1024
CLIP_NORMALIZE_EPS = 1e-3
# UI Configuration
IMAGE_HEIGHT = "160px"
IMAGE_WIDTH = "100%"
CUTOUT_FOV = 0.025
CUTOUT_SIZE = 256
# URL State Configuration
URL_STATE_PARAM = "s" # Query parameter name for encoded state
# Logging Configuration
VCU_COST_PER_MILLION = 4.0 # $4 per 1 million vCU
# Hugging Face Dataset Logging
HF_LOG_REPO_ID = os.getenv("HF_LOG_REPO_ID") # e.g. "nolank/aionsearch-query-logs"
HF_LOG_EVERY_MINUTES = int(os.getenv("HF_LOG_EVERY_MINUTES", "10"))
# Feature Flags (for future features)
FEATURE_IMAGE_SEARCH = False
FEATURE_AUTH = False
FEATURE_CACHE = False
FEATURE_RERANKING = False
FEATURE_TRACKING = True
FEATURE_VECTOR_ADDITION = True
|