Sends a user message and receives a model-generated response. Supports both streaming (SSE) and standard JSON.