dream

Форк
0
39 строк · 1.4 Кб
1
import requests
2
import os
3

4
import common.test_utils as test_utils
5

6

7
INTENT_RESPONSE_PHRASES_FNAME = os.getenv("INTENT_RESPONSE_PHRASES_FNAME", "intent_response_phrases.json")
8
SERVICE_PORT = int(os.getenv("SERVICE_PORT"))
9
RANDOM_SEED = int(os.getenv("RANDOM_SEED", 2718))
10
URL = f"http://0.0.0.0:{SERVICE_PORT}/respond"
11

12

13
def handler(requested_data, random_seed):
14
    hypothesis = requests.post(URL, json={**requested_data, "random_seed": random_seed}).json()
15
    return hypothesis
16

17

18
def run_test(handler):
19
    in_data, out_data = test_utils.get_dataset()
20
    for test_name in in_data:
21
        if "RU" in INTENT_RESPONSE_PHRASES_FNAME and "RU" not in test_name:
22
            # if russian language, skip english tests
23
            continue
24
        elif "RU" not in INTENT_RESPONSE_PHRASES_FNAME and "RU" in test_name:
25
            continue
26
        hypothesis = handler(in_data[test_name], RANDOM_SEED)
27
        print(f"test name: {test_name}")
28
        is_equal_flag, msg = test_utils.compare_structs(out_data[test_name], hypothesis, ignored_keys=["id"])
29
        if msg and len(msg.split("`")) == 5:
30
            _, ground_truth_text, _, hypothesis_text, _ = msg.split("`")
31
            is_equal_flag, ratio = test_utils.compare_text(ground_truth_text, hypothesis_text, 0.80)
32
            if not is_equal_flag:
33
                msg = f"{msg} ratio = {ratio}"
34
        assert is_equal_flag, msg
35
        print("Success")
36

37

38
if __name__ == "__main__":
39
    run_test(handler)
40

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.