Untitled
unknown
plain_text
2 years ago
2.1 kB
12
Indexable
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)
            }
        }
        
    }
}Editor is loading...