如果你尚未登錄或注冊,會自動跳轉到登錄頁面邀請您來注冊和登錄,登錄注冊之后會自動返回當前頁面。

在首次申請時會有免費額度贈送,可以免費使用該 API。

基本使用

首先先了解下基本的使用方式,就是輸入問題,獲得回答,只需要簡單地傳遞一個 question 字段,并指定相應模型即可。

比如說詢問:“What’s your name?”,我們接下來就可以在界面上填寫對應的內容,如圖所示:

可以看到這里我們設置了 Request Headers,包括:

另外設置了 Request Body,包括:

選擇之后,可以發現右側也生成了對應代碼,如圖所示:

點擊「Try」按鈕即可進行測試,如上圖所示,這里我們就得到了如下結果:

{
"answer": "I am an AI language model developed by OpenAI and I don't have a personal name. However, you can call me GPT or simply Chatbot. How can I assist you today?"
}

可以看到,這里返回的結果中有一個 answer 字段,就是該問題的回答。我們可以輸入任意問題,就可以得到任意的回答。

如果你不需要任何多輪對話的支持,這個 API 可以極大方便你的對接。

另外如果想生成對應的對接代碼,可以直接復制生成,例如 CURL 的代碼如下:

curl -X POST 'https://api.acedata.cloud/aichat/conversations' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
"model": "gpt-3.5",
"question": "What's your name?"
}'

Python 的對接代碼如下:import requests
?
url = "https://api.acedata.cloud/aichat/conversations"
?
headers = {
  "accept": "application/json",
  "authorization": "Bearer {token}",
  "content-type": "application/json"
}
?
payload = {
  "model": "gpt-3.5",
  "question": "What's your name?"
}
?
response = requests.post(url, json=payload, headers=headers)
print(response.text)

多輪對話

如果您想要對接多輪對話功能,需要傳遞一個額外參數 stateful,其值為 true,后續的每次請求都要攜帶該參數。傳遞了 stateful 參數之后,API 會額外返回一個 id 參數,代表當前對話的 ID,后續我們只需要將該 ID 作為參數傳遞,就可以輕松實現多輪對話。

下面我們來演示下具體的操作。

第一次請求,將 stateful 參數設置為 true,并正常傳遞 modelquestion 參數,如圖所示:

對應代碼如下:

curl -X POST 'https://api.acedata.cloud/aichat/conversations' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
"model": "gpt-3.5",
"question": "What's your name?",
"stateful": true
}'

可以得到如下回答:

{
"answer": "I am an AI language model created by OpenAI and I don't have a personal name. You can simply call me OpenAI or ChatGPT. How can I assist you today?",
"id": "7cdb293b-2267-4979-a1ec-48d9ad149916"
}

第二次請求,將第一次請求返回的 id 字段作為參數傳遞,同時 stateful 參數依然設置為 true,詢問「What I asked you just now?」,如圖所示:

圖片

對應代碼如下:

curl -X POST 'https://api.acedata.cloud/aichat/conversations' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
"model": "gpt-3.5",
"stateful": true,
"id": "7cdb293b-2267-4979-a1ec-48d9ad149916",
"question": "What I asked you just now?"
}'

結果如下:

{
"answer": "You asked me what my name is. As an AI language model, I do not possess a personal identity, so I don't have a specific name. However, you can refer to me as OpenAI or ChatGPT, the names used for this AI model. Is there anything else I can help you with?",
"id": "7cdb293b-2267-4979-a1ec-48d9ad149916"
}

可以看到,就可以根據上下文回答對應的問題了。

流式響應

該接口也支持流式響應,這對網頁對接十分有用,可以讓網頁實現逐字顯示效果。

如果想流式返回響應,可以更改請求頭里面的 accept 參數,修改為 application/x-ndjson

修改如圖所示,不過調用代碼需要有對應的更改才能支持流式響應。

將?accept?修改為?application/x-ndjson?之后,API 將逐行返回對應的 JSON 數據,在代碼層面我們需要做相應的修改來獲得逐行的結果。

Python 樣例調用代碼:

import requests

url = "https://api.acedata.cloud/aichat/conversations"

headers = {
    "accept": "application/x-ndjson",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "gpt-3.5",
    "stateful": True,
    "id": "7cdb293b-2267-4979-a1ec-48d9ad149916",
    "question": "Hello"
}

response = requests.post(url, json=payload, headers=headers, stream=True)
for line in response.iter_lines():
    print(line.decode())

輸出效果如下:

