CoolFace
Apppublic

kkAIGC/SQLBot

sourceHugging Faceapache-2.0updated 3y agoView on Hugging Face
0likes
answer_evaluation.py74 linesDownload Raw Back to study
1import os2import openai3import pandas as pd4import random5 6# 构建leetcode题目文件的路径7leetcode_path = os.path.join("data", "leetcode_questions.xlsx")8 9#读取leetcode题目10leetcode_df = pd.read_excel(leetcode_path)11 12#SQL产生函数13def answer_evaluation(14    user_input,15    all_messages,16    question,17    answer,18    model="gpt-3.5-turbo-16k",19    temperature=0,20    max_tokens=3000,21    ):22 23    system_message = f"""24    根据下面的问题(使用<>符号分隔),结合答案(使用####分割符分隔)判断用户的回答是否正确,并给出改进建议25    问题如下:<{question}>26    答案如下:####{answer}####27 28    请使用中文回复29    """30 31    history_prompt = []32 33    for turn in all_messages:34        user_message, bot_message = turn35        history_prompt += [36                {'role': 'user', 'content':user_message},37                {'role': 'assistant', 'content': bot_message}38                         ]39    messages =  [40        {'role':'system', 'content': system_message}] \41        + history_prompt + \42        [{'role':'user', 'content': user_input},43        ]44 45    response = openai.ChatCompletion.create(46        model=model,47        messages=messages,48        temperature=temperature,49        max_tokens=max_tokens,50    )51 52    final_response = response.choices[0].message["content"]53 54    all_messages+= [(user_input,final_response)]55 56    return "", all_messages  # 返回最终回复和所有消息57 58#根据难度随机选择题目59def question_choice(difficulty = '简单'):60    simple_records = leetcode_df[leetcode_df['难度'] == difficulty]61    random_simple_record = simple_records.sample(n=1, random_state=random.seed())62 63    title = random_simple_record['题目标题'].values[0]64    question_url = random_simple_record['题目地址'].values[0]65    question = random_simple_record['题目'].values[0]66    example = random_simple_record['示例'].values[0]67    answer = random_simple_record['答案'].values[0]68    answer_explain = random_simple_record['可参考解析'].values[0]69 70    title_url = f"""### 本题链接:[{title}]({question_url})"""71    answer_explain = f"""### 答案解析见:[{title}]({answer_explain})"""72 73    return title_url, question, example, answer, answer_explain74