Conversational AI Architecture: Components, Patterns, Stack