以下是主流国产大模型(以华为盘古大模型和腾讯混元大模型为例)API调用接口的具体参数和使用方法,包括Python和C++的示例代码。
华为盘古大模型
API参数:
- model:模型名称,如`pangu-nlp-large`。
- messages:包含用户消息的列表,每个消息包含`content`字段。
- temperature:控制输出随机性的参数,范围0-1。
- max_tokens:最大输出长度,以token数计算。
Python示例代码:
```python
import requests
# API地址
url = "https://api.huaweicloud.com/nlp/v1/models/pangu-nlp-large/generate"
# 请求头(使用Token认证)
headers = {
"Content-Type": "application/json",
"X-Auth-Token": "YOUR_TOKEN"
}
# 请求体
data = {
"messages": [
{
"content": "今天天气怎么样?"
}
],
"temperature": 0.5,
"max_tokens": 100
}
# 发送POST请求
response = requests.post(url, headers=headers, json=data)
# 处理响应
if response.status_code == 200:
result = response.json()
print("生成结果:", result["output"])
else:
print("请求失败,状态码:", response.status_code)
```
**C++示例代码(使用libcurl库):**
```cpp
#include <iostream>
#include <curl/curl.h>
#include <jsoncpp/json/json.h>
// 回调函数,用于接收响应数据
size_t write_callback(char* data, size_t size, size_t nmemb, std::string* response) {
response->append(data, size * nmemb);
return size * nmemb;
}
int main() {
CURL* curl;
CURLcode res;
std::string response;
// 初始化libcurl
curl = curl_easy_init();
if (!curl) {
std::cerr << "curl初始化失败" << std::endl;
return 1;
}
// API地址
std::string url = "https://api.huaweicloud.com/nlp/v1/models/pangu-nlp-large/generate";
// 请求头(使用Token认证)
std::string headers[] = {
"Content-Type: application/json",
"X-Auth-Token: YOUR_TOKEN"
};
// 请求体
Json::Value data;
data["messages"] = Json::arrayValue;
data["messages"].append(Json::Value("今天天气怎么样?"));
data["temperature"] = 0.5;
data["max_tokens"] = 100;
std::string data_str = data.toStyledString();
// 设置curl选项
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data_str.c_str());
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
// 发送POST请求
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
std::cerr << "请求失败:" << curl_easy_strerror(res) << std::endl;
} else {
// 处理响应
Json::Value result;
Json::Reader reader;
if (reader.parse(response, result)) {
std::cout << "生成结果:" << result["output"].asString() << std::endl;
} else {
std::cerr << "解析响应失败" << std::endl;
}
}
// 清理
curl_easy_cleanup(curl);
return 0;
}
```
腾讯混元大模型
API参数:
- model:模型版本,如`hunyuan-pro`。
- input:用户输入文本。
- temperature:控制输出随机性的参数,范围0-1。
- max_length:最大输出长度,以字符数计算。
Python示例代码:
```python
import requests
# API地址
url = "https://api.tencentcloud.com/hunyuan/v1/models/hunyuan-pro/generate"
# 请求头(使用签名认证)
headers = {
"Content-Type": "application/json",
"Authorization": "TC3-HMAC-SHA256 Credential=YOUR_SECRET_ID/YOUR_DATE/hunyuan/tc3_request, SignedHeaders=content-type;host, Signature=YOUR_SIGNATURE"
}
# 请求体
data = {
"input": "你好,请问有什么可以帮助你的?",
"temperature": 0.5,
"max_length": 100
}
# 发送POST请求
response = requests.post(url, headers=headers, json=data)
# 处理响应
if response.status_code == 200:
result = response.json()
print("生成结果:", result["output"])
else:
print("请求失败,状态码:", response.status_code)
```
C++示例代码(使用libcurl库):
```cpp
#include <iostream>
#include <curl/curl.h>
#include <jsoncpp/json/json.h>
// 回调函数,用于接收响应数据
size_t write_callback(char* data, size_t size, size_t nmemb, std::string* response) {
response->append(data, size * nmemb);
return size * nmemb;
}
int main() {
CURL* curl;
CURLcode res;
std::string response;
// 初始化libcurl
curl = curl_easy_init();
if (!curl) {
std::cerr << "curl初始化失败" << std::endl;
return 1;
}
// API地址
std::string url = "https://api.tencentcloud.com/hunyuan/v1/models/hunyuan-pro/generate";
// 请求头(使用签名认证)
std::string headers[] = {
"Content-Type: application/json",
"Authorization: TC3-HMAC-SHA256 Credential=YOUR_SECRET_ID/YOUR_DATE/hunyuan/tc3_request, SignedHeaders=content-type;host, Signature=YOUR_SIGNATURE"
};
// 请求体
Json::Value data;
data["input"] = "你好,请问有什么可以帮助你的?";
data["temperature"] = 0.5;
data["max_length"] = 100;
std::string data_str = data.toStyledString();
// 设置curl选项
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data_str.c_str());
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
// 发送POST请求
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
std::cerr << "请求失败:" << curl_easy_strerror(res) << std::endl;
} else {
// 处理响应
Json::Value result;
Json::Reader reader;
if (reader.parse(response, result)) {
std::cout << "生成结果:" << result["output"].asString() << std::endl;
} else {
std::cerr << "解析响应失败" << std::endl;
}
}
// 清理
curl_easy_cleanup(curl);
return 0;
}
```
注意事项:
- 认证方式:华为盘古大模型使用Token认证,腾讯混元大模型使用签名认证,请根据官方文档获取相应的认证信息。
- 参数调整:根据具体需求调整`temperature`、`max_tokens`或`max_length`等参数,以获得理想的输出结果。
- 依赖库:Python示例需要安装`requests`库,C++示例需要安装`libcurl`和`jsoncpp`库。
- 代码示例:以上代码仅供参考,实际使用中可能需要根据API文档进行相应调整。
python编程的基本知识点
python编程新手的引路人