@startuml userchat actor User participant "APIRouter" as router participant "Dependencies" as dependencies participant "SanitizeCollectionName" as sanitizer participant "LLMInfer" as llm User -> router : chat_with_llama(user_input) activate router router -> dependencies : get_current_user() activate dependencies dependencies --> router : current_user deactivate dependencies router -> sanitizer : sanitize_collection_name(current_user["user_id"]) activate sanitizer sanitizer --> router : sanitized_name deactivate sanitizer router -> llm : llm_infer(sanitized_name, user_input) activate llm llm --> router : model_response deactivate llm router --> User : {"ai_response": model_response, "user_id", "name", "role"} deactivate router @enduml