最近流行りのChatGPTのAPIをSwiftで叩いてみました。
完成
質問したら、数秒後に回答が返ってきます。
サンプルコード
前提として、SPMでOpenAISwiftをインポートしてください。
検索URLはこちら「https://github.com/adamrushy/OpenAISwift
」
次に、OpenAIのAPIのキーが必要になるので、こちらのサイトで[Create new secret key]ボタンを押してAPIキーを取得してください。取得したAPIキーはここにAPIキーを記載
というところに置き換えてください。
import SwiftUI import OpenAISwift struct ContentView: View { @State private var inputText = "" @State private var messageArray: [String] = [] private var client = OpenAISwift(authToken: "ここにAPIキーを記載") var body: some View { VStack(alignment: .leading) { ForEach(messageArray, id: \.self) { message in Text(message) Spacer() } HStack { TextField("ここに質問を入力", text: $inputText) Button("送信") { send() } } } .padding() } func send() { guard !inputText.trimmingCharacters(in: .whitespaces).isEmpty else { return } messageArray.append("自分: \(inputText)") client.sendCompletion(with: inputText, maxTokens: 500, completionHandler: { result in switch result { case .success(let model): DispatchQueue.main.async { let output = model.choices.first?.text ?? "" self.messageArray.append("ChatGPT: \(output)") self.inputText = "" } case .failure: break } }) } }