GenKit เป็นไลบรารีที่สรุปความแตกต่างทั้งหมดในแพลตฟอร์ม AI ทั่วไป มันเหมือนกับ LangChain ที่มีน้ำหนักเบาสำหรับ Swift เป้าหมายคือทำให้การพัฒนา Swift แบบเนทีฟด้วย generative AI รวดเร็ว ง่ายดาย และสนุก!
...
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 API ของผู้ให้บริการโมเดล คุณสามารถใช้สิ่งเหล่านี้ได้โดยตรง แต่ API จะแตกต่างกันเล็กน้อย