网站搭建|本地调用 OpenAI 开放 API 接口指南

一、引言

在分享如何调用 OpenAI 开放的 API 之前,首先简要梳理几个基本概念:OpenAI、GPT-3.5、ChatGPT 和 API。

OpenAI:根据维基百科的定义,OpenAI 是一个美国人工智能研究实验室,由非营利组织 OpenAI Inc 和其营利子公司 OpenAI LP 组成。

ChatGPT:OpenAI 开发的人工智能聊天机器人应用,于 2022 年 11 月推出。ChatGPT 基于 GPT-3.5 和 GPT-4 模型架构,专门设计用于完成会话任务。因此,ChatGPT 既指聊天应用,也指代语言模型。

GPT-3.5:从技术升级的角度对 GPT 模型的命名。GPT-3.5 是基于 GPT-3 进行指令调优和 RLHF 调优的(GPT-3 是目前唯一支持微调的模型),参数数量估计与 GPT-3 相同,均为 1750 亿。根据官方文档,GPT-3.5-Turbo 经过蒸馏或缩减,实际参数可能只有十几亿(因此速度快且成本低)。

GPT-3.5 系列模型包括 Ada、Babbage、Curie、Davinci 和 Turbo 模型。前四者是不同规模和能力的语言模型,具体可参考 官方文档,使用时可根据应用场景选择。

API:应用程序接口(Application Programming Interface,简称 API)。API 可以连接两个独立程序,实现数据传输,减少技术人员的重复性工作。

举个例子,研发人员 A 开发了软件 A,研发人员 B 正在研发软件 B。有一天,研发人员 B 想调用软件 A 的部分功能,但不想从头查看软件 A 的源码和功能实现过程。研发人员 A 提出一个好主意:将软件 A 中需要的功能打包成一个函数,按照流程将该函数放入软件 B 中,就能直接使用软件 A 的功能了。

同理,如果我们想为自己开发的应用增加 GPT-3.5 模型的对话功能,可以直接使用 OpenAI 提供的 API 接口,无需本地部署一个 GPT-3.5(这也不现实)。

二、OpenAI 开放的 API 接口简介

三、使用 PHP 调用 OpenAI 开放的 API

OpenAI 官方文档中提供了三种 API 调用方式,分别是 cURL、Python 和 Node.js。cURL 是一个用于请求 Web 服务器的命令行工具,可以简单类比为模拟人通过浏览器访问网页获取数据。本教程中我们使用 cURL,将其转为 PHP 进行 API 调用。以下是以 Completion 为例的具体调用步骤:

1. 将 cURL 转为 PHP

这里推荐使用 curl-to-php 网站对官方提供的代码进行转换:curl-to-php

官方提供的 API 调用代码如下:

bash
curl https://api.openai.com/v1/completions \
-H “Content-Type: application/json” \
-H “Authorization: Bearer $OPENAI_API_KEY” \
-d ‘{
“model”: “text-davinci-003”,
“prompt”: “Say this is a test”,
“max_tokens”: 7,
“temperature”: 0
}’

转换后的 PHP 代码为:

php

2. 调整转换后的 PHP 代码

  1. 由于官方提供的 API 地址在国内无法访问,因此需要对其进行反向代理,操作步骤如下:
    https://api.openai.com 替换为 https://fandai.wanglin.blog

bash

官方 API 地址

curl https://api.openai.com/v1/completions \

反向代理后的 API 地址

curl https://fandai.wanglin.blog/v1/completions \

反向代理网址的配置方式可参考这篇文章:反向代理配置

  1. 添加自己的 API Key

php

源代码

$headers[] = ‘Authorization: Bearer $OPENAI_API_KEY’;

替换后的代码

$headers[] = “Authorization: Bearer sk-****”;

  1. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 下添加以下两行代码,禁用 SSL 证书验证。

php

使用 cURL 发送 HTTPS 请求时禁用 SSL 证书验证

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

  1. 在最后一行添加以下两行代码,将 API 返回结果全部输出。

php
$result = json_decode($result);
var_dump($result);

最终的完整代码如下:

php

将上述代码保存为 0723.php 文件(推荐使用 VSCode 进行编辑)。

3. 配置环境

请注意,不要将 PhpStudy 安装到 C 盘!具体安装配置教程可参考下列视频:安装配置教程

  1. 根据自己的电脑系统,下载对应版本的 PhpStudy。

  2. 在软件管理界面安装对应工具。

  3. 打开网站 -> 管理 -> 根目录,将 PHP 文件移动到 WWW 文件夹下。

  4. 网页访问:localhost/0723.php

页面返回结果如下,其中包含了我们需要的结果和其他内容。

4. 美化页面

现在,生成的内容仅仅是我们需要的内容!但是,目前的网页略显简陋,我们可以让 ChatGPT 帮我们写一个输入框和输出框,美化一下页面,并给网页起个名字,叫 MyGPT。

html




MyGPT


MyGPT




choices[0]->message->content;
}
?>


现在,我们就有了一个可以交互的 ChatGPT 界面!我们还可以调整我们的 prompt,让 ChatGPT 进一步美化界面!

同理,按照这个方法,你还可以调用图像的 API,效果图分享:

四、主要参考文献

👉 野卡 | 一分钟注册,轻松订阅海外线上服务

(0)
上一篇 7小时前
下一篇 4小时前

相关推荐