AI大模型调用API通用请求模板:新手小白也能轻松上手!
AI大模型通用API请求模板:新手小白也能轻松上手
来源:Poixe AI
随着人工智能技术的飞速发展,AI大模型在我们的日常和工作中扮演着越来越重要的角色。然而,面对众多厂商和各式各样的API调用协议,许多初学者可能会感到无从下手。好消息是,OpenAI协议已经成为行业内事实上的通用标准,这意味着你可以使用一套代码模板来调用市面上绝大多数的AI大模型,无论是OpenAI自家的GPT系列,还是Claude、文心一言等其他厂商的模型。
本文将为你提供一个简单易懂的Python代码模板(文章末尾附带其他语言),即使是编程小白也能快速上手,轻松实现AI大模型的API请求。

为什么选择OpenAI协议?
尽管各大AI厂商的API接口细节可能存在差异(例如Claude的/v1/messages),但它们大多都选择兼容或直接采用OpenAI的API调用规范。这种统一性大大降低了开发者的学习成本,让你可以用一套熟悉的方式与不同的AI模型进行交互,从而专注于应用的开发而非API的适配。
通用API请求代码模板
下面是一个基于requests库的Python代码模板,用于向兼容OpenAI协议的AI大模型发送请求。你可以直接复制粘贴这段代码,稍作修改即可开始你的AI之旅。
import requests
# API请求的URL,这里以OpenKEY.cloud(一家博主在用的API中转)的api为例,你也可以替换成其他兼容OpenAI协议的API地址
# 例如:url = "[https://api.openai.com/v1/chat/completions](https://api.openai.com/v1/chat/completions)"
url = "https://openkey.cloud/v1/chat/completions"
# 请求头,包含了内容类型和授权信息
headers = {
'Content-Type': 'application/json',
# 你的API密钥,请替换成你自己的实际密钥。
# 填写OpenKEY生成的令牌/KEY,注意前面的 Bearer 要保留,并且和 KEY 中间有一个空格。
'Authorization': 'Bearer sk-JdKYK4xHHVF6b40A6e724a8e497c442cB1A2B44a1c4768B7'
}
# 请求体,定义了要使用的模型和发送给AI的消息
data = {
"model": "gpt-3.5-turbo",# 指定要调用的模型名称,可以根据需求更换为其他模型,如"gpt-4o", "claude-3-opus-20240229"等
"messages": [{"role": "user", "content": "你好呀"}]# 用户发送给AI的消息
}
response = requests.post(url, headers=headers, json=data)
print("Status Code", response.status_code)
print("JSON Response ", response.json())
如何使用这个模板?
-
安装requests库:如果你还没有安装,打开你的命令行工具(如CMD、Terminal)输入:
pip install requests -
获取API密钥:你需要在你选择的AI服务提供商(如OpenAI、OpenKEY、或其他支持OpenAI协议的平台)那里注册并获取你的API密钥(或称令牌)。
-
替换url:将代码中的url替换为你所使用的AI服务提供商的API请求地址。通常,只要是兼容OpenAI协议的,其路径都包含
/v1/chat/completions。 -
替换Authorization中的密钥:将headers字典中Authorization字段后面的Bearer 后的字符串替换成你自己的API密钥。请注意:Bearer 和你的密钥之间有一个空格。
-
修改model和messages:
-
“model”:根据你使用的服务和需求,将"gpt-3.5-turbo"替换成你想要调用的具体模型名称,例如"gpt-4o"、"claude-3-opus-20240229"等。
-
“messages”:这是你与AI对话的核心。“role”: "user"表示这是用户发送的消息,"content"是你希望AI处理的文本。你可以根据需求修改这里的内容,提出各种问题或指令。
-
其他语言怎么写?
c调用api代码示例
#include <stdio.h>
#include <curl/curl.h>
int main() {
CURL *curl = curl_easy_init();
if (curl) {
const char *data = "{\"model\": \"gpt-3.5-turbo\", \"messages\": [{\"role\": \"user\", \"content\": \"你好呀\"}]}";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer sk-JdKYK4xHHVF6b40A6e724a8e497c442cB1A2B44a1c4768B7");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, "https://openkey.cloud/v1/chat/completions");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_perform(curl);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
go调用api代码示例
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://openkey.cloud/v1/chat/completions"
data := map[string]interface{}{
"model": "gpt-3.5-turbo",
"messages": []map[string]string{{"role": "user", "content": "你好呀"}},
}
body, _ := json.Marshal(data)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer sk-JdKYK4xHHVF6b40A6e724a8e497c442cB1A2B44a1c4768B7")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var response map[string]interface{}
json.NewDecoder(resp.Body).Decode(&response)
fmt.Println("Status Code:", resp.StatusCode)
fmt.Println("Response JSON:", response)
}
go调用api代码示例
#include <iostream>
#include <curl/curl.h>
int main() {
CURL *curl = curl_easy_init();
if (curl) {
const char *data = "{\"model\": \"gpt-3.5-turbo\", \"messages\": [{\"role\": \"user\", \"content\": \"你好呀\"}]}";
struct curl_slist *headers = nullptr;
headers = curl_slist_append(headers, "Authorization: Bearer sk-JdKYK4xHHVF6b40A6e724a8e497c442cB1A2B44a1c4768B7");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, "https://openkey.cloud/v1/chat/completions");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_perform(curl);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
java调用api代码示例
import java.io.*;
import java.net.*;
import javax.net.ssl.HttpsURLConnection;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://openkey.cloud/v1/chat/completions";
String jsonData = "{\"model\": \"gpt-3.5-turbo\", \"messages\": [{\"role\": \"user\", \"content\": \"你好呀\"}]}";
URL obj = new URL(url);
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Authorization", "Bearer sk-JdKYK4xHHVF6b40A6e724a8e497c442cB1A2B44a1c4768B7");
con.setRequestProperty("Content-Type", "application/json");
con.setDoOutput(true);
try (OutputStream os = con.getOutputStream()) {
byte[] input = jsonData.getBytes("utf-8");
os.write(input, 0, input.length);
}
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println("Response: " + response.toString());
}
}
更多推荐



所有评论(0)