Hello,
I created a Rasa chatbot using 1.1.3 version. And it is working well in local. I want to deploy it to cloud using docker containers. And this bot having rasa server, rasa action server and mongo db , so I created docker-compose file. without using docker-compose file the bot is working well in local but while using docker-compose file it is showing “AttributeError: ‘list’ object has no attribute ‘to_dict’” in docker-compose logs. I am unable to understand why this error is getting. Can anyone have idea about this??
docker-compose file:
version: '2'
services:
rasa:
image: rasa_databaselast
build:
context: .
volumes:
- ./:/app
ports:
- "5005:5005"
command: python3 -m rasa run --enable-api
action:
image: rasa_databaselast
build:
context: ./actions
volumes:
- ./actions:/app
ports:
- "5055:5055"
command : python3 -m rasa run actions
mongo:
image: mongo
ports:
- "27017:27017"
mongo_seed:
build: ./db
links:
- mongo
environment:
- MONGO_URI=mongodb//mongo:27017/admin
Traceback:
Traceback (most recent call last):
rasa_1 | File "/usr/local/lib/python3.6/site-packages/rasa/core/channels/facebook.py", line 94, in
_handle_user_message
rasa_1 | await self.on_new_message(user_msg)
rasa_1 | File "/usr/local/lib/python3.6/site-packages/rasa/core/channels/channel.py", line 75, in handler
rasa_1 | await app.agent.handle_message(*args, **kwargs)
rasa_1 | File "/usr/local/lib/python3.6/site-packages/rasa/core/agent.py", line 440, in handle_message
rasa_1 | return await processor.handle_message(message)
rasa_1 | File "/usr/local/lib/python3.6/site-packages/rasa/core/processor.py", line 84, in
handle_message
rasa_1 | await self._predict_and_execute_next_action(message, tracker)
rasa_1 | File "/usr/local/lib/python3.6/site-packages/rasa/core/processor.py", line 350, in
_predict_and_execute_next_action
rasa_1 | action, tracker, message.output_channel, self.nlg, policy, confidence
rasa_1 | File "/usr/local/lib/python3.6/site-packages/rasa/core/processor.py", line 461, in _run_action
rasa_1 | await self._send_bot_messages(events, tracker, output_channel)
rasa_1 | File "/usr/local/lib/python3.6/site-packages/rasa/core/processor.py", line 382, in
_send_bot_messages
rasa_1 | await output_channel.send_response(tracker.sender_id, e.message())
rasa_1 | File "/usr/local/lib/python3.6/site-packages/rasa/core/channels/channel.py", line 175, in
send_response
rasa_1 | **message
rasa_1 | File "/usr/local/lib/python3.6/site-packages/rasa/core/channels/facebook.py", line 181, in
send_quick_replies
rasa_1 | self.send(recipient_id, FBText(text=text, quick_replies=quick_replies))
rasa_1 | File "/usr/local/lib/python3.6/site-packages/rasa/core/channels/facebook.py", line 120, in send
rasa_1 | self.messenger_client.send(element.to_dict(), recipient_id, "RESPONSE")
rasa_1 | File "/usr/local/lib/python3.6/site-packages/fbmessenger/elements.py", line 27, in to_dict
rasa_1 | d['quick_replies'] = self.quick_replies.to_dict()
rasa_1 | AttributeError: 'list' object has no attribute 'to_dict'
thanks in advance!