in HuggingChat-Mac/Models/LLMModel.swift [42:68]
init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
self.id = try container.decode(String.self, forKey: .id)
self.name = try container.decode(String.self, forKey: .name)
self.displayName = try container.decode(String.self, forKey: .displayName)
if let url = try? container.decode(URL.self, forKey: .websiteUrl) {
self.websiteUrl = url
} else {
self.websiteUrl = URL(string: "https://huggingface.co/\(self.name)")!
}
if let url = try? container.decode(URL.self, forKey: .modelUrl) {
self.modelUrl = url
} else {
self.modelUrl = URL(string: "https://huggingface.co/\(self.name)")!
}
self.promptExamples = (try? container.decode([PromptExample].self, forKey: .promptExamples)) ?? []
self.multimodal = try container.decode(Bool.self, forKey: .multimodal)
self.unlisted = try container.decode(Bool.self, forKey: .unlisted)
self.description = (try? container.decode(String.self, forKey: .description)) ?? ""
self.preprompt = try container.decode(String.self, forKey: .preprompt)
self.tools = try container.decode(Bool.self, forKey: .tools)
}