feat: ms-bot-framework with dynamic adaptive cards

This commit is contained in:
nasim
2025-04-03 10:28:32 +02:00
parent 3aa78be3d6
commit f96f4af069
13 changed files with 363 additions and 74 deletions
+33
View File
@@ -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