46 std::string api_key_name =
"")
84 Poco::JSON::Object body_json =
toJson(req);
87 Poco::JSON::Object::Ptr
object =
process(body_json,
uri_);
105 std::vector<PromptDialogue>& conversation)
145 std::vector<PromptDialogue>& conversation) = 0;
rclcpp::Node::SharedPtr node_
Node shared pointer.
Definition base_class.hpp:105
std::string plugin_name_
Plugin name.
Definition base_class.hpp:112
PromptBaseClass.
Definition prompt_base_class.hpp:17
virtual prompt::PromptResponse fromJson(const Poco::JSON::Object::Ptr object)=0
Convert a JSON object to a prompt response.
PromptBaseClass()
Constructor.
Definition prompt_base_class.hpp:24
virtual prompt::PromptResponse sendPrompt(prompt::PromptRequest &req)
sendPrompt send a prompt to a prompt provider using REST
Definition prompt_base_class.hpp:78
std::string uri_
URI for single prompt requests.
Definition prompt_base_class.hpp:173
virtual prompt::PromptResponse sendConversation(prompt::PromptRequest &latest_request, std::vector< PromptDialogue > &conversation)
sendConversation send a prompt with conversation history to a prompt provider using REST
Definition prompt_base_class.hpp:104
virtual ~PromptBaseClass()=default
Destructor.
std::string chat_uri_
URI for chat/conversation requests.
Definition prompt_base_class.hpp:178
virtual void initialize_prompt_base(rclcpp::Node::SharedPtr node, std::string plugin_name="PromptBaseClass", std::string api_key_name="")
Initialize the REST base class.
Definition prompt_base_class.hpp:45
virtual Poco::JSON::Object toJson(prompt::PromptRequest &prompt)=0
Convert a prompt request to a JSON object.
virtual prompt::PromptResponse fromJsonConversation(const Poco::JSON::Object::Ptr object)=0
Convert a JSON object to a prompt response with conversation history.
virtual Poco::JSON::Object toJsonConversation(prompt::PromptRequest &latest_request, std::vector< PromptDialogue > &conversation)=0
Convert a prompt request with conversation history to a JSON object.
RestBaseClass.
Definition rest_base_class.hpp:31
Poco::JSON::Object::Ptr process(Poco::JSON::Object &body_json, std::string &uri)
Process the HTTP request and return the response as a JSON object.
Definition rest_base_class.hpp:170
std::vector< prompt::PromptOption > required_options_
Model options.
Definition rest_base_class.hpp:371
virtual void initialize_rest_base(rclcpp::Node::SharedPtr node, std::string plugin_name="RestBaseClass", std::string api_key_name="")
Initialize the REST base class.
Definition rest_base_class.hpp:59
Definition base_class.hpp:8
void ensure_model_options(rclcpp::Node::SharedPtr node, std::vector< prompt::PromptOption > &options, std::vector< prompt::PromptOption > &required_options)
Check and add required model options to the prompt options.
Definition prompt_options.hpp:149
Definition structs.hpp:24
std::vector< PromptOption > options
Definition structs.hpp:30
Definition structs.hpp:35