Как добавить AdaptiveCard в QnA Bot в Python - PullRequest
0 голосов
/ 14 июля 2020

Я хочу sh использовать AdaptiveCard с моим ботом QnA python. Я использую образец кода из репозитория botbuilder:

from botbuilder.ai.qna import QnAMaker, QnAMakerEndpoint
from botbuilder.core import ActivityHandler, MessageFactory, TurnContext
from botbuilder.schema import ChannelAccount

from config import DefaultConfig
    
class QnABot(ActivityHandler):
    def __init__(self, config: DefaultConfig):
        self.qna_maker = QnAMaker(
            QnAMakerEndpoint(
                knowledge_base_id=config.QNA_KNOWLEDGEBASE_ID,
                endpoint_key=config.QNA_ENDPOINT_KEY,
                host=config.QNA_ENDPOINT_HOST,
            )
        )

    async def on_members_added_activity(
        self, members_added: [ChannelAccount], turn_context: TurnContext
    ):
        for member in members_added:
            if member.id != turn_context.activity.recipient.id:
                await turn_context.send_activity(
                    "Hallo!"
                )

    async def on_message_activity(self, turn_context: TurnContext):
        # The actual call to the QnA Maker service.
        response = await self.qna_maker.get_answers(turn_context)
        if response and len(response) > 0:
            await turn_context.send_activity(MessageFactory.text(response[0].answer))
        else:
            await turn_context.send_activity("Ich kann nicht")

Итак, как мне настроить qna_maker.get_answers () и строки в базе знаний QnA для использования AdaptiveCards в качестве ответа на вопрос?

UPD

Что я хочу sh, чтобы вернуть ответ внутри карточки:

card = HeroCard(
    title="Answer Title here",
    subtitle="short answer",
    buttons=[task_module_action], #task_module_action - button which have to show long variant of answer
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...