GenKit هي مكتبة تلخص جميع الاختلافات عبر منصات الذكاء الاصطناعي التوليدية. إنه يشبه LangChain خفيف الوزن لـ Swift. الهدف هو جعل تطوير Swift الأصلي باستخدام الذكاء الاصطناعي التوليدي سريعًا وسهلاً وممتعًا!
...
dependencies: [
. package ( url : " https://github.com/nathanborror/swift-gen-kit " , branch : " main " ) ,
] ,
targets: [
. target (
name : " YOUR_TARGET " ,
dependencies : [
. product ( name : " GenKit " , package : " swift-gen-kit " ) ,
]
) ,
] ,
...
حدد الخدمة والنموذج الذي تريد استخدامه:
let service = AnthropicService ( configuration : . init ( token : " ANTHROPIC_API_TOKEN " ) )
let model = Model ( id : " claude-3-5-sonnet-20240620 " )
مثال على إكمال الدردشة التي تولد استجابة واحدة فقط:
let request = ChatServiceRequest (
model : model ,
messages : [
. system ( content : " You are a helpful assistant. " ) ,
. user ( content : " Hello! " ) ,
]
)
let message = try await service . completion ( request )
print ( message )
مثال لجلسة البث التي قد تؤدي أجيال متعددة في حلقة إذا كانت الأدوات موجودة:
var request = ChatSessionRequest ( service : service , model : model )
request . with ( system : " You are a helpful assistant. " )
request . with ( history : [ . user ( content : " Hello! " ) ] )
let stream = ChatSession . shared . stream ( request )
for try await message in stream {
print ( message . content )
}
تعد الحرارة مثالًا جيدًا لكيفية استخدام GenKit.
الجلسات هي أعلى مستوى من التجريد والأسهل في الاستخدام. تعمل في حلقة وتستدعي الأدوات حسب الحاجة وترسل استجابات الأداة مرة أخرى إلى النموذج حتى يكمل عمله.
تعد الخدمات واجهة مشتركة للعمل عبر العديد من الأنظمة الأساسية. إنها تسمح لك بتبديل النظام الأساسي بسلاسة دون تغيير أي رمز.
حزم الموفر هي واجهات سريعة تتحدث مباشرة مع واجهات برمجة تطبيقات REST لموفر النموذج. يمكنك استخدامها مباشرة ولكن واجهات برمجة التطبيقات الخاصة بها تختلف قليلاً.