Spaces:
Running
Running
File size: 1,971 Bytes
ddbfd90 483096c ddbfd90 483096c ddbfd90 483096c ddbfd90 483096c ddbfd90 483096c ddbfd90 483096c ddbfd90 483096c ddbfd90 483096c ddbfd90 483096c ddbfd90 |
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
from django.http import JsonResponse
from django.shortcuts import render
from django.views.decorators.cache import cache_control
from django.views.decorators.csrf import csrf_exempt
from . import tasks
@cache_control(no_cache=True, must_revalidate=True, no_store=True, max_age=0)
def index(request):
return render(request, "index.html", {})
@csrf_exempt
def compute(request):
def _format_rouge_result(rouge):
return "P: {:.1f} | R: {:.1f} | F1: {:.1f}".format(
rouge["precision"], rouge["recall"], rouge["f1"]
)
if request.method == "POST":
references = tasks.parse_string(request.POST.get("references", ""))
predictions = tasks.parse_string(request.POST.get("predictions", ""))
result = {}
if request.POST.get("checkbox_sentence_bleu", False) == "true":
result["sentence_bleu"] = "{:.1f}".format(
tasks.sentence_bleu(references, predictions)
)
if request.POST.get("checkbox_corpus_bleu", False) == "true":
result["corpus_bleu"] = "{:.1f}".format(
tasks.corpus_bleu(references, predictions)
)
if request.POST.get("checkbox_rouge1", False) == "true":
result["rouge1"] = _format_rouge_result(
tasks.rouge("1", references, predictions)
)
if request.POST.get("checkbox_rouge2", False) == "true":
result["rouge2"] = _format_rouge_result(
tasks.rouge("2", references, predictions)
)
if request.POST.get("checkbox_rougeL", False) == "true":
result["rougeL"] = _format_rouge_result(
tasks.rouge("L", references, predictions)
)
if request.POST.get("checkbox_tf1", False) == "true":
result["tf1"] = "{:.1f}".format(tasks.tf1(references, predictions))
return JsonResponse(result)
return JsonResponse({"error": "Invalid request method"})
|