本文将会介绍,如何找到API文档和相应语言SDK,并使用PHP调用SDK实现本地请求API的完成过程及遇到的问题和解决方法。
1.打开官网
ChatGPT: Optimizing Language Models for Dialogue
2.找到API
3.查看文档
4.找到sdk库
OpenAI API
5.主流语言
6.PHP SDK链接
这两个都可以用,这里只做了第二个的使用讲解。
Tectalic是一个sdk,所有API的使用方法都已经封装好,具体业务逻辑需要我们去另外实现调用。
1.下载解压
下载解压到网站根目录,重命名为chatGPT。
2.新建demo
创建一个demo.php,从文档里拷贝一个例子到本地demo。
telegram最新的官方下载地址
3.注意php版本
4.更新本地类库
发现这个类 提示有问题。
请求响应500
发现Authentication类中HttpMessag库文件没有
看一下composer.json require有php-http/message
应该是GPT SDK中没有这个库文件;为防止其他类库文件不存在,
使用composer更新一下本地类库。
ChatGPT文件夹下打开命令行,执行命令:
telegram最新的中文版的下载网站在哪里
5.加载依赖
Authentication类显示正常了。
6.安装GuzzleHttp
在访问一下报错:
Fatal error: Interface 'PsrHttpClientClientInterface' not found in D:phpstudy_proWWWchatGPTsrcClient.php on line 43
无障碍中文版的telegram哪里有
GuzzleHttp类库找不到。这个类库是Guzzle 是一个 PHP HTTP 客户端。在框架中一般都安装好了;现在没在框架中所以需要重新安装一下。
安装:
还是在chatGPT文件夹命令行执行
安装完成,显示如下:
7.更新本地证书
请求报错:
Fatal error: Uncaught GuzzleHttpExceptionRequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate
其原因可能是本地的CURL的SSL证书太旧了或者没有该证书,导致不识别此证书
解决方法:
下载最新的证书(https://curl.haxx.se/ca/cacert.pem),编辑 php.ini 文件,找到 curl.cainfo,去掉 curl.cainfo 前面的注释“;”,然后在后面写上cacert.pem证书的完整路径及文件名
接下来重启php服务即可。
8.未成功响应
报错:
Fatal error: Uncaught TectalicOpenAiClientException: Unsuccessful response. HTTP status code: 401
原因:
提示未成功响应,401又表示未经授权;看着像是api key有问题。
调试半天,又换成python试了试,
总算找到原因,去掉getenv()函数
这个是用来取环境配置中的变量,我这边直接定义了key,不需要用这个函数。
去掉之后,尝试成功!
9.最终实现
代码如下:
最终效果:
文档还是很不完善,从上午开始弄,到下午才算完成;发现使用API,得到的答案和GPT网站答案都不一致,同样问题多问几次API的答案就乱了,也不知道回答的是什么。
开始我还以为可能需要翻墙请求呢,实际不需要,不过也响应很慢,在项目中使用,还是再观察。 telegram最新的中文的下载网址是什么接下来在调试几天,看看别的功能和参数。