{"answer": "Hello", "delta_answer": "Hello", "id": "7cdb293b-2267-4979-a1ec-48d9ad149916"}
{"answer": "Hello!", "delta_answer": "!", "id": "7cdb293b-2267-4979-a1ec-48d9ad149916"}
{"answer": "Hello! How", "delta_answer": " How", "id": "7cdb293b-2267-4979-a1ec-48d9ad149916"}
{"answer": "Hello! How can", "delta_answer": " can", "id": "7cdb293b-2267-4979-a1ec-48d9ad149916"}
{"answer": "Hello! How can I", "delta_answer": " I", "id": "7cdb293b-2267-4979-a1ec-48d9ad149916"}
{"answer": "Hello! How can I assist", "delta_answer": " assist", "id": "7cdb293b-2267-4979-a1ec-48d9ad149916"}
{"answer": "Hello! How can I assist you", "delta_answer": " you", "id": "7cdb293b-2267-4979-a1ec-48d9ad149916"}
{"answer": "Hello! How can I assist you today", "delta_answer": " today", "id": "7cdb293b-2267-4979-a1ec-48d9ad149916"}
{"answer": "Hello! How can I assist you today?", "delta_answer": "?", "id": "7cdb293b-2267-4979-a1ec-48d9ad149916"}

可以看到,響應里面的 answer 即為最新的回答內容,delta_answer 則是新增的回答內容,您可以根據結果來對接到您的系統中。

JavaScript 也是支持的,比如 Node.js 的流式調用代碼如下:

const axios = require("axios");

const url = "https://api.acedata.cloud/aichat/conversations";
const headers = {
  "Content-Type": "application/json",
  Accept: "application/x-ndjson",
  Authorization: "Bearer {token}",
};
const body = {
  question: "Hello",
  model: "gpt-3.5",
  stateful: true,
};

axios
  .post(url, body, { headers: headers, responseType: "stream" })
  .then((response) => {
    console.log(response.status);
    response.data.on("data", (chunk) => {
      console.log(chunk.toString());
    });
  })
  .catch((error) => {
    console.error(error);
  });

Java 樣例代碼:

String url = "https://api.acedata.cloud/aichat/conversations";
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"question\": \"Hello\", \"stateful\": true, \"model\": \"gpt-3.5\"}");
Request request = new Request.Builder()
        .url(url)
        .post(body)
        .addHeader("Content-Type", "application/json")
        .addHeader("Accept", "application/x-ndjson")
        .addHeader("Authorization", "Bearer {token}")
        .build();

client.newCall(request).enqueue(new Callback() {
    @Override
    public void onFailure(Call call, IOException e) {
        e.printStackTrace();
    }

    @Override
    public void onResponse(Call call, Response response) throws IOException {
        if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
        try (BufferedReader br = new BufferedReader(
                new InputStreamReader(response.body().byteStream(), "UTF-8"))) {
            String responseLine;
            while ((responseLine = br.readLine()) != null) {
                System.out.println(responseLine);
            }
        }
    }
});

其他語言可以另外自行改寫,原理都是一樣的。

模型預設

我們知道,OpenAI 相關的 API 有對應的 system_prompt 的概念,就是給整個模型設置一個預設,比如它叫什么名字等等。本 AI 問答 API 也暴露了這個參數,叫做 preset,利用它我們可以給模型增加預設,我們用一個例子來體驗下:

這里我們額外添加 preset 字段,內容為 You are a professional artist,如圖所示:

對應代碼如下:

curl -X POST 'https://api.acedata.cloud/aichat/conversations' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "model": "gpt-3.5",
  "stateful": true,
  "question": "What can you help me?",
  "preset": "You are a professional artist"
}'

運行結果如下:

{
    "answer": "As a professional artist, I can offer a range of services and assistance depending on your specific needs. Here are a few ways I can help you:\n\n1. Custom Artwork: If you have a specific vision or idea, I can create custom artwork for you. This can include paintings, drawings, digital art, or any other medium you prefer.\n\n2. Commissioned Pieces: If you have a specific subject or concept in mind, I can create commissioned art pieces tailored to your preferences. This could be for personal enjoyment or as a unique gift for someone special.\n\n3. Art Consultation: If you need guidance on art selection, interior design, or how to showcase and display art in your space, I can provide professional advice to help enhance your aesthetic sense and create a cohesive look."
}

可以看到這里我們告訴 GPT 他是一個機器人,然后問它可以為我們做什么,他就可以扮演一個機器人的角色來回答問題了。

圖片識別

本 AI 也能支持添加附件進行圖片識別,通過 references 傳遞對應圖片鏈接即可,比如我這里有一張蘋果的圖片,如圖所示:

