ChatGPT 使用与接口开发

作者: Louis 发布时间: 2023年2月10日 浏览: 1580

ChatGPT 突然火的一塌糊涂,用了半天时间研究测试了一下,它输出的内容很专业,在某些领域应该可以替代人工,相信会催生出很多新的商业模式和创新项目。

先说一下如何注册账号

注册条件:

  1. 国外的IP,ChatGPT 网站有IP 检测,必须是国外的 IP
  2. 国外的手机号,可购买国外的虚拟手机号,如:https://sms-activate.org/

注册网址:

https://chat.openai.com/

打开以上网址,点击“sign up”注册,注册过程中需手机验证码

 

注册登录后,界面是个聊天窗口,但不要把它当成一个聊天机器如,可在对话框输入文本告诉它你想让它帮你做什么:

文章文案测试:

creation.jpg

人机交互过程会自动理解和处理上下文,输出内容的字数有一定限制。

编写代码测试:

php-code.jpg

还贴心的提示了要安装 OCI8 扩展

好了,以上就是简单的注册以及使用,由于不可解释的原因,国内IP是无法访问官网,需要自行解决梯子问题。

如果你是程序开发人员,有自己的系统和业务集成,可以接着往下看。

作为程序开发者,我们首先想到的是它有没有接口调用,是否可以封装,二次开发?跟我们自己的系统进行集成。经过我们不懈努力下,终于找到了官方的API和开发文档:

API

官方有提供 API,需先获取 API Key。

访问  https://platform.openai.com/ 点击右上角的头像,下拉选择 “view api keys”

chatgpt-api-key.jpg

 

PHP 调用 OpenAI  的 ChatGPT 提示语应答接口 简单例子:

<?php
set_time_limit(300);
 
$url = 'https://api.openai.com/v1/completions';
$apiKey = 'sk-**********';  // API密销
 
$options = [
	CURLOPT_URL => $url,
	CURLOPT_CONNECTTIMEOUT => 15,
	CURLOPT_TIMEOUT => 300,
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
	CURLOPT_SSL_VERIFYPEER => false,
	CURLOPT_SSL_VERIFYHOST => false,
	CURLOPT_HTTPHEADER => [
		'Content-Type: application/json',
		'Authorization: Bearer ' . $apiKey
	],
	CURLOPT_POST => 1,
	CURLOPT_POSTFIELDS => json_encode([
		'model' => 'text-davinci-003', // 模型
		'prompt' => '自动化营销', // 提示语
		'max_tokens' => 2048, // 最大分词数
	])
];
 
$curl = curl_init();
curl_setopt_array($curl, $options);
$response = curl_exec($curl);
curl_close($curl);
 
print_r($response);

运行结果示例:

{
    "id":"cmpl-6hSIfBuk7fAsfzlCuGkuuOW2vnTwC",
    "object":"text_completion",
    "created":1675814909,
    "model":"text-davinci-003",
    "choices":[
        {
            "text":"过程 \n\n自动化营销过程包括:\n\n1.生成营销名单:为了提高营销风险管理和营销成效,通过客户关系管理(CRM)系统自动生成营销名单,以便确定营销目标市场。\n\n2.创建和发送营销活动:使用CRM系统自动化活动开发,包括创建营销电子邮件,社交媒体推文,搜索广告和社交网络广告,以及其他宣传品。在同一时间,将通过CRM系统实施这些活动并监控活动结果。\n\n3.分析结果并进行优化:可以通过CRM系统跟踪营销活动的结果,进行细粒度的分析,并对营销内容,媒介和目标细分市场进行优化。\n\n4.同步到业务系统:将跟踪结果自动同步到业务系统,进行管理,以查看客户行为,确保所有客户纪录的一致性和更新。",
            "index":0,
            "logprobs":null,
            "finish_reason":"stop"
        }
    ],
    "usage":{
        "prompt_tokens":13,
        "completion_tokens":653,
        "total_tokens":666
    }
}

代码说明:

  • 接口比较慢,使用中文提示语时,一次调用花费几十秒,需要设置php超时时间,如果有走 CDN / Nginx / Apache,  很容易超时无响应。
  • 接口参数中 model 用于指定迅练好的模型名,其中 text-davinci-003(达芬奇-003)是功能最全,适用于通用场景,如果用于特殊场景,可选择特定的模型,如处理代码, 用 达芬奇-002 更合适。

    模型名 描述 最大请求分词数 讯练至

    text-davinci-003

    达芬奇-003

    Most capable GPT-3 model. Can do any task the other models can do, often with higher quality, longer output and better instruction-following. Also supports inserting completions within text.

    最强大的GPT-3模型。可以完成其他模型支持的所有任务,且质量更高,输出更长,更符合提示语。还支持在文本中插入完成。

    4,000 tokens Up to Jun 2021

    text-curie-001

    居里-001

    Very capable, but faster and lower cost than Davinci.

    很强大,但比达芬奇-003模型更快,更低成本。 

    2,048 tokens Up to Oct 2019

    text-babbage-001

    巴贝奇-001

    Capable of straightforward tasks, very fast, and lower cost.

    能够完成简单任务,速度非常快,成本更低。 

    2,048 tokens Up to Oct 2019

    text-ada-001

    艾达-001

    Capable of very simple tasks, usually the fastest model in the GPT-3 series, and lowest cost.

    能够完成非常简单的任务,通常是GPT-3系列中最快的模型,成本最低。

    2,048 tokens Up to Oct 2019
  • 接口参数中 prompt 用于指定 提示语,ChatGPT 根据提示语生成内容
  • 接口参数中 max_tokens 用于指定最大分词数,将影响返回内容的长短及最终收取的费用。
  • 接口没有限制调用方IP,在国内也可以调用,



更多参数可参看官方文档:

https://platform.openai.com/docs/introduction

 

费用:

新注册的账号有赠送  $18  美元的余额,有120天的有效期限制,按累计分词数(提示语+回复内容的分词数)计费,测试过程中调用了6次接口(累计 1431 个tokens),产生了 $0.07 美元的费用,

官方有提供收费的 Plus 版本,更稳定,速度更快。基础费用:$20美元/月,具体调用费用未找到官方说明,还没来得及测试,应该和免费账号相同。

 

文章出处:我们自己的技术总监个人博客: ChatGPT 使用与接口开发 (liu12.com)

后续:做了简单封装以后,做了服务器异步处理,解决了nginx超时问题。感兴趣的同学可以留言,我们再更新一篇相关文章。后面我们会把系统集成封装的应用场景和方法示例慢慢放出来。

发表评论
最新文章
热门文章
导航