Una interfaz de usuario para Rasa NLU y Rasa Core, que simplifica el desarrollo de bots.
https://pypi.org/project/rasa-host
pip install rasa - host
Rasa-Host no depende de Rasa (de hecho, no depende de los paquetes de Rasa) y funcionará con todas las versiones.
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 ()
Interfaz de chat para probar Rasa. De forma predeterminada, GET http://{{host}}/conversations/{{sender_id}}/respond?q={{message}}
from RasaHost import host
host . agent = agent
if __name__ == '__main__' :
host . run ()
Las conversaciones se guardan en SQLite.
from RasaHost import host
host . agent = agent
if __name__ == '__main__' :
host . run ()
Los registros se guardan en SQLite.
from RasaHost import host
host . agent = agent
if __name__ == '__main__' :
host . run ()
Analice intenciones, historias y dominios. Muestra advertencias y sugerencias.
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 ()
Decodificar datos de políticas de memorización.
from RasaHost import host
host . memoization_policy_path = os . path . join ( current_dir , "modelscurrentdialoguepolicy_1_MemoizationPolicy" )
if __name__ == '__main__' :
host . run ()
También puedes albergar acciones, con o sin el agente.
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
Ejemplo de ejecución de la aplicación con agente y acciones personalizadas.
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
Soporta canales. Todas las conversaciones quedarán registradas.
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 ()