import\sFoundation\n\nfunc\srequestOpenAI(prompt:\sString)\s{\n\s\slet\sapiKey\s=\s"YOUR_API_KEY"\n\s\slet\surlString\s=\s"https://api.openai.com/v1/engines/davinci/completions"\n\s\s\n\s\slet\sheaders\s=\s[\n\s\s\s\s"Content-Type":\s"application/json",\n\s\s\s\s"Authorization":\s"Bearer\s(apiKey)"\n\s\s]\n\s\s\n\s\slet\sparameters:\s[String:\sAny]\s=\s[\n\s\s\s\s"prompt":\sprompt,\n\s\s\s\s"max_tokens":\s50,\n\s\s\s\s"temperature":\s0.8,\n\s\s\s\s"n":\s3\n\s\s]\n\s\s\n\s\sif\slet\sjsonData\s=\stry?\sJSONSerialization.data(withJSONObject:\sparameters, options:\s.prettyPrinted)\s{\n\s\s\s\slet\surl\s=\sURL(string:\surlString)!\n\s\s\s\svar\srequest\s=\sURLRequest(url:\surl)\n\s\s\s\srequest.httpMethod\s=\s"POST"\n\s\s\s\srequest.allHTTPHeaderFields\s=\sheaders\n\s\s\s\srequest.httpBody\s=\sjsonData\n\s\s\s\s\n\s\s\s\slet\stask\s=\sURLSession.shared.dataTask(with:\srequest)\s{\s(data, response, error)\sin\n\s\s\s\s\s\sif\slet\serror\s=\serror\s{\n\s\s\s\s\s\s\sprint("Error:\s(error.localizedDescription)")\n\s\s\s\s\s\s\sreturn\n\s\s\s\s\s\s}\n\s\s\s\s\s\sif\slet\sdata\s=\sdata\s{\n\s\s\s\s\s\s\sdo\s{\n\s\s\s\s\s\s\s\slet\sjson\s=\stry\sJSONSerialization.jsonObject(with:\sdata, options:\s[])\n\s\s\s\s\s\s\s\s\sif\slet\sresponseDict\s=\sjson\sas?\s[String:\sAny],\n\s\s\s\s\s\s\s\s\s\s\slet\schoices\s=\sresponseDict["choices"]\sas?\s[[String:\sAny]]\s{\n\s\s\s\s\s\s\s\s\s\s\s\sfor\schoice\sin\schoices\s{\n\s\s\s\s\s\s\s\s\s\s\s\s\sif\slet\stext\s=\schoice["text"]\sas?\sString\s{\n\s\s\s\s\s\s\s\s\s\s\s\s\s\sprint(text)\n\s\s\s\s\s\s\s\s\s\s\s\s\s}\n\s\s\s\s\s\s\s\s\s\s\s}\n\s\s\s\s\s\s\s\s\s}\scatch\s{\n\s\s\s\s\s\s\s\s\s\sprint("Error:\s(error.localizedDescription)")\n\s\s\s\s\s\s\s\s}\n\s\s\s\s\s\s}\n\s\s\s\s}\n\s\s\s\s\stask.resume()\n\s\s}\n}\n\n//\sUsage\sexample\nlet\sprompt\s=\s"User's\sinput\stext"\n\nrequestOpenAI(prompt:\sprompt)

Swift OpenAI API Integration: Generate 3 Responses with Different Personalities

原文地址: https://www.cveoy.top/t/topic/qqSC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录