swift gen kit
1.0.0
GenKit は、生成 AI プラットフォーム間のすべての違いを抽象化するライブラリです。これは、Swift 用の軽量の LangChain のようなものです。目標は、生成 AI を使用したネイティブ 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 )
}
Heat は GenKit の使用方法の良い例です。
セッションは最高レベルの抽象化であり、最も使いやすいものです。これらはループ内で実行され、必要に応じてツールを呼び出し、作業が完了するまでツールの応答をモデルに送り返します。
サービスは、多くのプラットフォーム間で動作するための共通のインターフェイスです。コードを変更することなく、基盤となるプラットフォームをシームレスに切り替えることができます。
プロバイダー パッケージは、モデル プロバイダー REST API と直接通信する迅速なインターフェイスです。これらを直接使用できますが、API は若干異なります。