名称 | 必填 | 类型 | 描述 | 示例 |
---|---|---|---|---|
token | true | string | 请求token,用户中心获取。 | 用户中心获取token |
content | string | 需要对话的内容,如:帮我写一封情书。 | ||
message | string | ChatGPT消息请求格式 | ||
max_tokens | int | 最大返回的tokens限制,默认不填返回最多, 3.5默认最大是16000 tokens, 请不要超过这个限制否则会报错 |
GPT接口推荐使用新平台:https://www.aigc2d.com , 兼容OpenAI所有接口协议
在线AI平台推荐使用: https://ai.wpush.cn
content 和 message 选择一个参数提交就可以了,如果是简单问答,用 content 参数就可以了,如果要上下文对话模式则用message参数
message 需要为数组格式, 和 openai 的提交参数一样,需要 post 方式以 json 格式提交数据
如:
[ {"role": "user", "content": "你好呀"}, {"role": "assistant", "content": "你好,我是AI智能助手"}, {"role": "user", "content": "可以帮我写一个论文吗"} ]
其中 role 为 user 时 是你输入的问题,role 为 assistan 时 是 ChatGPT 返回的答案, 传输上下文的话,就需要把你输入的话和ChatGPT返回的答案,依次按顺序传递过来。
名称 | 描述 |
---|
这里是以 chunk 流方式返回数据,基本可以实现秒返回数据,可以实现在前段打字机效果 , 返回的数据格式为 :
{"success":true,"text":"","time":1680951769,"code":200,"done":false}
{"success":true,"text":"xxx","time":1680951769,"code":200,"done":false}
{"success":true,"text":"xxxxx","time":1680951769,"code":200,"done":false}
...
{"success":true,"text":"","time":1680951769,"code":200,"done":true}
通过 chunk 流,每一行都会返回GPT返回的数据,其中 text 返回的数据就是GPT返回的答案, done 为 true 则是回答完毕了。
实例代码下载地址: https://kfurl.cn/code (支持php,go,python,nodejs...)
curl -X POST \
https://v2.alapi.cn/api/chatgpt/stream \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'token=用户中心获取token&content=&message=&max_tokens='
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://v2.alapi.cn/api/chatgpt/stream",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "token=用户中心获取token&content=&message=&max_tokens=",
CURLOPT_HTTPHEADER => array(
"Content-Type: application/x-www-form-urlencoded",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "token=用户中心获取token&content=&message=&max_tokens=");
Request request = new Request.Builder()
.url("https://v2.alapi.cn/api/chatgpt/stream")
.post(body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
import requests
url = "https://v2.alapi.cn/api/chatgpt/stream"
payload = "token=用户中心获取token&content=&message=&max_tokens="
headers = {'Content-Type': "application/x-www-form-urlencoded"}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "token=用户中心获取token&content=&message=&max_tokens=");
Request request = new Request.Builder()
.url("https://v2.alapi.cn/api/chatgpt/stream")
.post(body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://v2.alapi.cn/api/chatgpt/stream"
payload := strings.NewReader("token=用户中心获取token&content=&message=&max_tokens=")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
返回状态码 code
描述参照
错误码 | 说明 |
---|---|
200 | 返回200表示接口正常 |
404 | 接口地址不存在 |
422 | 接口请求失败 |
400 | 接口请求失败 |
405 | 请求方法不被允许 |
100 | token 错误 |
101 | 账号过期 |
102 | 接口请求次数超过限制 |
104 | 来源或者ip不在白名单 |
406 | 没有更多数据了 |
429 | 请求 QPS 超过限制 |
内容 | 详情 |
---|---|
客服QQ | 1830934534 |
交流群 |