chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

时间:2022-12-17 16:51:27

前沿

可能有人在问我,勇哥为什么chatGPT都被微信下架了,你还要写相关的chatGPT的文章呢?其实我们先不论微信下架的原因,单说chatGPT的达芬奇模型给勇哥带来的科技感早就超越了一切,所以勇哥依旧决定连续熬两个夜为大家带来这最全的chatGPT赏析文章,希望大家能喜欢。

内容大纲

本篇文章将从chatGPT火的起因讲起,带大家进行试玩,培养大家对chatGPT的兴趣;再给大家说一下如何使用代码去对接chatGPT;最后再给大家说一说chatGPT的工作流程、chatGPT面临的困局,以及分享我用chatGPT落地验收。希望大家喜欢,多多支持。

chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

第一部分:Start

事件起源

马斯克在12月3日发布一条twitter信息,成为了chatGPT火遍全球的导火索。火到自11月30日上线不到5天就突破百万人的注册使用。这是继羊了个羊之后又一互联网科技秀。
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

为什么chatGPT会火?

分析chatGPT背后火的原因:微软大佬站台+马斯克名人宣传,本身就会带来很大的流量;而chatGPT本身也是非常给力,发布了GPT-3模型,取名达芬奇模型,这次模型的更新直接是一次技术的突破展示,点燃大众心中的科技梦想,火就自然水到渠成了。
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

怎么注册chatGPT 账号?

这个账号的注册网上流程非常多,我就不展开细说了,在这里就提醒一下几点:

  • 注册的邮箱最好是QQ优先,成功率高
  • 注册需要访问国外网站,用的的TZ下面截图中有二维码自己可以去下载
  • 虚拟手机号选择印度的成功率高
    chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

试玩一下chatGPT

写情书

让chatGPT帮我写了一份情书,整得还挺好,赞一个。
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

老胡觉得(梗)

这是一个非常有意思的梗,我是在网看见的,要求chatGPT必须按照"老胡觉得"来说话。

chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

找美女图

我帮大家考验了一下chatGPT,还是非常站的,经过了考验!
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

如何挣一个亿?

chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

写代码

chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

写歌词

chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

写prompt生成二次元图片

chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

第二部分:Action

怎么用程序接入chatGPT?

接入步骤

我们用程序接入chatGPT非常简单,直接用chatGPT去创建一个程序要用的秘钥,就可以使用http接口调用了。
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

官方支持的SDK

chatGPT的官网openai为我们提供大量语言快速开发的SDK,详情如下:
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

费用说明

程序接入到chatGPT,所调用的接口,都是收费接口,不过还好的是每一个新注册的账号头3个月免费使用,总消费额度不超过18美元即可。另外下图4个方块就是nlp的模型,左边ada速度最快,右边达芬奇功能最强大。
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

接入chatGPT你的程序能做的49件事情

当你开通chatGPT之后,你的程序就可以通过接口完成以下基本的49件事情了;我给大家都批注好了,那一项不明白的就评论区交流;下面每一项勇哥都熬夜晚过了,非常NICE。
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

接入chatGPT代码开发实战

接下来勇哥就带大家来尝鲜几个案例场景,使用代码进进行交互。值得说明的是,下面是JAVA,但是其它语言的比如Python、Node.js等都可以参考下面代码中的参数说明。

如何进行问答程序开发?

Java 对接chatGPT非常简单,导入相关的依赖,然后构建OpenAiService实例,填写相关参数,就可以发送我们的问题,返回结果是问题答案。
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

public class OpenAi01 {
    public static void main(String[] args) {
        OpenAiService service = new OpenAiService(Constants.OPENAPI_TOKEN);
        CompletionRequest completionRequest = CompletionRequest.builder()
                .model("text-davinci-003")
                .prompt("Q: 今天重庆的天气咋样?\nA:")
                .temperature(0D)
                .maxTokens(1000)
                .topP(1D)
                .frequencyPenalty(0D)
                .presencePenalty(0D)
                .stop(Arrays.asList("\n"))
                .build();
        service.createCompletion(completionRequest).getChoices().forEach(System.out::println);
    }
}

如何进行聊天程序开发?

chatGPT支持多种多样的机器人,和什么样的机器人聊天,就会获得相关的体验感。比如下面程序与摆烂机器人聊天,机器人是一种消极的态度,回答的答案也是一种消极的。相关代码与上面一样,但是注意参数值的变化!
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

public static void main(String[] args) {
        OpenAiService service = new OpenAiService(Constants.OPENAPI_TOKEN);
        CompletionRequest completionRequest = CompletionRequest.builder()
                .model("text-davinci-003")
                .prompt("Marv不情愿的回答问题.\\nYou: 一公里多少厘米?\\nMarv:")
                .temperature(0.5D)
                .maxTokens(200)
                .topP(0.3D)
                .frequencyPenalty(0.5D)
                .presencePenalty(0D)
                .build();
        service.createCompletion(completionRequest).getChoices().forEach(System.out::println);
    }

如何进行图片生成开发?

