首页 程序笔记 通过HTTP POST调用chatGPT的API

通过HTTP POST调用chatGPT的API

背景

从去年十二月份到现在,chatgpt火了很长一段时间,是继Copliot之后又一个智能AI机器人,而且他的功能不限于写代码,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。
引用一段他自己的回复:ChatGPT是一种基于自然语言处理(NLP)的聊天机器人技术,它可以根据用户的输入来生成自然的回复。它使用了一种名为“GPT-3”的深度学习模型,可以根据上下文和历史记录来生成自然的回复。

在线体验:https://qkongtao.cn/chatgpt/

注册

注册可以参考一下这一篇保姆级教程:https://www.51cto.com/article/745771.html

注册的时候大概会比较困难,说一下我注册时的大概步骤吧:

首先肯定就是国内无法进入注册页面,这就需要自行使用梯子进行上网
其次就是注册需要一个可以接受邮件的国外邮箱,我使用得到是Google邮箱,自己有Google账号,所以这一步问题不大
接着需要使用到国外手机号接收验证码,我们可以使用接码平台:https://sms-activate.org/ 这个站点注册一个账号,然后充值0.5$(约3.5¥)足够购买一个openai的接码服务
如果网络没有问题,解码平台使用完,你大概率可以注册成功,接下来就可以使用openai平台免费18$时限三个月的服务了

ChatGpt折腾接入教程在线体验-左眼会陪右眼哭の博客
注意事项:

遇到最大的问题不是注册,而是根本就进不去,这个时候大概率的问题是你的梯子ip被限制或者屏蔽了,你需要尝试其他的梯子进行尝试,也可以使用Chome浏览器的无痕窗口进行尝试

注册完成之后使用chatgpt服务是不需要梯子的,我使用正常上网打开登录即可以进去官网的chatgpt页面

chatgpt可以使用官方提供的接口进行国内调用,不需要梯子。但是接口数据是2021年前的数据,接口调用的chatgpt看起来会没有那么聪明,如果想让chatgpt帮你干活,写代码等,还是选择使用官网提供的chatgpt服务

相关链接:
chatgpt注册:https://chat.openai.com/auth/login
chatgpt官方对话界面:https://chat.openai.com/chat
openai后台界面(个人中心获取api的key):https://platform.openai.com/
chatgpt注册保姆级教程:https://www.51cto.com/article/745771.html
接码平台:https://sms-activate.org/

chatgpt接口使用

获取 API KEY

