Swift를 사용하여 Openai Chatgpt 공식 API에 액세스하십시오. 모든 Apple 플랫폼에서 작동합니다.
platform :ios , '15.0'
use_frameworks!
target 'MyApp' do
pod 'ChatGPTSwift' , '~> 1.3.1'
end OpenAI에서 API 키에 등록하십시오. API 키로 초기화하십시오
let api = ChatGPTAPI ( apiKey : " API_KEY " ) 2 개의 API가 있습니다 : 스트림과 정상
서버는 완료 될 때까지 데이터 청크를 스트리밍 AsyncThrowingStream .
Task {
do {
let stream = try await api . sendMessageStream ( text : " What is ChatGPT? " )
for try await line in stream {
print ( line )
}
} catch {
print ( error . localizedDescription )
}
}일반적인 HTTP 요청 및 응답 라이프 사이클. 서버는 전체 텍스트를 보냅니다 (응답에 더 많은 시간이 걸립니다)
Task {
do {
let response = try await api . sendMessage ( text : " What is ChatGPT? " )
print ( response )
} catch {
print ( error . localizedDescription )
}
}
선택적으로 모델, 시스템 프롬프트, 온도 및 모델을 제공 할 수 있습니다.
let response = try await api . sendMessage ( text : " What is ChatGPT? " ,
model : " gpt-4 " ,
systemText : " You are a CS Professor " ,
temperature : 0.5 )이 매개 변수의 기본값은 다음과 같습니다.
gpt-3.5-turboYou're a helpful assistant0.5이러한 매개 변수에 대한 자세한 내용은 공식 ChatGpt API 문서 및 ChatGpt API 소개 페이지를 방문 할 수 있습니다.
클라이언트는 새로운 프롬프트에 포함될 대화의 기록 목록을 저장하므로 Chatgpt는 이전 대화의 컨텍스트를 알게됩니다. 새 프롬프트를 보낼 때 클라이언트는 토큰 수가 gptencoder 라이브러리를 사용하여 4096을 초과하지 않도록하여 토큰을 초과 할 경우, 일부 대화 중 일부는 잘릴 것입니다. 앞으로 나는 새로운 GPT-4 모델이 프롬프트에서 훨씬 더 큰 8k 토큰을 허용하므로 토큰 임계 값을 지정하기 위해 API를 제공 할 것입니다.
historyList 속성에서 현재 역사 목록을 볼 수 있습니다.
print ( api . historyList )호출하여 기록 목록을 삭제할 수도 있습니다
api . deleteHistoryList ( )자신의 역사 목록을 제공 할 수 있습니다. 이것은 저장된 역사 목록을 대체합니다. 4096 토큰 임계 값을 통과하지 마십시오.
let myHistoryList = [
Message ( role : " user " , content : " who is james bond? " )
Message ( role : " assistant " , content : " secret british agent with codename 007 " ) ,
Message ( role : " user " , content : " which one is the latest movie? " ) ,
Message ( role : " assistant " , content : " It's No Time to Die played by Daniel Craig " )
]
api . replaceHistoryList ( with : myHistoryList ) 또한 OpenAI GPT 모델을위한 Gptencoder Swift BPE Encoder/Decoder를 만들었습니다. OpenAi GPT API의 텍스트 토큰 화를위한 프로그래밍 인터페이스.
또한 GPM LIB 인 GPTTokenizeRui를 만들었습니다. 앱에 통합하여 GUI를 입력하고 GPT API가 사용하는 토큰 화 결과를 표시 할 수 있습니다.
Swiftuichatgpt Repo에서 iOS 및 MacOS 용 데모 앱을 확인할 수 있습니다.