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 略有不同。