How would one go about generating *sensible* responses to chat?
This seems like a problem for the use of an encoder-decoder pair such as those seen in text summarization (see this paper by Rush et al.: https://arxiv.org/pdf/1509.00685.pdfï%C2%BC). 

You would need the following layers: 


LSTM layer to encode the given input text into an embedding 
LSTM layer the looks over the currently generated output to encode the text into an embedding
A dense soft-max layer for generating words probabilistically based on the output of the two contextual LSTM encoders


Please see the following blog post by Jason Brownlee that outlines this approach and others, while giving implementation details and snippets (https://machinelearningmastery.com/encoder-decoder-models-text-summarization-keras/)! 

Also note that this would require a large set of training examples of input text and reasonable responses. You might be able to scrape Reddit post responses and comments off of those for a start? Let me know if I misunderstood the question.