AnyLanguageModel 1.0 เปิดตัว สลับโมเดล AI บน Apple ได้ง่ายขึ้น

· By: TanasakP

เมื่อเดือนพฤศจิกายนปีที่แล้ว AnyLanguageModel ได้ถูกแนะนำในฐานะทางเลือกใหม่แทนเฟรมเวิร์ก Foundation Models ของ Apple เพื่อให้นักพัฒนาสามารถเลือกโมเดลและผู้ให้บริการได้ตามต้องการ เนื่องจากนักพัฒนาจำนวนมากสนใจโมเดลแบบ Local แต่กังวลเรื่องความซับซ้อนในการรองรับผู้ให้บริการหลายราย AnyLanguageModel จึงถูกพัฒนาขึ้นเพื่อตอบโจทย์ดังกล่าว

การใช้งาน inference ทั้งแบบ Local และ Hosted ต่างมีข้อดีที่แตกต่างกัน ซึ่งการมี API ที่ใช้ร่วมกันได้จะช่วยให้นักพัฒนาเลือกโมเดลที่เหมาะสมที่สุดสำหรับแต่ละงานได้ง่ายขึ้น โดยล่าสุด AnyLanguageModel 1.0 ได้เปิดตัวอย่างเป็นทางการพร้อมกับ swift-huggingface 1.0 และ swift-xet 1.0

API ที่เข้ากันได้และใช้แทนกันได้ทันที

หัวใจหลักของ AnyLanguageModel คือการนำ Foundation Models API มาใช้กับโมเดลที่คุณต้องการ โดยเริ่มต้นเพียงแค่เปลี่ยนคำสั่ง import ดังนี้:

- import FoundationModels
+ import AnyLanguageModel

หลังจากนั้นโค้ด session เดิมของคุณจะสามารถทำงานร่วมกับโมเดลของระบบ, โมเดลแบบ open-weight ผ่าน llama.cpp, MLX, Core ML รวมถึงผู้ให้บริการแบบ hosted ได้ทันที

ในช่วงปีที่ผ่านมามีการเพิ่มฟีเจอร์สำคัญมากมาย ได้แก่:

  • Tool calling ที่รองรับผู้ให้บริการทุกราย
  • Guided generation รองรับทั้งประเภท @Generable แบบซ้อนกันและ array
  • การรองรับรูปภาพ สามารถแนบรูปภาพไปกับ prompt ได้ผ่านไวยากรณ์ของ Foundation Models 27 ทั้งบน iOS, macOS และ visionOS 27

นอกจากนี้ AnyLanguageModel ยังทำงานร่วมกับโมเดลตามโปรโตคอล LanguageModel รวมถึงโมเดล Core AI และรองรับการดาวน์โหลดโมเดลความเร็วสูงผ่าน swift-huggingface และ swift-xet

โมเดลแบบ Hosted ด้วยเช่นกัน

การรองรับโมเดลภายนอกมีการขยายตัวอย่างมาก ปัจจุบันรองรับทั้ง OpenAI (Chat Completions/Responses), Open Responses, Anthropic (Messages API พร้อมฟีเจอร์ adaptive thinking), Google Gemini, Ollama รวมถึง Private Cloud Compute บน OS 27 และ Hugging Face Inference Providers

คุณสามารถรันโมเดล open-weight ขนาดใหญ่ผ่าน Inference Providers ด้วยโค้ดชุดเดิมได้ทันที:

let model = OpenAILanguageModel(
    baseURL: URL(string: "https://router.huggingface.co/v1/")!,
    apiKey: ProcessInfo.processInfo.environment["HF_TOKEN"]!,
    model: "openai/gpt-oss-120b",
    apiVariant: .chatCompletions
)

ฟีเจอร์เด่นอย่างการให้เหตุผล (Reasoning) จะถูกรวมไว้ใน transcript โดยอัตโนมัติ และระบบจะจัดการข้ามบล็อกการให้เหตุผลหากเปลี่ยนไปใช้ผู้ให้บริการที่ไม่รองรับ นอกจากนี้ยังรองรับการใช้ API keys ผ่าน closure เพื่อความปลอดภัย และรองรับการทำงานบน Linux สำหรับฝั่งเซิร์ฟเวอร์ด้วย

โมเดลแบบ Open-weight พัฒนาขึ้น

โมเดลแบบ Local มีประสิทธิภาพสูงขึ้นและมีขนาดเล็กลงจนสามารถใช้งานบนอุปกรณ์พกพาได้ ตัวอย่างโมเดลยอดนิยมบน Hub ได้แก่:

  • Gemma 4 E2B (GGUF, 3.4 GB) เหมาะสำหรับ iPhone
  • LFM2.5 2.6B (GGUF, 1.7 GB) รันบน iPhone ได้สบาย
  • Qwen3.8 27B for MLX (16 GB) สำหรับ Mac ที่มีแรม 32 GB ขึ้นไป

การเลือกใช้โมเดล MLX ทำได้ง่ายเพียงบรรทัดเดียว:

let model = MLXLanguageModel(modelId: "mlx-community/Qwen3.8-27B-4bit")

การอัปเกรดเป็น 1.0

นักพัฒนาสามารถอัปเดตได้ผ่านแพ็กเกจดังนี้:

dependencies: [
    .package(
        url: "https://github.com/huggingface/AnyLanguageModel",
        from: "1.0.0",
        traits: ["MLX"]
    )
]

สามารถตรวจสอบคำแนะนำการย้ายข้อมูลได้ในบันทึกการปล่อยตัวของ AnyLanguageModel และโปรเจกต์ที่เกี่ยวข้อง

สิ่งที่จะเกิดขึ้นต่อไป

ทีมพัฒนามีแผนที่จะนำแนวทาง Swift API ที่คุ้นเคยไปใช้กับความสามารถด้าน AI อื่นๆ เพิ่มเติม โดยเป้าหมายถัดไปคือการพัฒนาโมเดลที่สามารถตัดสินใจได้ (Decision-making) และโมเดลที่รองรับการฟัง (Audio) เพื่อขยายศักยภาพของผลิตภัณฑ์บนอุปกรณ์ให้ก้าวไกลยิ่งขึ้น

ลิงก์

Source: Hugging Face Blog
ดูแลงานแปลและเรียบเรียงโดย TanasakP

ความคิดเห็น (0)

เข้าสู่ระบบเพื่อร่วมแสดงความเห็น

สมัครสมาชิก

มาเป็นคนแรกที่แสดงความเห็นกันเลยโบร