赞
踩
Chat-GPT 是一个基于 GPT-3.5 架构训练的大型语言模型,可以用于各种自然语言处理任务,例如文本生成、对话系统、语言翻译等。本文通过接入 GPT-3.5,实现AI聊天。
实现效果:
1.已成功注册 OpenAI 的账号;
2.创建 API KEY,这个 API KEY 是用于 API 请求身份验证的,一个 OpenAI 账号可以创建多个 API KEY。
3.官方 API 文档链接 :https://platform.openai.com/docs/api-reference/introduction
1.本文接入的是gpt-3.5,文档链接:https://platform.openai.com/docs/api-reference/chat/create
2.API 接入详解:
2.1 请求url地址:
https://api.openai.com/v1/chat/completions
2.2 请求头:
添加头字段Authorization,值为Bearer YOUR_API_KEY(创建的API KEY)来验证身份
2.3 请求参数:
设置 model,使用的是 gpt-3.5;
设置 messages,包含 role(角色) 和 content(内容) 参数,这里使用 role(角色)是 user(用户),content 是用户输入的内容;
- {
- "model": "gpt-3.5-turbo",
- "messages": [{"role": "user", "content": "Hello!"}]
- }
3.使用OkHttp完整请求
- fun jinOpenApi(prompt: String, callback: ICallback<String>?) {
- val completionJSON = "{\n" +
- " \"model\": \"gpt-3.5-turbo\",\n" +
- " \"messages\": [{\"role\": \"user\", \"content\": \"$prompt\"}]\n" +
- "}\n"
- val okClient = OkHttpClient().newBuilder().build()
- val mediaType = "application/json".toMediaTypeOrNull()
- val body = RequestBody.create(mediaType, completionJSON)
- val request = Request.Builder()
- .url("https://api.openai.com/v1/chat/completions")
- .method("POST", body)
- .addHeader("Authorization", "Bearer $YOUR_API_KEY")
- .addHeader("Content-Type", "application/json")
- .build()
- GlobalScope.loadData(
- load = {
- okClient.newCall(request).execute()
- },
- response = {
- if (it?.isSuccessful == true) {
- val data = it?.body!!.string()
- Log.i(TAG, "jinOpenApi data $data")
- val dataJSON = JSONObject(data)
- val choices = dataJSON.getJSONArray("choices")
- if (choices != null && choices.length() > 0) {
- val choicesJSON = choices.getJSONObject(0)
- val messageJSON = choicesJSON.getJSONObject("message")
- val content = messageJSON.optString("content")
- callback?.onSuccess(content)
- }
- }
- },
- error = {
- callback?.onFailed("400", it)
- }
- )
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。