当前位置: 首页> 游戏> 评测 > 苏州小程序开发_系统管理软件下载_网络营销活动策划方案模板_常德seo快速排名

苏州小程序开发_系统管理软件下载_网络营销活动策划方案模板_常德seo快速排名

时间:2025/7/11 8:44:13来源:https://blog.csdn.net/qq_38220144/article/details/147296000 浏览次数:0次
苏州小程序开发_系统管理软件下载_网络营销活动策划方案模板_常德seo快速排名

deepseekclient.h

#ifndef DEEPSEEKCLIENT_H
#define DEEPSEEKCLIENT_H#include <QObject>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QJsonObject>class DeepSeekClient : public QObject
{Q_OBJECT
public:explicit DeepSeekClient(QObject *parent = nullptr);void sendRequest(const QString &prompt);signals:void SignamResponse(const QString& strResponse);private slots:void handleReply(QNetworkReply *reply);private:QNetworkAccessManager *manager;void processResponse(const QByteArray &response);
};#endif // DEEPSEEKCLIENT_H

deepseekclient.cpp

#include "deepseekclient.h"
#include <QNetworkRequest>
#include <QJsonDocument>
#include <QJsonArray>
#include <QDebug>DeepSeekClient::DeepSeekClient(QObject *parent): QObject(parent)
{manager = new QNetworkAccessManager(this);connect(manager, &QNetworkAccessManager::finished, this, &DeepSeekClient::handleReply);
}void DeepSeekClient::sendRequest(const QString &prompt)
{const QString apiUrl = "https://api.deepseek.com/v1/chat/completions";const QString apiKey = "your-key";// 添加缺失的 headersQNetworkRequest request;request.setUrl(QUrl(apiUrl));request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");request.setRawHeader("Authorization", ("Bearer " + apiKey).toUtf8());// 严格构造 JSON 体QJsonObject jsonBody;jsonBody["model"] = "deepseek-chat";  // 确认模型名称正确jsonBody["temperature"] = 1.0;jsonBody["max_tokens"] = 1024;QJsonArray messagesArray;QJsonObject message;message["role"] = "user";  // 注意角色名称大小写message["content"] = prompt;messagesArray.append(message);jsonBody["messages"] = messagesArray;// 添加缺失的 stream 参数(如果 API 需要)// jsonBody["stream"] = false;QJsonDocument doc(jsonBody);QByteArray data = doc.toJson();// 验证 JSON 有效性qDebug() << "Request JSON:" << data;manager->post(request, data);
}void DeepSeekClient::handleReply(QNetworkReply *reply)
{if(reply->error() != QNetworkReply::NoError){qWarning() << "Error:" << reply->errorString();reply->deleteLater();return;}processResponse(reply->readAll());reply->deleteLater();
}void DeepSeekClient::processResponse(const QByteArray &response)
{QJsonDocument jsonResponse = QJsonDocument::fromJson(response);QJsonObject jsonObject = jsonResponse.object();if(jsonObject.contains("choices")){QJsonArray choices = jsonObject["choices"].toArray();if(!choices.isEmpty()){QString result = choices[0].toObject()["message"].toObject()["content"].toString();qDebug() << "Response:" << result;emit SignamResponse(result);return;}}qWarning() << "Invalid response format:" << jsonResponse;
}

其中,可以在所需要的地方实例化这个类,然后通过调用sendRequest将所要提问的问题发给DeepSeek,然后通过信号SignamResponse获取DeepSeek返回的数据。

注意:需要在DeepSeek官网注册后才能获取your-key,并且必须保证账户有钱才能获取!

关键字:苏州小程序开发_系统管理软件下载_网络营销活动策划方案模板_常德seo快速排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: