File size: 2,861 Bytes
31fda96
 
 
 
 
 
805e1e5
f64e40d
31fda96
 
 
 
0b891ac
31fda96
0b891ac
4d6298c
 
 
 
 
 
 
 
 
 
 
 
9b781c6
df1b2ad
 
50c40fa
df1b2ad
 
 
da67795
df1b2ad
9b781c6
 
dba41fe
9b781c6
 
 
 
4d6298c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import os

import dotenv

dotenv.load_dotenv()

ACCESS_RATE = "20/minute"


class Config:
    Nepali_model_folder = os.getenv("Nepali_model")
    English_model_folder = os.getenv("English_model")
    REPO_ID_LANG = os.getenv("English_model") or "Pujan-Dev/Ai_vs_HUMAN"
    LANG_MODEL = os.getenv("LANG_MODEL")
    HF_TOKEN = os.getenv("HF_TOKEN") or os.getenv("HUGGINGFACE_TOKEN")
    SECRET_TOKEN = os.getenv("MY_SECRET_TOKEN")

    IMAGE_CLASSIFIER_REPO_ID = os.getenv("IMAGE_CLASSIFIER_REPO_ID", "can-org/AI-VS-HUMAN-IMAGE-classifier")
    IMAGE_CLASSIFIER_MODEL_DIR = os.getenv("IMAGE_CLASSIFIER_MODEL_DIR", "./IMG_Models")
    IMAGE_CLASSIFIER_WEIGHTS_FILE = os.getenv("IMAGE_CLASSIFIER_WEIGHTS_FILE", "latest-my_cnn_model.h5")

    AI_HUMAN_CLIP_MODEL_NAME = os.getenv("AI_HUMAN_CLIP_MODEL_NAME", "ViT-L/14")
    AI_HUMAN_SVM_REPO_ID = os.getenv("AI_HUMAN_SVM_REPO_ID", "rhnsa/ai_human_image_detector")
    AI_HUMAN_SVM_FILENAME = os.getenv("AI_HUMAN_SVM_FILENAME", "svm_model_real.joblib")

    REAL_FORGED_MODEL_REPO_ID = os.getenv("REAL_FORGED_MODEL_REPO_ID", "rhnsa/real_forged_classifier")
    REAL_FORGED_MODEL_FILENAME = os.getenv("REAL_FORGED_MODEL_FILENAME", "fft_cnn_model_78.pth")
    REAL_FORGED_MODEL_LOCAL_PATH = os.getenv("REAL_FORGED_MODEL_LOCAL_PATH", "Model/real_forged/fft_cnn_model_78.pth")
    DOCUMENT_FORGERY_MODEL_REPO_ID = os.getenv(
        "DOCUMENT_FORGERY_MODEL_REPO_ID",
        REPO_ID_LANG
    )
    DOCUMENT_FORGERY_MODEL_FILENAME = os.getenv(
        "DOCUMENT_FORGERY_MODEL_FILENAME",
        "document_forgery/pixel_forgery_v3_best.pth",
    )
    DOCUMENT_FORGERY_MODEL_PATH = os.getenv(
        "DOCUMENT_FORGERY_MODEL_PATH",
        "features/Modelsdfa/document_forgery/pixel_forgery_v3_best.pth",
    )
    # Decision thresholds for document forgery detector (probabilities in 0..1)
    DOCUMENT_FORGERY_POSSIBLE_LOW = float(os.getenv("DOCUMENT_FORGERY_POSSIBLE_LOW", "0.40"))
    DOCUMENT_FORGERY_FORGED_LOW = float(os.getenv("DOCUMENT_FORGERY_FORGED_LOW", "0.55"))

    RAG_CHROMA_HOST = os.getenv("CHROMA_HOST", "localhost")
    RAG_CHROMA_PORT = int(os.getenv("CHROMA_PORT", "8000"))
    RAG_COLLECTION_NAME = os.getenv("RAG_COLLECTION_NAME", "company_docs_collection")

    RAG_LLM_PROVIDER = os.getenv("LLM_PROVIDER", "openai").lower()
    RAG_LLM_API_KEY = os.getenv("LLM_API_KEY")
    RAG_LLM_MODEL = os.getenv("LLM_MODEL", "gpt-3.5-turbo")
    RAG_LLM_TEMPERATURE = float(os.getenv("LLM_TEMPERATURE", "0"))
    RAG_LLM_MAX_TOKENS = int(os.getenv("LLM_MAX_TOKENS", "2048"))

    RAG_MAX_FILE_SIZE = int(os.getenv("RAG_MAX_FILE_SIZE", str(100 * 1024 * 1024)))
    RAG_MAX_QUERY_LENGTH = int(os.getenv("RAG_MAX_QUERY_LENGTH", "1000"))
    RAG_SUPPORTED_CONTENT_TYPES = {
        "application/pdf",
        "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
        "text/plain",
    }