feat: ms-bot-framework with dynamic adaptive cards
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
from typing import Dict
|
||||
from backend.app.bots.dayta import Dayta
|
||||
from backend.app.bots.intent_detector import IntentDetector
|
||||
from backend.app.bots.slot_filler import SlotFiller
|
||||
from backend.app.bots.adaptive_cards import AdaptiveCards
|
||||
from backend.app.services.house_price_predictor import HousePricePredictor
|
||||
from botbuilder.core import BotFrameworkAdapter, BotFrameworkAdapterSettings
|
||||
|
||||
class BotFactory:
|
||||
def __init__(self):
|
||||
self._bots: Dict[str, object] = {}
|
||||
self.adapter_settings = BotFrameworkAdapterSettings(app_id="", app_password="")
|
||||
self.adapter = BotFrameworkAdapter(self.adapter_settings)
|
||||
|
||||
|
||||
# Shared services
|
||||
self.intent_detector = IntentDetector()
|
||||
self.slot_filler = SlotFiller()
|
||||
self.card_bot = AdaptiveCards()
|
||||
self.price_predictor = HousePricePredictor()
|
||||
# Register all bots
|
||||
self._bots["dayta"] = Dayta(
|
||||
intent_detector=self.intent_detector,
|
||||
card_bot=self.card_bot,
|
||||
slot_filler=self.slot_filler,
|
||||
price_predictor=self.price_predictor
|
||||
)
|
||||
|
||||
def get_bot(self, name: str):
|
||||
return self._bots.get(name)
|
||||
|
||||
def get_adapter(self):
|
||||
return self.adapter
|
||||
Reference in New Issue
Block a user