AnyLanguageModel 1.0 เปิดตัว สลับโมเดล AI บน Apple ได้ง่ายขึ้น
เมื่อเดือนพฤศจิกายนปีที่แล้ว 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) เพื่อขยายศักยภาพของผลิตภัณฑ์บนอุปกรณ์ให้ก้าวไกลยิ่งขึ้น
ลิงก์
ความคิดเห็น (0)
เข้าสู่ระบบเพื่อร่วมแสดงความเห็น
สมัครสมาชิกมาเป็นคนแรกที่แสดงความเห็นกันเลยโบร
