|
|
|
|
|
|
|
|
|
|
|
from pathlib import Path
|
|
|
import os
|
|
|
import sys
|
|
|
|
|
|
|
|
|
BASE_DIR = Path(__file__).resolve().parents[2]
|
|
|
|
|
|
|
|
|
if str(BASE_DIR) not in sys.path:
|
|
|
sys.path.insert(0, str(BASE_DIR))
|
|
|
|
|
|
EMBEDDING_MODEL = "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2"
|
|
|
STATIC_VS_PATH = BASE_DIR / "app" / "vectorstore" / "faiss_index"
|
|
|
LIVE_VS_PATH = BASE_DIR / "app" / "vectorstore" / "live_rag_index"
|
|
|
|
|
|
VECTORSTORE_PATH = LIVE_VS_PATH
|
|
|
|
|
|
|
|
|
WEATHER_API_KEY = os.getenv("WEATHER_API_KEY", "1eefcad138134d62a1e220003252608")
|
|
|
|
|
|
|
|
|
CLASSIFIER_PATH = BASE_DIR / "app" / "models" / "intent_classifier_v2.joblib"
|
|
|
CLASSIFIER_CONFIDENCE_THRESHOLD = float(os.getenv("CLASSIFIER_CONFIDENCE_THRESHOLD", "0.6"))
|
|
|
|
|
|
|
|
|
EXPERT_MODEL_NAME = os.getenv("EXPERT_MODEL_NAME", "Qwen/Qwen3-4B-Instruct-2507")
|
|
|
|
|
|
|
|
|
LANG_ID_MODEL_REPO = os.getenv("LANG_ID_MODEL_REPO", "facebook/fasttext-language-identification")
|
|
|
LANG_ID_MODEL_FILE = os.getenv("LANG_ID_MODEL_FILE", "model.bin")
|
|
|
|
|
|
TRANSLATION_MODEL_NAME = os.getenv("TRANSLATION_MODEL_NAME", "drrobot9/nllb-ig-yo-ha-finetuned")
|
|
|
|
|
|
DATA_SOURCES = {
|
|
|
"harvestplus": "https://agronigeria.ng/category/news/",
|
|
|
}
|
|
|
|
|
|
STATES = [
|
|
|
"Abuja", "Lagos", "Kano", "Kaduna", "Rivers", "Enugu", "Anambra", "Ogun",
|
|
|
"Oyo", "Delta", "Edo", "Katsina", "Borno", "Benue", "Niger", "Plateau",
|
|
|
"Bauchi", "Adamawa", "Cross River", "Akwa Ibom", "Ekiti", "Osun", "Ondo",
|
|
|
"Imo", "Abia", "Ebonyi", "Taraba", "Kebbi", "Zamfara", "Yobe", "Gombe",
|
|
|
"Sokoto", "Kogi", "Bayelsa", "Nasarawa", "Jigawa"
|
|
|
]
|
|
|
|
|
|
|
|
|
hf_cache = "/models/huggingface"
|
|
|
os.environ["HF_HOME"] = hf_cache
|
|
|
os.environ["TRANSFORMERS_CACHE"] = hf_cache
|
|
|
os.environ["HUGGINGFACE_HUB_CACHE"] = hf_cache
|
|
|
os.makedirs(hf_cache, exist_ok=True)
|
|
|
|