开发环境
前言
ChatGPT最近反常火爆,大部分同学想必都现已体验过网页版的ChatGPT,这儿跟咱们介绍一下如何经过API的方法,拜访ChatGPT,完成文字互动的基本功用。
ChatGPT API地址
拜访地址:platform.openai.com/docs/api-re…
API运用前要看的(特别注意)
当咱们注册完一个ChatGPT账户后,其实OpenAI送了咱们一个价值18美刀
的额度,你要先看下自己的额度,注意别用的太猛!
OpenAI费用计算方法: 晒下我的额度,并附上拜访地址:platform.openai.com/account/usa…
第一步:创立API-Key
首要必须在你的OpenAI账户中创立用户调用API的Key,也是每个接口必传参数。
创立地址:platform.openai.com/account/api…
创立后的截图
第二部:运用文本方法交互API – 接口地址
文本方法交互也是咱们现在最常常看到的,就和Web网页版是相同的。小编这儿放一下自己的代码,我用Golang和Java分别完成调用API的操作,咱们需求的话,能够直接运用。
Java代码
public class ChatGPTApiClient {
public static void main(String[] args) throws Exception {
String endPoint = "https://api.openai.com/v1/chat/completions";
String apiKey = "输入你自己的API-Key";
OkHttpClient client = new OkHttpClient.Builder()
.proxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 7890)))
.build();
List<Map<String, String>> messages = new ArrayList<>();
messages.add(Map.of("role", "user", "content", "这是我第一次运用API!"));
Map<String, Object> reqBody = new HashMap<>();
reqBody.put("model", "gpt-3.5-turbo");
reqBody.put("messages", messages);
reqBody.put("temperature", 0.7);
RequestBody requestBody = RequestBody.create(JSON.toJSONBytes(reqBody), MediaType.parse("application/json"));
Request request = new Request.Builder()
.url(endPoint)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer " + apiKey)
.post(requestBody)
.build();
Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
System.out.println("Response:" + response.body().string());
} else {
System.out.println("Error:" + response.code() + " " + response.message());
}
}
}
调用API后回来的结果
{
"id": "chatcmpl-6vM23oRLInRE68HE7oEsHhR1rqaGz",
"object": "chat.completion",
"created": 1679127407,
"model": "gpt-3.5-turbo-0301",
"usage": {
"prompt_tokens": 16,
"completion_tokens": 90,
"total_tokens": 106
},
"choices": [
{
"message": {
"role": "assistant",
"content": "\n\n欢迎运用API!API是一种编程接口,能够让您的应用程序与其他应用程序或服务进行交互。运用API能够协助您快速开发应用程序,并使您的应用程序更加功用强 大和易于运用。如果您需求任何协助或支撑,请随时联络咱们!"
},
"finish_reason": "stop",
"index": 0
}
]
}
Golang代码
package main
import (
"encoding/json"
"fmt"
"github.com/go-resty/resty/v2"
)
func main() {
endPoint := "https://api.openai.com/v1/chat/completions"
apiKey := "输入你自己的API-Key"
client := resty.New()
client.SetProxy("http://127.0.0.1:7890")
//恳求报文体
messages := []map[string]string{{"role": "user", "content": "这是我第一次运用API!"}}
reqBody := make(map[string]interface{})
reqBody["model"] = "gpt-3.5-turbo"
reqBody["messages"] = messages
reqBody["temperature"] = 0.7
reqJSON, _ := json.Marshal(reqBody)
resp, err := client.R().
SetHeader("Content-Type", "application/json").
SetHeader("Authorization", fmt.Sprintf("Bearer %s", apiKey)).
SetBody(reqJSON).
Post(endPoint)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("Response:", resp.String())
}
语音、图像和其他接口
有了上述文本接口作为参考,其他接口那还不是信手捏来!
总结
利用ChatGPT API咱们能够灵敏的自己搞个服务玩起来了,前提条件是,不要用国内的网络,代码中我用了Proxy(署理)
,想必咱们都懂得!存在其他问题的小伙伴,欢迎留言评论!
参考文献
- ChatGPT API – platform.openai.com/docs/api-re…