需要开全局的梯子,选择没有被屏蔽的节点,登录openai后台界面的个人中心(https://platform.openai.com/ ),访问 View API keys → API Keys 页面,点击 Create new secret key 获取一个 openai.api_key 再继续后面的内容。

调用chatgpt的api接口

调用形式

url:https://api.openai.com/v1/completions
method:post
header:{Content-Type:application/json}
Authorization: Bearer 你的OPENAI_API_KEY
{
    model: text-davinci-003,
    prompt: 今天星期几,
    temperature: 0.9,
    max_tokens: 2048,
    top_p: 1,
    frequency_penalty: 0.0,
    presence_penalty: 0.6
}

参数说明:
调用 openai.Completion.create 函数需要了解几个基本参数:

model: 要使用的模型的 ID,访问 OpenAI Docs Models 页面可以查看全部可用的模型
prompt: 生成结果的提示文本,即你想要得到的内容描述
max_tokens: 生成结果时的最大 tokens 数,不能超过模型的上下文长度,可以把结果内容复制到 OpenAI Tokenizer 来了解 tokens 的计数方式
temperature: 控制结果的随机性,如果希望结果更有创意可以尝试 0.9,或者希望有固定结果可以尝试 0.0
top_p: 一个可用于代替 temperature 的参数,对应机器学习中 nucleus sampling,如果设置 0.1 意味着只考虑构成前 10% 概率质量的 tokens
frequency_penalty: [控制字符的重复度] -2.0 ~ 2.0 之间的数字,正值会根据新 tokens 在文本中的现有频率对其进行惩罚,从而降低模型逐字重复同一行的可能性(以恐怖故事为例)
= -2.0:当早上黎明时,我发现我家现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在(频率最高字符是 “现”,占比 44.79%)
= -1.0:他总是在清晨漫步在一片森林里,每次漫游每次每次游游游游游游游游游游游游游游游游游游游游游游游游游游游游游(频率最高字符是 “游”,占比 57.69%)
= 0.0:当一道阴森的风吹过早晨的小餐馆时,一个被吓得发抖的人突然出现在门口,他的嘴唇上挂满血迹,害怕的店主决定给他一份早餐,却发现他的早餐里满是血渍。(频率最高字符是 “的”,占比 8.45%)
= 1.0:一个熟睡的女孩被一阵清冷的风吹得不由自主地醒了,她看到了早上还未到来的黑暗,周围只有像诉说厄运般狂风呼啸而过。(频率最高字符是 “的”,占比 5.45%)
= 2.0:每天早上,他都会在露台上坐着吃早餐。柔和的夕阳照耀下,一切看起来安详寂静。但是有一天,当他准备端起早食的时候发现胡同里清冷的风扑进了他的意识中并带来了不安全感…… (频率最高字符是 “的”,占比 4.94%)
presence_penalty: [控制主题的重复度] -2.0 ~ 2.0 之间的数字,正值会根据到目前为止是否出现在文本中来惩罚新 tokens,从而增加模型谈论新主题的可能性(以云课堂的广告文案为例)
= -2.0:家长们,你们是否为家里的孩子学业的发展而发愁?担心他们的学习没有取得有效的提高?那么,你们可以放心,可以尝试云课堂!它是一个为从幼儿园到高中的学生提供的一个网络平台,可以有效的帮助孩子们提高学习效率,提升学习成绩,帮助他们在学校表现出色!让孩子们的学业发展更加顺利,家长们赶紧加入吧!(抓住一个主题使劲谈论)
= -1.0:家长们,你们是否还在为孩子的学习成绩担忧?云课堂给你们带来了一个绝佳的解决方案!我们为孩子提供了专业的学习指导,从幼儿园到高中,我们都能帮助孩子们在学校取得更好的成绩!让孩子们在学习中更轻松,更有成就感!加入我们,让孩子们拥有更好的学习体验!(紧密围绕一个主题谈论)
= 0.0:家长们,你们是否担心孩子在学校表现不佳?云课堂将帮助您的孩子更好地学习!云课堂是一个网络平台,为从幼儿园到高中的学生提供了全面的学习资源,让他们可以在学校表现出色!让您的孩子更加聪明,让他们在学校取得更好的成绩,快来云课堂吧!(相对围绕一个主题谈论)
= 1.0:家长们,你们的孩子梦想成为最优秀的学生吗?云课堂就是你们的答案!它不仅可以帮助孩子在学校表现出色,还能够提供专业教育资源,助力孩子取得更好的成绩!让你们的孩子一路走向成功,就用云课堂!(避免一个主题谈论的太多)
= 2.0:家长们,您有没有想过,让孩子在学校表现出色可不是一件容易的事?没关系!我们为您提供了一个优质的网络平台——云课堂!无论您的孩子是小学生、初中生还是高中生,都能够通过云课堂找到最合适的学习方法,帮助他们在学校取得优异成绩。快来体验吧!(最大程度避免谈论重复的主题)
stop: 最大长度为 4 的字符串列表,一旦生成的 tokens 包含其中的内容,将停止生成并返回结果
postman测试
如果没有postman,下载地址如下:
链接:https://pan.baidu.com/s/1ASJgyMRAw7RFmteiPXmzSA
提取码:v3ca

使用步骤:

  1. 选择请求方式,接入地址,添加自己账号创建的Token
  2. 请求头中添加Content-Type类型为json
  3. 拼接json格式的入参
  4. 调用成功,返回我们想要的结果了

使用java调用

这里就简单的使用Hutool工具和一个main方法直接请求吧

Hutool官方地址:https://hutool.cn/docs/

引入maven

dependency
groupIdcn.hutool/groupId
artifactIdhutool-all/artifactId
version5.8.10/version
/dependency

Java 代码

注: 下面贴出的代码中,.bearerAuth(“填写自己注册的token”) 需要替换成自己创建的Token密钥

import cn.hutool.http.*;
import cn.hutool.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
public class ChatGptDemo {
public static void main(String[] args) {
    MapString,String headers = new HashMapString,String();
    headers.put(Content-Type,application/json;charset=UTF-8);
 
    JSONObject json = new JSONObject();
    //选择模型
    json.set(model,text-davinci-003);
    //添加我们需要输入的内容
    json.set(prompt,在中国一个25岁的男生应该有多少存款?);
    json.set(temperature,0.9);
    json.set(max_tokens,2048);
    json.set(top_p,1);
    json.set(frequency_penalty,0.0);
    json.set(presence_penalty,0.6);
 
    HttpResponse response = HttpRequest.post(https://api.openai.com/v1/completions)
            .headerMap(headers, false)
            .bearerAuth(填写自己注册的token)
            .body(String.valueOf(json))
            .timeout(5 * 60 * 1000)
            .execute();
 
    System.out.println(response.body());
}
}

choices节点下text节点即为我们想要的结果

{
id: cmpl-6jkLNMajgwtKxnhdob05avTK7d91a,
object: text_completion,
created: 1676360925,
model: text-davinci-003,
choices: [
    {
        text: \n\n这取决于他的收入水平和生活方式。在中国,人们期望一个25岁的男生应该有至少10万元存款。如果他拥有稳定的收入,他应该尽可能多的投资并制定一个合理的储蓄计划。以便日后能够达到这一目标。,
        index: 0,
        logprobs: null,
        finish_reason: stop
    }
],
usage: {
    prompt_tokens: 37,
    completion_tokens: 172,
    total_tokens: 209
}
}

源码在线体验

在线体验:https://qkongtao.cn/chatgpt/

java api封装后台源码

注:使用的是之前Ipcount文章项目的代码:Springbootwebsocket实现IP数据实时统计
下载链接:https://gitee.com/KT1205529635/ip-count

原文地址:https://qkongtao.cn/?p=1533 这里收藏备用,供参考,感谢原作者。

2

站心网

背景 从去年十二月份到现在,chatgpt火了很长一段时间,是继Copliot之后又一个智能AI机器人,而且他的功能..

为您推荐

.net 通过 HttpClient 下载文件同时报告进度的方法

通过 HttpClient 的 ContentLength 很多时候都可以拿到下载的内容的长度,通过 ReadAsync 可以返回当前读到的长度,将读取到的长度加起来就是已经下载的长度看起来很简单,于是直接给代码private static async Task ..

通过js修改tinymce的编辑器的内容

在网页开发中,TinyMCE是一个流行的富文本编辑器。它允许用户轻松地创建和编辑HTML内容,而无需直接操作代码。然而,有时我们可能需要通过JavaScript来动态修改编辑器中的内容。本文将介绍如何使用JavaScript来修改T..

MVC跨域问题 Response for preflight has invalid HTTP status code 405

公司项目H5调用接口遇到Response for preflight has invalid HTTP status code 405这样的错误,是使用PUT方式提交请求接口。Content-Type设置为application/json,JS代码如下:$.ajax({type:"PUT",url:"http://172.1..

IIS中.NET Core报错HTTP Error 500.31 - ANCM Failed to Find Native Dependencies

在IIS部署.NET Core网站报错HTTP Error 500.31 - ANCM Failed to Find Native Dependencies。原因是需要安装.NET Core运行时和ASP.NET Hosting。1 安装.NET Core运行时,目前最新的是ASP.NET Core 运行时 6.0.10(可..

System.InvalidOperationException:“Unable to configure HTTPS endpoint.异常处理

.NET Core网站按F5运行时,在Program.cs里运行到app.Run()的时候报错:System.InvalidOperationException:“Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer ..

使用.NET SDK Betalgo调用OpenAI ChatGPT API 代码示例

首先准备工作是需要有OpenAI的帐号然后获取ApiKey。目前国内IP无法注册和登陆OpenAI。翻墙后注册需要手机验证,可以通过手机验证码平台注册,注册过程非常快,花费大概1元左右。注册方法请看:最新OpenAI ChatGPT注..

程序员开发人员常用工具和网站

给大家分享一些程序员开发人员常用工具和网站,我相信这里总有一款工具适合你。排名不分先后~Visual Studio CodeVisual Studio Code官网地址:https://code.visualstudio.com/Visual Studio Code重新定义和优化了代..

类似sms-activate的国外手机验证码接码平台

很多网站需要通过手机验证码才能注册成功,例如最近大火的ChatGPT的官网OpenAI只能使用国外手机号注册。这里推荐几个可以接收国外手机验证码的平台。sms-activatehttps://sms-activate.org/cn站点推荐:ChatGPT手机..

百度文心一言邀请码如何获得?

3月16日下午,百度于北京总部发布了新一代大语言模型、生成式AI产品文心一言。首批用户即可通过邀请测试码,在文心一言官网体验产品,后续将陆续开放给更多用户。邀请码申请方式请往下看。百度文心官网地址:https://..

免费申请SSL证书的网站教程推荐

现在有很多平台可以申请的免费SSL证书让你的网站提供https服务。一些云服务器平台可能也会有一些免费SSL证书的服务。免费SSL证书安全吗?免费SSL证书可以使用,并且在许多情况下是足够安全的。免费SSL证书可以通过Le..

react使用echart图文教程

可以参考ECharts官网的文档:https://echarts.apache.org/handbook/zh/basics/import在React中使用ECharts可以通过以下步骤:安装ECharts库使用npm或者yarn安装ECharts库:npm install echarts --save引入ECharts库..

量化炒股的原理是什么?量化交易策略有哪些?

量化炒股是一种利用计算机程序和数学模型来进行投资决策的方法。它的原理是通过分析历史市场数据、价格走势、技术指标等多种因素,构建数学模型,用以预测未来股市走势和行情。这些模型能够自动执行交易,以实现更高..

头条搜索站长工具网站提交

头条搜索站长平台官网地址:https://zhanzhang.toutiao.com/头条站长是一款提供网站分析和优化建议的工具,可以帮助站长了解其网站的流量情况、用户行为、页面质量等信息,以便对网站进行优化和改进。它的功能和百度..

类似ChatGPT的AI产品有哪些?

在自然语言处理领域,有一些可以替代ChatGPT的工具和框架,以下是一些比较流行的:Transformer-XL:Transformer-XL是由CMU和Google共同开发的自然语言处理模型,具有较好的上下文理解能力和处理长文本的能力。该模型..

echars k线图tooltip formatter没有执行

使用echars生成k线图时,参考官网的示例发现无法修改tooltip的内容,经过研究发现官网示例代码是不正确的。以名为[K 线图刷选]的K线图为例,因为它的示例里有tooltip formatter的实现代码,但是实际上是没有执行的。..

网站域名年龄对SEO的影响

网站域名年龄对SEO的影响网站域名的年龄可以对搜索引擎优化(SEO)产生影响。一般来说,具有较长历史的域名更容易被搜索引擎认为是可信赖的和有价值的网站。这是因为一个域名在互联网上存在的时间越长,它就越有可能..

AI文本工具网站有哪些?

AI 文本工具是一类利用人工智能技术实现自然语言处理的在线工具。以下是一些常见的 AI 文本工具站,以及它们的简单介绍和官方网址:OpenAI GPT-3 PlaygroundOpenAI GPT-3 Playground 是由 OpenAI 推出的一个在线 AI ..

Quartz.NET-面向.NET的开源作业调度系统

什么是Quartz.NETQuartz.NET是一个流行的开源作业调度框架,可以用于在.NET应用程序中进行作业调度。它是Quartz调度器的.NET实现,提供了高度可定制化的作业调度功能,支持复杂的作业调度需求。Quartz.NET可以让您创..

使用剪映图文成片功能将文章转为视频教程

最近因为ChatGPT的火爆也带火了很多AI工具,今天试用了剪映,它有一个图文成片的功能很强大,我用它尝试把一篇文章转为视频。首先准备文章内容,我直接复制了网站里的这边文章:https://www.leavescn.com/Articles/C..

黑客常用哪些编程语言?

黑客常用的编程语言并不一定只有一种,它们选择的编程语言通常取决于攻击的目标和攻击的方式。以下是一些黑客经常使用的编程语言:Python:Python 是一种通用编程语言,它的简洁性和易用性使得它成为黑客攻击中的一..

发表回复

返回顶部