Spaces:
Sleeping
Sleeping
import os | |
import configparser | |
import google.generativeai as genai | |
import nltk | |
from datasets import load_metric | |
from langchain.chat_models import ChatOpenAI | |
from transformers import AutoTokenizer | |
from texts.bart_score import BARTScorer | |
# Constants | |
# TODO: move to .env | |
env = configparser.ConfigParser() | |
env.read(".env") # An example environment: .sample-env | |
# Get API key | |
OPENAI_API_KEY = env["API_KEY"]["OPENAI_API_KEY"] | |
GEMINI_API_KEY = env["API_KEY"]["GEMINI_API_KEY"] | |
TOGETHER_API_KEY = env["API_KEY"]["TOGETHER_API_KEY"] | |
# Environment setup | |
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY | |
os.environ["GEMINI_API_KEY"] = GEMINI_API_KEY | |
os.environ["TOGETHER_API_KEY"] = TOGETHER_API_KEY | |
os.environ["CURL_CA_BUNDLE"] = "" | |
os.environ["REQUESTS_CA_BUNDLE"] = "" | |
# File Path | |
LOG_FILE = "data/99_log.txt" | |
OUTPUT_FILE = "data/result.txt" | |
METRIC_NAME = "roc_auc" | |
# Training and Model Parameters | |
TRAIN_RATIO = 0.8 | |
VAL_RATIO = 0.1 | |
NUMBER_OF_MAX_EPOCH_WITH_EARLY_STOPPING = 10 | |
PATIENCE = 3 | |
BATCH_SIZE = 64 | |
OPTIMIZED_METRIC = "roc_auc" | |
SEED = 0 | |
TEMPERATURE = 0.0 | |
IS_OUTPUT_NORMALIZATION = False | |
RATIO = 0.9 | |
HUMAN_LABEL = 0 | |
MACHINE_LABEL = 1 | |
BART = "bart" | |
# Model Options | |
MULTIMODEL = "multimodel" | |
SINGLE_FROM_MULTIMODEL = "single_from_multimodel" | |
# Downloading the NLTK "punkt" only if it's not already downloaded | |
nltk.download("punkt", quiet=True) | |
# API Models | |
# TODO: consider using an enum | |
API_ERROR = "API_ERROR" | |
IGNORE_BY_API_ERROR = "IGNORE_BY_API_ERROR" | |
CHATGPT = "ChatGPT" | |
GEMINI = "Gemini" | |
# LLAMA_2_70_CHAT_TEMP_0 = "LLaMa" | |
# Initialize BARTScorer | |
# TODO: consider loading model lazily | |
bart_scorer = BARTScorer(device="cuda:0", checkpoint="facebook/bart-large-cnn") | |
# Generative AI configuration | |
OPENAI_MODEL_NAME = "gpt-3.5-turbo-0125" | |
GEMINI_MODEL_NAME = "gemini-pro" | |
genai.configure(api_key=GEMINI_API_KEY, transport="rest") | |
GEMINI_MODEL = genai.GenerativeModel( | |
GEMINI_MODEL_NAME, | |
generation_config={"temperature": TEMPERATURE}, | |
) | |
OPENAI_MODEL = ChatOpenAI( | |
temperature=TEMPERATURE, | |
model_name=OPENAI_MODEL_NAME, | |
) | |
# Model paths | |
MODEL_PATHS = { | |
"LLaMa": "meta-llama/Llama-2-70b-chat-hf", | |
"QWEN": "Qwen/Qwen1.5-72B-Chat", | |
"Yi": "NousResearch/Nous-Hermes-2-Yi-34B", | |
"Mixtral": "mistralai/Mixtral-8x7B-Instruct-v0.1", | |
"OLMo": "allenai/OLMo-7B-Instruct", | |
"Phi": "microsoft/phi-2", | |
"OpenChat": "openchat/openchat-3.5-1210", | |
"WizardLM": "WizardLM/WizardLM-13B-V1.2", | |
"Vicuna": "lmsys/vicuna-13b-v1.5", | |
} | |
TOGETHER_PATH = "https://api.together.xyz" | |
# Roberta model configurations | |
ROBERTA_BASE = "roberta-base" | |
ROBERTA_LARGE = "roberta-large" | |
ROBERTA_MODEL_PATHS = { | |
ROBERTA_BASE: "roberta-base", | |
ROBERTA_LARGE: "roberta-large", | |
} | |
LEARNING_RATES = { | |
ROBERTA_BASE: 2e-5, | |
ROBERTA_LARGE: 8e-6, | |
} | |
MODEL_NAME = ROBERTA_BASE | |
# Tokenizer initialization | |
tokenizer = AutoTokenizer.from_pretrained(ROBERTA_MODEL_PATHS[MODEL_NAME]) | |
# Metric loading | |
metric = load_metric(METRIC_NAME) | |