Mã Lương Khánh
Initial commit: RAG model evaluation system
8248295
from flask import Flask, render_template, request, redirect, url_for
import pandas as pd
import os
app = Flask(__name__)
# Load dữ liệu câu hỏi và câu trả lời từ CSV
df = pd.read_csv('questions_answers.csv', encoding='utf-8', sep='|')
@app.route('/')
def index():
return render_template('index.html', questions=df.to_dict(orient='records'))
@app.route('/vote', methods=['POST'])
def vote():
# Danh sách để lưu các record vote của phiên hiện tại
current_votes = []
# Nhận vote từ form
for index, row in df.iterrows():
question = row['Câu hỏi']
# Lấy giá trị điểm từ 1 đến 5 cho từng mô hình
rag_vote = request.form.get(f'RAG_{question}')
gpt_vote = request.form.get(f'GPT_{question}')
lexcentra_vote = request.form.get(f'lexcentra_{question}')
ailuat_vote = request.form.get(f'ailuat_{question}')
lawpress_vote = request.form.get(f'law&press_{question}')
# Tạo record cho câu hỏi này
vote_record = {
'Câu hỏi': index+1,
'RAG': int(rag_vote) if rag_vote else 0,
'GPT': int(gpt_vote) if gpt_vote else 0,
'lexcentra': int(lexcentra_vote) if lexcentra_vote else 0,
'ailuat': int(ailuat_vote) if ailuat_vote else 0,
'law&press': int(lawpress_vote) if lawpress_vote else 0
}
current_votes.append(vote_record)
# Lưu kết quả vote vào file CSV (append mode)
results_df = pd.DataFrame(current_votes)
# Kiểm tra xem file đã tồn tại chưa để quyết định ghi header
file_exists = os.path.isfile('votes_results.csv')
results_df.to_csv('votes_results.csv', mode='a', index=False, encoding='utf-8', sep='|', header=not file_exists)
return redirect(url_for('thank_you'))
@app.route('/thank_you')
def thank_you():
return "Cảm ơn bạn đã tham gia bỏ phiếu!"
if __name__ == '__main__':
app.run(debug=True)