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는 약간 다릅니다.