ساخت ویژگی های AI با استفاده از مدل های پایه

ساخت ویژگی های AI با استفاده از مدل های پایه
اپل یک چارچوب کاملاً جدید برای مدل های بنیانگذار معرفی کرده است و API API را برای استفاده از مدل های Apple Intelligence در برنامه های شما فراهم کرده است. این هفته ما یاد خواهیم گرفت که چگونه از این قاب جدید هنگام ساختن ویژگی های AI در برنامه های کاربردی خود استفاده کنیم.
بهبود شبیه سازهای Xcode.
طرح ها را مقایسه کنید ، حاکمان را نشان دهید ، یک شبکه اضافه کنید ، سریع برای تدوین های اخیر اقدام کنید. لمس و سوابق صوتی ایجاد کنید ، موهای خود را به MP4 یا GIF صادر کنید و آنها را با استفاده از Drag & Drop در همه جا به اشتراک بگذارید. قاب ها را به تصاویر و فیلم ها اضافه کنید. اکنون امتحان کنید
اول از همه ، ما باید قاب مدل های اصلی را وارد کرده و در دسترس بودن دستگاه را بررسی کنیم. همه دستگاه ها از ویژگی های اطلاعاتی اپل پشتیبانی نمی کنند. بنابراین ما باید هنگام ساختن توابع هوش مصنوعی ، آن را در خاطر داشته باشیم.
import FoundationModels
struct Intelligence {
public func generate(_ input: String) async -> String {
guard SystemLanguageModel.default.isAvailable else {
return input
}
// ...
}
}
ما در اینجا استفاده می کنیم سیستم سمی یک زبان را فقط برای متن موجود در سیستم عامل های اپل نشان دهید. ما به طور پیش فرض از مدل به مدل دسترسی داریم و از آن استفاده می کنیم وابسته به ایزوالیت خاصیت
گاهی اوقات برای بررسی کافی نیست وابسته به ایزوالیت ملک و شما می خواهید دقیقاً دلیل آن را بدانید. به عنوان مثال ، کاربر می تواند از Apple Intelligence Offabled و بنابراین پشتیبانی کند سیستم سمی در دسترس نیست می توانید سیگنالی را نشان دهید که از کاربر بخواهد Apple Intelligence را برای دسترسی به ویژگی های خاص روشن کند.
برای این مورد ، سیستم سمی نوع ما را فراهم می کند در دسترس بودن ملکی که نمونه ای از آن است SystemLanguAgemodel.Alitability نوع. می توانید از این ویژگی برای تجربه دقیق تری در برنامه خود استفاده کنید. اکنون می توانیم جلسه مدل زبانی را آغاز کنیم و با آن صحبت کنیم.
import FoundationModels
struct Intelligence {
public func generate(_ input: String) async throws -> String {
guard SystemLanguageModel.default.isAvailable else {
return input
}
let session = LanguageModelSession()
let response = try await session.respond(to: input)
return response.content
}
}
همانطور که در مثال بالا مشاهده می کنید ، ما یک جلسه را با استفاده از آن شروع می کنیم زبانی وارد و تماس بگیرید پاسخ تابع بازگشت محتوای متن بازگشت از مدل. خیلی راحت است!
ما گپ نمی زنیم ، در عوض سعی خواهیم کرد با کمک هوش مصنوعی برخی از توصیه ها را ارائه دهیم. در این حالت ، ما باید برخی از دستورالعمل ها را به مدل ارائه دهیم که آنچه را که ما به زبان طبیعی نیاز داریم ، توصیف کنیم. سریع در این مورد ورودی ثانویه است. به عنوان مثال ، در برنامه من ، مواد مغذی را تجزیه و تحلیل می کنم و سعی می کنم نکاتی را ارائه دهم.
import FoundationModels
struct Intelligence {
private let instructions = """
You are a healthy lifestyle coach. Write a recommendation. Keep it short, positive and inspiring. Respond only with the final recommendation, no explanations.
"""
public func generate(_ input: String) async throws -> String {
guard SystemLanguageModel.default.isAvailable else {
return input
}
let session = LanguageModelSession(instructions: instructions)
let response = try await session.respond(to: input)
return response.content
}
}
در مثال بالا تعریف می کنم هوش نگهدارنده ساختار تولید عملکرد. این ویژگی ورودی را می گیرد و دستورالعمل هایی را که ما به مدل منتقل کرده ایم ، اعمال می کند. به عنوان مثال ، می توانید رشته ای “کاهش کربوهیدرات ها” را به تولید یک تابع و یک توصیه دلپذیر برای شما می نویسد.
حال بیایید در مورد تنظیم پاسخ مدل صحبت کنیم. او پاسخ این تابع به ما امکان می دهد یک نسخه از را تحویل دهیم تولیدات استفاده از گزینه پارامتر او تولیدات نوع چندین ویژگی جالب را تعریف می کند.
import FoundationModels
struct Intelligence {
private let instructions = """
You are a healthy lifestyle coach. Write a recommendation. Keep it short, positive and inspiring. Respond only with the final recommendation, no explanations.
"""
public func generate(_ input: String) async throws -> String {
guard SystemLanguageModel.default.isAvailable else {
return input
}
let session = LanguageModelSession(instructions: instructions)
let seed = UInt64(Calendar.current.component(.dayOfYear, from: .now))
let sampling = GenerationOptions.SamplingMode.random(top: 10, seed: seed)
let options = GenerationOptions(sampling: sampling, temperature: 0.7)
let response = try await session.respond(to: input, options: options)
return response.content
}
}
او درجه حرارت این ویژگی به ما امکان می دهد خلاقیت مدل را کنترل کنیم. این یک مقدار عددی از 0 تا 1 است. بهترین مقدار برای این پارامتر وجود ندارد و شما باید آزمایش کنید تا پیدا کنید که کدام مقدار با پرونده شما مطابقت دارد.
او نمونه گیری این پارامتر به ما امکان می دهد تا کنترل کنیم که چگونه مدل پاسخ نهایی را از بسیاری از پاسخ های ممکن انتخاب می کند. به عنوان مثال ، وقتی آن را تنظیم کردید حریص او همیشه همان جواب را برای همان مطلب باز می گرداند. این ممکن است برای اهداف ایجاد خطا مفید باشد.
در برنامه من ، من نمی خواهم پیشنهادات مختلفی را در هر راه اندازی برنامه به کاربر نمایش دهم. در عوض ، من می خواهم روزانه یک توصیه منحصر به فرد را نشان دهم. بنابراین ، هر بار که روز تغییر می کند ، این ممکن است از توصیه دیگری برای همان مورد استفاده کند.
در اینجا نحوه نمونه گیری تصادفی آمده است. شما تعداد پاسخ های موجود را تعمیر می کنید و یک دانه پایدار تهیه می کنید. به محض تغییر دانه ها به جواب تغییر می کند ، اما همان جواب را برای همان برانگیخته برمی گرداند در حالی که بذر یکسان است.
ساخت ویژگی های هوش مصنوعی با مدل های جدید بنیاد اپل برای توسعه دهندگان طبیعی و راحت است. این که آیا شما با اجازه دادن به فرآیندهای کاری هوشمند یا ساختن ویژگی های کاملاً جدید ، توصیه های شخصی ایجاد می کنید ، این چارچوب پایه و اساس ادغام اطلاعات اپل را در برنامه های شما به روشی قابل اعتماد فراهم می کند.
نکته اصلی این است که آزمایش کنید ، گزینه های مورد استفاده خود را تنظیم کنید. امیدوارم پست را دوست داشته باشید. با خیال راحت از من پیروی کنید توییتر و سوالات خود را در مورد این مقاله بپرسید. با تشکر از خواندن و دیدن هفته آینده شما!




