主流国产大模型(以华为盘古大模型和腾讯混元大模型为例)API调用接口的具体参数和使用方法,包括Python和C++的示例代码

以下是主流国产大模型(以华为盘古大模型和腾讯混元大模型为例)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编程新手的引路人

相关推荐
风吹夏回10 小时前
Python 全局异常处理:从“满屏 try-except”到优雅兜底
开发语言·python
小熊Coding10 小时前
Python爬取当当网二手图书项目实战!
开发语言·爬虫·python·beautifulsoup·requests·二手图书
秋911 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
小江的记录本11 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
田里的水稻11 小时前
OE_ubuntu26.04与宿主机之间复制粘贴内容
人工智能·python·机器人
jiayong2312 小时前
02 创建虚拟环境
python
旺仔来了12 小时前
不联网的Linux下部署python环境
linux·开发语言·python
小江的记录本13 小时前
【JVM虚拟机】垃圾回收GC:垃圾回收算法:标记-清除、标记-复制、标记-整理、分代收集(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·安全·面试
IP搭子来一个13 小时前
爬虫采集大量返回 403、429,到底卡在哪一环?
网络·爬虫·python
deepin_sir13 小时前
06 综合对比与实战选型——到底该用哪个?
python