前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一文弄懂ChatGPT API接入指南

一文弄懂ChatGPT API接入指南

原创
作者头像
用户10329080
发布2023-04-10 08:37:08
5.9K0
发布2023-04-10 08:37:08
举报
文章被收录于专栏:知识互联、传递正能量

开启知识互联的成长之旅!一起探索和学习人工智能的知识-ChatGPT的API接入学习。

最近火爆全网的 ChatGPT 。我抱着好奇的心也去官网注册账号体验了一下,感觉非常好用而且给的答案也是非常全面和精确。省去了我们四处搜集资料的时间,提高了平时工作效率。我相信未来一定会大规模使用在实体经济产业中,提升企业经营效率和降低成本。如果大家还没注册的话可以关注我视频号查看,手办手教你注册ChatGPT:

准备工作

ChatGPT API 接入需要如下条件。

  1. 已成功注册OpenAI的账号。
  2. 创建 API KEY,这个 API KEY 是用于 HTTP 请求身份验证的,可以创建多个。如下图点击“Create new secret key“,注意这个创建之后需要马上复制好保存,关闭弹框之后就看不到了。

  1. 官方 API 文档链接 API
  2. API 调用是收费的,但是 OpenAI 已经为我们免费提供了5美元的用量,足够大家放心使用,调用一次花费2毛钱。

接口调用实例

问答接口

该接口功能较多,支持常用的问答功能。

  1. 请求方式,Post
  2. url:https://api.openai.com/v1/completions
  3. 接口的文档:https://platform.openai.com/docs/api-reference/completions/create
  4. 请求体 (json)。
代码语言:javascript
复制
{
  "model": "text-davinci-003",
  "prompt": "Hello",
  "max_tokens": 1,
  "temperature": 0,
  "top_p": 1,
  "n": 1,
  "stream": false
}

请求参数字段释义

请求例子

该文使用OkHttp网络请求框架,Json序列化对象成json请求串,代码如下:

OkHttp 的初始化。
代码语言:javascript
复制
private final OkHttpClient okHttpClient = new OkHttpClient.Builder()
        .connectTimeout(5, TimeUnit.SECONDS)
        .writeTimeout(5, TimeUnit.SECONDS)
        .readTimeout(20, TimeUnit.SECONDS)
        .callTimeout(90, TimeUnit.SECONDS)
        .build();
定义请求类。
代码语言:javascript
复制
private static class CompletionRequest {
    private String model = "text-davinci-003";
    //输入的问题
    private String prompt;
    //最大token数
    private Integer max_tokens = 128;
    private float temperature = 0.5f;
    private Integer top_p = 1;
    private Integer n = 1;
    private Boolean stream = false;
    private Boolean logprobs;
    private String stop;
}
定义请求方法。

使用OkHttp发送请求。这里需要注意的是在每个POST请求中需要添加header参数Authorization,值为Bearer ${your_api_key}来验证身份,就是上面的SECRET KEY。

代码语言:javascript
复制
public void completion(String prompt) throws IOException {
    CompletionRequest request = new CompletionRequest();
    //设置问题
    request.setPrompt(prompt);

    String rquestJson = json.toJson(completionRequest);
    Request req = new Request.Builder()
            .url("https://api.openai.com/v1/completions")
            // 将 API_KEY 替换成自己的 SECRETI KEY
            .header("Authorization", "Bearer " + API_KEY)
            .post(RequestBody.create(MEDIA_TYPE_JSON, rquestJson))
            .build();

    try (Response response = okHttpClient.newCall(request).execute()) {
        if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
        //返回的结果格式也为json形式:注意内容是以\n进行换行的
        System.out.println(response.body());
    }
}

响应结果格式

代码语言:javascript
复制
{
  "id": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7",
  "object": "text_completion",
  "created": 1589478378,
  "model": "text-davinci-003",
  "choices": [
    {
      "text": "\n\n1.This is indeed a test\n\n2.This is a test",
      "index": 0,
      "logprobs": null,
      "finish_reason": "length"
    }
  ],
  "usage": {
    "prompt_tokens": 5,
    "completion_tokens": 7,
    "total_tokens": 12
  }
}

总结

通过上面一个问答请求的例子,相信大家已经知道了如何将 ChatGPT API 接入到自己的应用了。OpenAI 还提供了很多其他有用的接口,这里就不一个一个说明了,大家可以自行去官网查看文档,包括如何生成图片、聊天等接口。

写在最后

如果你对我感兴趣,+v:zsht0101,进一步了解。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
  • 接口调用实例
    • 问答接口
      • 请求参数字段释义
        • 请求例子
          • OkHttp 的初始化。
          • 定义请求类。
          • 定义请求方法。
        • 响应结果格式
        • 总结
        • 写在最后
        相关产品与服务
        多因子身份认证
        多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档