Environment VariablesΒΆ

The HintEval framework allows users to store checkpoints for evaluation metrics and hint generation tasks, making it easy to resume processes if errors occur. Additionally, most evaluation methods require downloading and caching pre-trained models to compute their corresponding metrics. These checkpoints and cached models are stored in specific directories, which HintEval can manage based on user preferences.

Caching Pre-trained ModelsΒΆ

By default, pre-trained models are cached in the user’s home directory under the following path:
~/.cache/hinteval. If you want to change the cache directory to a location of your choice, you can modify the path using the following code:

import os

os.environ['HINTEVAL_CACHE_DIR'] = 'path/to/your/cache_directory'

Here’s the structure of the cache_directory directory:

πŸ“ cache_directory
β”œβ”€β”€ πŸ“ convergence-nn
β”‚   β”œβ”€β”€ πŸ“ bert-base
β”‚   └── πŸ“ roberta-large
β”œβ”€β”€ πŸ“ convergence-specificity
β”‚   β”œβ”€β”€ πŸ“ bert-base
β”‚   └── πŸ“ roberta-large
β”œβ”€β”€ πŸ“ embeddings
β”œβ”€β”€ πŸ“ familiarity-freq
β”œβ”€β”€ πŸ“ question-classification
β”œβ”€β”€ πŸ“ readability-fe
β”œβ”€β”€ πŸ“ readability-nn
β”‚   β”œβ”€β”€ πŸ“ bert-base
β”‚   └── πŸ“ roberta-large
β”œβ”€β”€ πŸ“ relevance-contextual
β”‚   β”œβ”€β”€ πŸ“ bert-base
β”‚   └── πŸ“ roberta-large
└── πŸ“ relevance-non-contextual

Checkpoint StorageΒΆ

HintEval also supports checkpointing, allowing you to save progress during evaluations or hint generation. To customize the directory where checkpoints are stored, use the following code to set the desired path:

import os

os.environ['HINTEVAL_CHECKPOINT_DIR'] = 'path/to/your/checkpoint_directory'

Here’s the structure of the checkpoint_directory directory:

πŸ“ checkpoint_directory
β”œβ”€β”€ πŸ“„ answer_leakage_contextual_exclude_stop_words.pickle
β”œβ”€β”€ πŸ“„ answer_leakage_contextual_include_stop_words.pickle
β”œβ”€β”€ πŸ“„ answer_leakage_lexical_exclude_stop_words.pickle
β”œβ”€β”€ πŸ“„ answer_leakage_lexical_include_stop_words.pickle
β”œβ”€β”€ πŸ“„ convergence_bert-base.pickle
β”œβ”€β”€ πŸ“„ convergence_llama-3-70b.pickle
β”œβ”€β”€ πŸ“„ convergence_roberta-large.pickle
β”œβ”€β”€ πŸ“„ familiarity_exclude_stop_words.pickle
β”œβ”€β”€ πŸ“„ familiarity_include_stop_words.pickle
β”œβ”€β”€ πŸ“„ familiarity_wikipedia.pickle
β”œβ”€β”€ πŸ“„ readability_automated_readability_index.pickle
β”œβ”€β”€ πŸ“„ readability_bert-base.pickle
β”œβ”€β”€ πŸ“„ readability_coleman_liau_index.pickle
β”œβ”€β”€ πŸ“„ readability_flesch_kincaid_reading_ease.pickle
β”œβ”€β”€ πŸ“„ readability_gunning_fog_index.pickle
β”œβ”€β”€ πŸ“„ readability_llm_meta-llama_Meta-Llama-3.1-8B-Instruct-Turbo.pickle
β”œβ”€β”€ πŸ“„ readability_random_forest.pickle
β”œβ”€β”€ πŸ“„ readability_roberta-large.pickle
β”œβ”€β”€ πŸ“„ readability_smog_index.pickle
β”œβ”€β”€ πŸ“„ readability_xgboost.pickle
β”œβ”€β”€ πŸ“„ relevance_contextual_bert-base.pickle
β”œβ”€β”€ πŸ“„ relevance_contextual_roberta-large.pickle
β”œβ”€β”€ πŸ“„ relevance_non_contextual_glove.42B.pickle
β”œβ”€β”€ πŸ“„ relevance_non_contextual_glove.6B.pickle
β”œβ”€β”€ πŸ“„ relevance_rouge1.pickle
β”œβ”€β”€ πŸ“„ relevance_rouge2.pickle
β”œβ”€β”€ πŸ“„ relevance_rougeL.pickle
β”œβ”€β”€ πŸ“„ specificity_bert-base.pickle
β”œβ”€β”€ πŸ“„ specificity_roberta-large.pickle

These environment variables give you control over where HintEval stores cache and checkpoint data, optimizing performance based on your system setup.