Section 5/151 menit

5. Sintaks Dasar: LanguageModelSession

5. Sintaks Dasar: LanguageModelSession

Single-Turn Response

swift
import FoundationModels

// Pertanyaan sederhana, single turn
func askQuestion() async throws {
    let session = LanguageModelSession()
    let response = try await session.respond(to: "Apa keuntungan menggunakan Swift actor?")
    print(response.content)
}

Multi-Turn Conversation

swift
// Session menyimpan riwayat — cukup panggil respond(to:) berulang kali
func demonstrateMultiTurn() async throws {
    let session = LanguageModelSession()

    let response1 = try await session.respond(to: "Saya sedang belajar SwiftUI")
    print("Model:", response1.content)

    // Session ingat konteks: "sedang belajar SwiftUI"
    let response2 = try await session.respond(to: "Apa yang harus saya pelajari selanjutnya?")
    print("Model:", response2.content)

    let response3 = try await session.respond(to: "Bisakah kamu beri contoh kode?")
    print("Model:", response3.content)
}

Response Metadata

swift
let session = LanguageModelSession()
let response = try await session.respond(to: "Hitung luas lingkaran dengan jari-jari 5")

print(response.content)           // string jawaban
// Response juga bisa berisi metadata tentang token usage dan finish reason