func sendPrompt() async {
   do {
      let answer = try await session.respond(to: prompt)
      var newResponse = AttributedString("\(answer.content)\n\n")
      newResponse.font = .system(size: 16, weight: .regular)
      response.append(newResponse)
   } catch LanguageModelSession.GenerationError.guardrailViolation(let reason) {
      response = AttributedString("Error processing the prompt")
      print(reason.debugDescription)
   } catch LanguageModelSession.GenerationError.refusal(let refusal, let reason) {
      var message: String? = nil
      Task.detached {
         if let explanation = try? await refusal.explanation {
            message = explanation.content
         }
         await MainActor.run {
            self.response = AttributedString("Refusal: \(message ?? "Undefined")")
            print(reason.debugDescription)
         }
      }
   } catch {
      response = AttributedString("Error accessing the model: \(error)")
   }
   prompt = ""
}