34 virtual void initialize(rclcpp::Node::SharedPtr node)
override
57 result.set(
"prompt",
prompt.prompt);
73 std::vector<PromptDialogue>& conversation)
78 Poco::JSON::Array messages_array;
82 Poco::JSON::Object dialog_object_;
84 dialog_object_.set(
"role", dialog_.role);
85 dialog_object_.set(
"content", dialog_.content);
87 messages_array.add(dialog_object_);
91 Poco::JSON::Object latest_dialog_object_;
92 latest_dialog_object_.set(
"role",
"user");
93 latest_dialog_object_.set(
"content",
prompt.prompt);
95 messages_array.add(latest_dialog_object_);
98 result.set(
"messages", messages_array);
100 std::ostringstream jsonStream;
101 result.stringify(jsonStream);
102 RCLCPP_INFO(
node_->get_logger(),
"Poco JSON Object: %s", jsonStream.str().c_str());
121 if (object->get(
"response"))
122 res.
response =
object->get(
"response").toString();
130 for (Poco::JSON::Object::ConstIterator it = object->begin(); it !=
object->end(); ++it)
159 for (Poco::JSON::Object::ConstIterator it = object->begin(); it !=
object->end(); ++it)
161 if (it->first !=
"message")
167 Poco::JSON::Object::Ptr messageObj =
object->getObject(
"message");
168 res.
response = messageObj->get(
"content").toString();
rclcpp::Node::SharedPtr node_
Node shared pointer.
Definition base_class.hpp:105
OllamaProvider.
Definition ollama_provider.hpp:17
virtual prompt::PromptResponse fromJson(const Poco::JSON::Object::Ptr object) override
Convert a JSON object to a prompt response.
Definition ollama_provider.hpp:116
virtual Poco::JSON::Object toJsonConversation(prompt::PromptRequest &prompt, std::vector< PromptDialogue > &conversation)
Convert a prompt request with conversation history to a JSON object.
Definition ollama_provider.hpp:72
virtual prompt::PromptResponse fromJsonConversation(const Poco::JSON::Object::Ptr object)
Convert a JSON object to a prompt response with conversation history.
Definition ollama_provider.hpp:148
OllamaProvider()
Construct a new OllamaProvider object.
Definition ollama_provider.hpp:23
virtual Poco::JSON::Object toJson(prompt::PromptRequest &prompt) override
Convert a prompt request to a JSON object.
Definition ollama_provider.hpp:51
virtual void initialize(rclcpp::Node::SharedPtr node) override
Initialize the OllamaProvider.
Definition ollama_provider.hpp:34
std::vector< prompt::PromptDialogue > conversation_
A vector of prompt dialogues representing the conversation history.
Definition ollama_provider.hpp:180
PromptBaseClass.
Definition prompt_base_class.hpp:17
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 const Poco::JSON::Object handle_options(std::vector< prompt::PromptOption > &options)
Process options from the prompt request.
Definition rest_base_class.hpp:314
Definition base_class.hpp:8
Definition structs.hpp:17
Definition structs.hpp:24
Definition structs.hpp:35
std::string response
Definition structs.hpp:36
std::vector< PromptOption > options
Definition structs.hpp:38