RasaHost
1.0.0
A user interfaces for Rasa NLU and Rasa Core, that simplify bot development.
https://pypi.org/project/rasa-host
pip install rasa-host
Rasa-Host does not have a dependency on Rasa(in fact does not have Rasa packages dependency) and will work with all versions.
from rasa_core.interpreter import RasaNLUInterpreter
from rasa_core.agent import Agent
interpreter = RasaNLUInterpreter('models/current/nlu')
agent = Agent.load("models/current/dialogue", interpreter=interpreter)
from RasaHost import host
host.nlu_path = os.path.join(current_dir, "data/nlu/")
host.stories_path = os.path.join(current_dir, "data/stories/")
host.domain_path = os.path.join(current_dir, "data/domain.yml")
host.agent = agent
if __name__ == '__main__':
host.run()
# werkzeug - * Running on http://0.0.0.0:5005/ (Press CTRL+C to quit)
# GET http://localhost:5005/conversations/daniel/respond?q={{message}}
from RasaHost import host
host.nlu_path = os.path.join(current_dir, "data/nlu/")
if __name__ == '__main__':
host.run()
from RasaHost import host
host.stories_path = os.path.join(current_dir, "data/stories/")
if __name__ == '__main__':
host.run()
from RasaHost import host
host.domain_path = os.path.join(current_dir, "data/domain.yml")
if __name__ == '__main__':
host.run()
Chat interface for testing Rasa. By default, does GET http://{{host}}/conversations/{{sender_id}}/respond?q={{message}}
from RasaHost import host
host.agent = agent
if __name__ == '__main__':
host.run()
Conversations are saved in SQLite.
from RasaHost import host
host.agent = agent
if __name__ == '__main__':
host.run()
Logs are saved in SQLite.
from RasaHost import host
host.agent = agent
if __name__ == '__main__':
host.run()
Analyze intents, stories, and domains. Shows warnings and suggestions.
from RasaHost import host
host.nlu_path = os.path.join(current_dir, "data/nlu/")
host.stories_path = os.path.join(current_dir, "data/stories/")
host.domain_path = os.path.join(current_dir, "data/domain.yml")
if __name__ == '__main__':
host.run()
Decode memoization policy data.
from RasaHost import host
host.memoization_policy_path = os.path.join(current_dir, "modelscurrentdialoguepolicy_1_MemoizationPolicy")
if __name__ == '__main__':
host.run()
You can also host actions, with or without the agent.
from rasa_core_sdk.executor import ActionExecutor
actionExecutor = ActionExecutor()
actionExecutor.register_package('actions')
from RasaHost import host
host.actionExecutor = actionExecutor
if __name__ == '__main__':
host.run()
# werkzeug - * Running on http://0.0.0.0:5005/ (Press CTRL+C to quit)
# POST http://localhost:5005/actions
Example of running the app with agent and custom actions.
from rasa_core.interpreter import RasaNLUInterpreter
from rasa_core.agent import Agent
from rasa_core import utils, server
from rasa_core_sdk.executor import ActionExecutor
# #rasa-host.endpoints.yml
# action_endpoint:
# url: "http://localhost:5005/actions"
action_endpoint_conf = utils.read_endpoint_config("rasa-host.endpoints.yml", endpoint_type="action_endpoint")
interpreter = RasaNLUInterpreter('models/current/nlu')
agent = Agent.load("models/current/dialogue", interpreter=interpreter, action_endpoint=action_endpoint_conf)
actionExecutor = ActionExecutor()
actionExecutor.register_package('actions')
from RasaHost import host
host.nlu_path = os.path.join(current_dir, "data/nlu/")
host.stories_path = os.path.join(current_dir, "data/stories/")
host.domain_path = os.path.join(current_dir, "data/domain.yml")
host.agent = agent
host.actionExecutor = actionExecutor
if __name__ == '__main__':
host.run()
# werkzeug - * Running on http://0.0.0.0:5005/ (Press CTRL+C to quit)
# GET http://localhost:5005/conversations/daniel/respond?q={{message}}
# POST http://localhost:5005/actions
Supports channels. All the conversations will be logged.
from rasa_core.channels.botframework import BotFrameworkInput
input_channel = BotFrameworkInput(
app_id="",
app_password=""
)
from RasaHost import host
host.agent = agent
host.channels = [input_channel]
if __name__ == '__main__':
host.run()