該圖片的鏈接是 https://cdn.acedata.cloud/ht05g0.png,我們直接將其作為 references 參數傳遞即可,同時需要注意的是,模型必須要選擇支持視覺識別的模型,目前支持的是 gpt-4-vision,所以輸入如下:

對應的代碼如下:

curl -X POST 'https://api.acedata.cloud/aichat/conversations' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "model": "gpt-4-vision",
  "question": "How many apples in the picture?",
  "references": ["https://cdn.acedata.cloud/ht05g0.png"]
}'

運行結果如下:

{
  "answer": "There are 5 apples in the picture."
}

可以看到,我們就成功得到了對應圖片的回答結果。

聯網問答

代碼如下:

curl -X POST 'https://api.acedata.cloud/aichat/conversations' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "model": "gpt-3.5-browsing",
  "question": "What's the weather of New York today?"
}'

運行結果如下:

{
  "answer": "The weather in New York today is as follows:\n- Current Temperature: 16°C (60°F)\n- High: 16°C (60°F)\n- Low: 10°C (50°F)\n- Humidity: 47%\n- UV Index: 6 of 11\n- Sunrise: 5:42 am\n- Sunset: 8:02 pm\n\nIt's overcast with a chance of occasional showers overnight, and the chance of rain is 50%.\nFor more details, you can visit [The Weather Channel](https://weather.com/weather/tenday/l/96f2f84af9a5f5d452eb0574d4e4d8a840c71b05e22264ebdc0056433a642c84).\n\nIs there anything else you'd like to know?"
}

可以看到,這里它自動聯網搜索了 The Weather Channel 網站,并獲得了里面的信息,然后進一步返回了實時結果。

如果對模型回答質量有更高要求,可以將模型更換為 gpt-4-browsing,回答效果會更好。

文章轉自微信公眾號@進擊的Coder

