File size: 1,057 Bytes
81a794d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from backend.section_infer_helper.local_llm_helper import local_llm_helper
from backend.section_infer_helper.online_llm_helper import online_llm_helper
from backend.cwe_infer_helper import cwe_infer_helper

MODEL_TYPE_HELPER_MAP = {
    "Local LLM": local_llm_helper,
    "Online LLM": online_llm_helper
}

PREDEF_MODEL_MAP = {
    "Local LLM": local_llm_helper.PREDEF_MODEL,
    "Online LLM": online_llm_helper.PREDEF_MODEL
}

LOCAL_MODEL_PEFT_MAP = local_llm_helper.MODEL_PEFT_MAP

PREDEF_CWE_MODEL = cwe_infer_helper.PREDEF_MODEL

def section_infer(diff_code, patch_message, model_type, *model_config):
    helper = MODEL_TYPE_HELPER_MAP.get(model_type, None)
    if helper is None:
        raise ValueError(f"Model {model_type} is not supported")
    helper.load_model(*model_config)
    results = helper.infer(diff_code, patch_message)
    return results


def cwe_infer(diff_code, patch_message, *model_config):
    helper = cwe_infer_helper
    helper.load_model(*model_config)
    results = helper.infer(diff_code, patch_message)
    return results