Section 9/201 menit
9. Foundation Models: On-Device LLM
9. Foundation Models: On-Device LLM
Foundation Models (iOS 18.1+) memberikan akses ke Apple Intelligence LLM yang berjalan sepenuhnya on-device.
swift
// Foundation Models: structured output generation on-device
import FoundationModels
// Model untuk output terstruktur
@Generable
struct ProductReview {
@Guide(description: "Rating 1-5")
var rating: Int
@Guide(description: "Ringkasan singkat (max 2 kalimat)")
var summary: String
@Guide(description: "Aspek positif")
var pros: [String]
@Guide(description: "Aspek negatif, kosong jika tidak ada")
var cons: [String]
@Guide(description: "Rekomendasi: 'Beli' atau 'Skip'")
var recommendation: String
}
final class ReviewAnalyzer {
func analyzeReview(_ reviewText: String) async throws -> ProductReview {
let session = LanguageModelSession()
let result = try await session.respond(
to: "Analisis review produk berikut dan berikan penilaian terstruktur:\n\n\(reviewText)",
generating: ProductReview.self
)
return result.content
}
// Streaming untuk respons yang panjang
func summarizeDocument(_ document: String) async throws {
let session = LanguageModelSession()
let stream = session.streamResponse(
to: "Buat ringkasan dokumen berikut dalam 3 poin utama:\n\n\(document)"
)
for try await partial in stream {
print(partial, terminator: "") // Print real-time
}
print() // Newline setelah selesai
}
}