dream

Форк
0
60 строк · 2.2 Кб
1
import logging
2

3
from dff import CompositeDialogueFlow, DialogueFlow
4

5

6
from dff import dialogflow_extension
7

8
import dialogflows.flows.food as food_flow
9
import dialogflows.flows.fast_food as fast_food_flow
10
import dialogflows.scopes as scopes
11

12
logger = logging.getLogger(__name__)
13

14

15
composite_dialogflow = CompositeDialogueFlow(
16
    scopes.State.USR_ROOT,
17
    system_error_state=scopes.State.SYS_ERR,
18
    user_error_state=scopes.State.USR_ERR,
19
    initial_speaker=DialogueFlow.Speaker.USER,
20
)
21

22

23
composite_dialogflow.add_component(food_flow.dialogflow, scopes.FOOD)
24
composite_dialogflow.add_component(fast_food_flow.dialogflow, scopes.FAST_FOOD)
25

26
dialogflow = composite_dialogflow.component(scopes.MAIN)
27
simplified_dialogflow = dialogflow_extension.DFEasyFilling(dialogflow=dialogflow)
28

29

30
##################################################################################################################
31
# food
32
##################################################################################################################
33

34

35
def food_request(ngrams, vars):
36
    flag = True
37
    logger.info(f"food_request={flag}")
38
    return flag
39

40

41
##################################################################################################################
42
##################################################################################################################
43
# linking
44
##################################################################################################################
45
##################################################################################################################
46

47
for node in [scopes.State.USR_ROOT, scopes.State.USR_ERR]:
48
    simplified_dialogflow.add_user_serial_transitions(
49
        node,
50
        {(scopes.FOOD, food_flow.State.USR_START): food_request},
51
    )
52
simplified_dialogflow.set_error_successor(scopes.State.USR_ROOT, scopes.State.SYS_ERR)
53
simplified_dialogflow.set_error_successor(scopes.State.USR_ERR, scopes.State.SYS_ERR)
54
simplified_dialogflow.add_system_transition(
55
    scopes.State.SYS_ERR,
56
    scopes.State.USR_ROOT,
57
    food_flow.error_response,
58
)
59
composite_dialogflow.set_controller("SYSTEM")
60
composite_dialogflow._controller = simplified_dialogflow.get_dialogflow()
61

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

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

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

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