很遗憾官网客户端不支持图片的生成,就只能通过自己发起http请求了。下面是让chatGPT帮我们生成性感美女的代码,超级NICE自己去体会吧~
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

    public static void main(String[] args) throws IOException {
        Document document = Jsoup.connect("https://api.openai.com/v1/images/generations")
                .header("Authorization", "Bearer " + Constants.OPENAPI_TOKEN)
                .header("Content-Type","application/json")
                .ignoreHttpErrors(true)
                .ignoreContentType(true)
                .requestBody(
                        "{" +
                                "\"prompt\":\"性感美女\"," +
                                "\"n\":1," +
                                "\"size\":\"1024x1024\"," +
                                "\"response_format\":\"url\"" +
                            "}"
                )
                .post();
        JSONObject jsonObject = JSON.parseObject(document.body().text());
        JSONArray data = jsonObject.getJSONArray("data");
        for (int i = 0; i < data.size(); i++) {
            JSONObject temp = data.getJSONObject(i);
            System.out.println(temp.get("url"));
        }
    }

如何自动生成SQL开发?

chatGPT支持两种SQL的生成,一种支持上下文依赖,一种不支持,下面代码样式的是第2种,既没上下文依赖。
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

public static void main(String[] args) {
        OpenAiService service = new OpenAiService(Constants.OPENAPI_TOKEN);
        CompletionRequest completionRequest = CompletionRequest.builder()
                .model("text-davinci-003")
                .prompt("设计一张用户信息表")
                .temperature(0.3D)
                .maxTokens(1000)
                .topP(1D)
                .frequencyPenalty(0D)
                .presencePenalty(0D)
                .build();
        service.createCompletion(completionRequest).getChoices().forEach(System.out::println);
    }

如何自动生成代码开发?

chatGPT可以帮我们生成很多开发语言的代码,除此之外还支持了bug修复、代码解释等功能。下面代码是让chatGPT帮我们生成一个java代码,创建线程池。
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

public static void main(String[] args) {
        OpenAiService service = new OpenAiService(Constants.OPENAPI_TOKEN, 60000);
        CompletionRequest completionRequest = CompletionRequest.builder()
                .model("text-davinci-003")
                .prompt("用阿里的sdk创建发送短信额java代码")
                .temperature(0.3D)
                .maxTokens(1000)
                .topP(1D)
                .frequencyPenalty(0D)
                .presencePenalty(0D)
                .build();
        service.createCompletion(completionRequest).getChoices().forEach(System.out::println);
    }

其它44个场景的开发流程

虽然勇哥在上面只给大家讲解了5个场景,但是其它场景勇哥也给你们考虑到了。chatGPT官网实际上也是通过了在线体验的界面,比如下图选择把一句话翻译成多国语言,运行了演示效果,满意后,直接从View code中就能拷贝代码。
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

第三部分:End

一张图说明chatGPT工作原理

项目这个图说明,我在《用一张图说一说 ChatGPT 内部技术工作流程》这篇文章中已经阐述了,在此就不做多余的赘述。
chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

chatGPT存的问题

chatGPT当前的表现已经是非常卓越的了,但是未来它还有更长的路要走,以下三个问题是chatGPT目前面临的现实,尽管如此,我本人对chatGPT依旧是期待与关注。

chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

慢的问题

chatGPT火遍全球,涌入了大量的访问者,那么这就是chatGPT慢的原因吗?其实不然,试想chatGPT背后那么多大佬,不缺服务器,但为什么依旧接近不了慢、网络错误等问题呢?AI算力是核心关键,如下图大量用户访问chatGPT,chatGPT要并发的从海量数据模型中去计算用户请求的真实目的,并给出正确结果。这需要非常庞大的算力,而这个正是卡主chatGPT脖子的事情。

chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

错的问题

网上也有一大堆网友在调侃chatGPT的错误,其实这是真实存在的,如下图评价歌曲明显是回答有偏差了。那么这说明chatGPT还有努力的空间,同时也方向证明了,大佬都解决不了的问题,它本身就具有很高的复杂性。

chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

广的问题

chatGPT在一些领域还支持不到位或者说直接不支持,这表现出chatGPT的广度还有待提高,但他为什么没扩大广度呢?其实这个问题还得回归算力和成本上来。GPT-3模型训练一次需要花费460万美元,这是非常非常高成本的事情,换你会做吗?

chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

openAi实战

最后勇哥也是更大家分享一下,我用openAi开发或者完的两个落地项目。

AI+数据库软件生成SQL

首选选中多张表,限定一下SQL生成的表和字段的范围,然后在告诉chatGPT帮生成SQL的话术,点击Run就可以生成一条准确的SQL语句,在生成SQL的地方直接点击运行即可查询出数据库中的数据。有这样的功能,还用担心SQL不会写了吗?

chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南

OpenAi+NovalAi双Ai的玩法

NovalAi是一个用于生成二次元图片的AI绘图工具;他们组合的玩法是让OpenAi生成NovalAi所需的prompt,这个用代码能够快速实现。然后把生成好的prompt张贴到NovalAi即可生成漂亮的图片了。

chatGPT的49种应用场景,及各开发语言对接chatGPT参考指南