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