熱門推薦
一個賬號試用1000+ API
助力AI無縫鏈接物理世界 · 無需多次注冊
3000+提示詞助力AI大模型
和專業工程師共享工作效率翻倍的秘密
返回頂部
上一篇
Microsoft.Extensions.AI 預覽版簡介 – 適用于 .NET 的統一 AI 構建塊
下一篇
可零代碼快速開發REST API的幾個開源項目
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
国产精品福利一区| 青青青伊人色综合久久| 欧美v国产在线一区二区三区| 欧美日韩卡一卡二| 亚洲777理论| 国产日韩欧美高清在线| av一区二区三区在线| 亚洲精品国产视频| 在线播放欧美女士性生活| 日本aⅴ免费视频一区二区三区 | 免费成人在线影院| 国产精品成人免费精品自在线观看| 国产suv精品一区二区883| 依依成人综合视频| 国产日韩三级在线| 国产欧美日韩在线观看| 成人国产视频在线观看| 六月丁香婷婷久久| 美腿丝袜亚洲综合| 日韩一区欧美小说| 91丨porny丨在线| 亚洲最新视频在线播放| 成人免费一区二区三区视频| 精品国产一区a| 欧美一级国产精品| 欧美mv和日韩mv的网站| 久久精品在线观看| 亚洲人亚洲人成电影网站色| 精品国产百合女同互慰| 亚洲精品在线观| 国产精品久久久久久一区二区三区 | 国产精品一区二区你懂的| 久久 天天综合| 99久久99久久免费精品蜜臀| 日本韩国欧美国产| 欧美一区二区三区免费在线看| 91精品国产入口在线| 国产清纯美女被跳蛋高潮一区二区久久w| 高清不卡一二三区| 日韩精品一区二区三区老鸭窝| 久久精品综合网| 麻豆精品视频在线| 日本福利一区二区| 国产精品美女久久久久久久久| 欧美日韩性生活| 免费欧美日韩国产三级电影| 欧美另类z0zxhd电影| 亚洲超丰满肉感bbw| 欧美日本在线一区| 成人黄色电影在线 | 欧美日韩午夜在线| 亚洲综合一二区| 国产亚洲一区二区在线观看| 97久久精品人人做人人爽| 亚洲自拍偷拍综合| 欧美日韩国产一区| 97se亚洲国产综合自在线观| 亚洲视频网在线直播| 国产亚洲综合在线| 久久先锋影音av鲁色资源| 欧美性受极品xxxx喷水| 亚洲一区二区三区免费视频| 国产亚洲一区二区三区四区| 色偷偷久久人人79超碰人人澡 | 国产精品主播直播| 蜜臀av在线播放一区二区三区| 最好看的中文字幕久久| 亚洲国产精品精华液2区45| 欧美成人一区二区三区| 精品国产91亚洲一区二区三区婷婷 | 色噜噜狠狠色综合中国| 色综合久久久久久久久久久| 国产精品性做久久久久久| 国产一区不卡精品| 91丨九色丨蝌蚪丨老版| 欧美日韩一区二区不卡| 欧美私模裸体表演在线观看| 欧美系列亚洲系列| 日韩你懂的在线播放| 精品国偷自产国产一区| 精品国产91乱码一区二区三区 | 亚洲欧美精品午睡沙发| 天天色天天爱天天射综合| av资源站一区| 国产精品久久久久久一区二区三区| 久久丁香综合五月国产三级网站| 热久久久久久久| 亚洲一区二区av在线| 亚洲六月丁香色婷婷综合久久 | 亚洲一区在线视频| 日韩毛片精品高清免费| 午夜电影网亚洲视频| 久久精品国产网站| 成人在线一区二区三区| 色呦呦日韩精品| 欧美videos中文字幕| 亚洲美女屁股眼交| 国产精品自拍在线| 欧美日韩在线播放三区| 久久久99精品免费观看不卡| 亚洲美女区一区| 国产成人亚洲精品狼色在线| 欧美三级在线看| 亚洲3atv精品一区二区三区| 粉嫩嫩av羞羞动漫久久久| 666欧美在线视频| 一区二区三区在线免费观看| 成人av片在线观看| 1区2区3区国产精品| 国产精品中文字幕日韩精品 | 777色狠狠一区二区三区| 亚洲男人天堂一区| 91福利小视频| 天天爽夜夜爽夜夜爽精品视频| 欧美性一级生活| 日韩成人一级片| 日韩一二三区不卡| 亚洲一区二区三区不卡国产欧美| 免费成人在线网站| 国产精品久久久久久久久免费樱桃| 国产.欧美.日韩| 五月开心婷婷久久| 久久精品一区二区| 色先锋资源久久综合| 偷拍一区二区三区四区| 日韩午夜小视频| 91免费看`日韩一区二区| 亚洲国产精品视频| 国产精品二三区| 国产午夜精品在线观看| 色88888久久久久久影院野外| 久久爱www久久做| 亚洲另类色综合网站| 久久嫩草精品久久久久| 欧美久久久久久久久中文字幕| 成人高清视频免费观看| 精品亚洲免费视频| 国产一区二区三区免费| 久久精品国产在热久久| 亚洲国产精品久久人人爱蜜臀| 亚洲天堂免费看| 亚洲男同性视频| 一区二区三区小说| 日韩和欧美的一区| 青青青爽久久午夜综合久久午夜| 亚洲欧美国产高清| 一区二区三区不卡视频在线观看| 亚洲欧洲av在线| 石原莉奈在线亚洲二区| 国产一区二区在线视频| 粉嫩蜜臀av国产精品网站| 成人激情小说网站| 51午夜精品国产| 曰韩精品一区二区| 久久91精品久久久久久秒播| a级精品国产片在线观看| 极品尤物av久久免费看| 99视频一区二区| 久久久99精品久久| 天堂va蜜桃一区二区三区漫画版| 韩国理伦片一区二区三区在线播放| 波多野结衣精品在线| 精品电影一区二区| 日韩精品欧美精品| 欧美综合一区二区| 18成人在线视频| 成人丝袜高跟foot| 日本一区二区三区四区| 免费观看成人av| 日韩免费高清电影| 美女视频黄频大全不卡视频在线播放| 91同城在线观看| 亚洲欧美日韩电影| 欧美亚洲国产一区二区三区| 欧美国产日本视频| 国产福利一区二区三区视频在线 | 国产自产高清不卡| 日韩一区二区免费在线观看| 午夜亚洲福利老司机| 成人黄色国产精品网站大全在线免费观看| 欧美日韩精品欧美日韩精品| 亚洲免费观看高清完整版在线| 成人激情动漫在线观看| 亚洲图片激情小说| 欧美人动与zoxxxx乱| 精一区二区三区| 自拍偷拍欧美激情| 欧美一级日韩不卡播放免费| 日韩免费在线观看| 国产尤物一区二区在线| 久久久91精品国产一区二区精品| 国产成人av电影在线播放| 亚洲精品中文字幕在线观看| 在线观看日韩一区| 国产一区视频在线看| 亚洲老妇xxxxxx| 欧美国产综合一区二区| 久久蜜臀中文字幕| 国产精品99久久久久久久女警| 亚洲午夜免费电影|