openai-api/server/jsondata.h

41 lines
1.0 KiB
C
Raw Normal View History

2025-02-12 10:06:33 +08:00
#ifndef JSON_DATA
#define JSON_DATA
#include <nlohmann/json.hpp>
#include <string>
2025-02-12 13:36:28 +08:00
#include <vector>
2025-02-12 10:06:33 +08:00
2025-02-12 13:36:28 +08:00
namespace fs = std::filesystem;
2025-02-12 10:06:33 +08:00
struct Message {
std::string message_content;
std::string reasoning_content;
std::string id;
int prompt_tokens{};
int completion_tokens{};
int total_tokens{};
};
using json = nlohmann::json;
class CJsonOper
{
public:
2025-02-12 13:36:28 +08:00
CJsonOper(const std::string& user_name, const std::string& model, const std::string& assistant_name);
2025-02-12 10:06:33 +08:00
~CJsonOper();
public:
std::string format_request(const std::string& content);
Message parse(const std::string& data);
static bool save_md(const std::string& data, const std::string& id);
2025-02-12 13:36:28 +08:00
static bool read_txt(const std::string& path, std::string& out);
static std::vector<std::string> split(const std::string& input, const std::string& delimiter);
static size_t get_u8_len(unsigned char ch);
static std::string trim(const std::string& input);
private:
2025-04-14 21:37:06 +08:00
std::string user_;
std::string model_;
std::string assistant_;
2025-02-12 10:06:33 +08:00
};
2025-04-14 21:01:36 +08:00
#endif