Checkpoint: Button with code sending
import SwiftUI
import OpenAISwift
let API_KEY = "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"
struct ContentView: View {
@State private var inputText = ""
@State private var outputText = ""
let openAI = OpenAISwift(authToken: API_KEY)
var body: some View {
VStack {
TextField("Hi! I'm your friendly AI, ask me anything.", text: $inputText)
.textFieldStyle(.roundedBorder)
.padding()
Button("Send to ChatGPT") {
sendRequest()
}
.buttonStyle(.borderedProminent)
Text(outputText)
}
}
func sendRequest() {
let chat: [ChatMessage] = [
ChatMessage(role: .system, content: "You are a helpful assistant who answers questions for the user."),
ChatMessage(role: .user, content: inputText)
]
Task {
do {
let result = try await openAI.sendChat(with: chat, temperature: 0.8)
await MainActor.run {
outputText = result.choices?.first?.message.content ?? "No result"
}
} catch {
print(error.localizedDescription)
}
}
}
}