#pragma once #include #include #include #include #include #include #include #include #include "cfg.h" class FreeGpt final { public: using Channel = boost::asio::experimental::channel; FreeGpt(Config&); boost::asio::awaitable openAi(std::shared_ptr, nlohmann::json); boost::asio::awaitable yqcloud(std::shared_ptr, nlohmann::json); boost::asio::awaitable you(std::shared_ptr, nlohmann::json); boost::asio::awaitable binjie(std::shared_ptr, nlohmann::json); boost::asio::awaitable gptGo(std::shared_ptr, nlohmann::json); boost::asio::awaitable chatForAi(std::shared_ptr, nlohmann::json); boost::asio::awaitable gptalk(std::shared_ptr, nlohmann::json); boost::asio::awaitable gptForLove(std::shared_ptr, nlohmann::json); boost::asio::awaitable chatGptDemo(std::shared_ptr, nlohmann::json); boost::asio::awaitable llama2(std::shared_ptr, nlohmann::json); boost::asio::awaitable geekGpt(std::shared_ptr, nlohmann::json); boost::asio::awaitable chatGptAi(std::shared_ptr, nlohmann::json); boost::asio::awaitable aivvm(std::shared_ptr, nlohmann::json); boost::asio::awaitable chatGpt4Online(std::shared_ptr, nlohmann::json); boost::asio::awaitable gptTalkru(std::shared_ptr, nlohmann::json); boost::asio::awaitable deepInfra(std::shared_ptr, nlohmann::json); boost::asio::awaitable gptChatly(std::shared_ptr, nlohmann::json); boost::asio::awaitable voiGpt(std::shared_ptr, nlohmann::json); private: boost::asio::awaitable, std::string>> createHttpClient(boost::asio::ssl::context&, std::string_view /* host */, std::string_view /* port */); Config& m_cfg; std::shared_ptr m_thread_pool_ptr; };