dream

Форк
0
48 строк · 1.3 Кб
1
#!/usr/bin/env python
2

3
from os import getenv
4

5
import logging
6
import sentry_sdk
7
import uuid
8
from flask import Flask, request, jsonify
9

10
from responder import Responder
11

12
sentry_sdk.init(getenv("SENTRY_DSN"))
13
logging.basicConfig(format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=logging.INFO)
14
logger = logging.getLogger(__name__)
15

16
gunicorn_logger = logging.getLogger("gunicorn.error")
17
logger.handlers = gunicorn_logger.handlers
18
logger.setLevel(gunicorn_logger.level)
19

20
app = Flask(__name__)
21

22
logger.info("Creating responder...")
23
responder = Responder(logger)
24
logger.info("Creating responder... finished")
25

26

27
@app.route("/respond", methods=["POST"])
28
def respond():
29
    session_id = uuid.uuid4().hex
30
    logger.info(f"Session_id: {session_id}")
31

32
    dialogs = request.json["dialogs"]
33
    responses = []
34
    confidences = []
35

36
    for dialog in dialogs:
37
        logger.info(f"User utterance: {dialog['utterances'][-1]['text']}")
38
        logger.info(f"Called intents: {dialog['called_intents']}")
39
        response, confidence = responder.respond(dialog)
40
        logger.info(f"Response: {response}")
41
        responses.append(response)
42
        confidences.append(confidence)
43

44
    return jsonify(list(zip(responses, confidences)))
45

46

47
if __name__ == "__main__":
48
    app.run(debug=True, host="0.0.0.0", port=8012)
49

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

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

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

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