mirrored a few seconds ago
0
kirkfeat: integrate with benchflow 558d8df
def diagnosis_evaluate(predict_diagnosis, golden_diagnosis, handler):
    if predict_diagnosis is None:
        raise Exception("Predict diagnosis is None")
        
    predict_diagnosis = predict_diagnosis.replace("\n\n\n", "")

    system_prompt = "You are a specialist in the field of rare diseases."
    prompt = 'I will now give you ten predicted diseases if the predicted diagnosis is in the standard diagnosis. Please output the predicted rank, otherwise output "No", only output "No" or "1-10" numbers, if the predicted disease has multiple conditions, only output the top rank. Output only "No" or one number, no additional output.'
    prompt += f'Predicted diseases: {predict_diagnosis}\n'
    prompt += f'Standard diagnosis: {golden_diagnosis}\n'
    
    print("Begin evaluation.....")
    rank = handler.get_completion(system_prompt, prompt)
    rank = rank.replace("\n", "")
    
    return rank