Prompt Tools 0.3.2
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
prompt::OllamaProvider Class Reference

OllamaProvider. More...

#include <ollama_provider.hpp>

Inheritance diagram for prompt::OllamaProvider:
Inheritance graph
[legend]
Collaboration diagram for prompt::OllamaProvider:
Collaboration graph
[legend]

Public Member Functions

 OllamaProvider ()
 Construct a new OllamaProvider object.
 
virtual void initialize (rclcpp::Node::SharedPtr node) override
 Initialize the OllamaProvider.
 
- Public Member Functions inherited from prompt::PromptBaseClass
 PromptBaseClass ()
 Constructor.
 
virtual ~PromptBaseClass ()=default
 Destructor.
 
virtual void initialize_prompt_base (rclcpp::Node::SharedPtr node, std::string plugin_name="PromptBaseClass", std::string api_key_name="")
 Initialize the REST base class.
 
virtual prompt::PromptResponse sendPrompt (prompt::PromptRequest &req)
 sendPrompt send a prompt to a prompt provider using REST
 
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
 
- Public Member Functions inherited from prompt::RestBaseClass
 RestBaseClass ()
 Constructor.
 
virtual ~RestBaseClass ()=default
 Destructor.
 
virtual void initialize_rest_base (rclcpp::Node::SharedPtr node, std::string plugin_name="RestBaseClass", std::string api_key_name="")
 Initialize the REST base class.
 
- Public Member Functions inherited from prompt::BaseClass
 BaseClass ()=default
 
virtual ~BaseClass ()=default
 
virtual prompt::EmbedResponse get_embeddings (prompt::EmbedRequest &req)
 get_embeddings sends a text to an embedding provider using REST
 
virtual prompt::TokenResponse get_tokens (prompt::TokenRequest &req)
 get_tokens sends a text to a token provider
 

Protected Member Functions

virtual Poco::JSON::Object toJson (prompt::PromptRequest &prompt) override
 Convert a prompt request to a JSON object.
 
virtual Poco::JSON::Object toJsonConversation (prompt::PromptRequest &prompt, std::vector< PromptDialogue > &conversation)
 Convert a prompt request with conversation history to a JSON object.
 
virtual prompt::PromptResponse fromJson (const Poco::JSON::Object::Ptr object) override
 Convert a JSON object to a prompt response.
 
virtual prompt::PromptResponse fromJsonConversation (const Poco::JSON::Object::Ptr object)
 Convert a JSON object to a prompt response with conversation history.
 
- Protected Member Functions inherited from prompt::RestBaseClass
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.
 
virtual const Poco::JSON::Object handle_options (std::vector< prompt::PromptOption > &options)
 Process options from the prompt request.
 
- Protected Member Functions inherited from prompt::BaseClass
virtual void initialize_base (rclcpp::Node::SharedPtr node, std::string plugin_name="BaseClass")
 Initialize the prompt base class.
 

Protected Attributes

std::vector< prompt::PromptDialogueconversation_
 A vector of prompt dialogues representing the conversation history.
 
- Protected Attributes inherited from prompt::PromptBaseClass
std::string uri_
 URI for single prompt requests.
 
std::string chat_uri_
 URI for chat/conversation requests.
 
- Protected Attributes inherited from prompt::RestBaseClass
std::string method_
 
bool ssl_verify_
 
std::string auth_type_
 
std::string api_key_
 API key.
 
std::vector< prompt::PromptOptionrequired_options_
 Model options.
 
- Protected Attributes inherited from prompt::BaseClass
rclcpp::Node::SharedPtr node_
 Node shared pointer.
 
std::string plugin_name_
 Plugin name.
 

Additional Inherited Members

- Static Protected Member Functions inherited from prompt::RestBaseClass
static std::string extract_error_description (const std::string &response_body)
 

Detailed Description

OllamaProvider.

This is a prompt provider that uses a REST API to send and receive prompts the typical rest api uses application/json content type so that is what is supported

Constructor & Destructor Documentation

◆ OllamaProvider()

prompt::OllamaProvider::OllamaProvider ( )
inline

Construct a new OllamaProvider object.

Member Function Documentation

◆ fromJson()

virtual prompt::PromptResponse prompt::OllamaProvider::fromJson ( const Poco::JSON::Object::Ptr  object)
inlineoverrideprotectedvirtual

Convert a JSON object to a prompt response.

This method converts a JSON object received from the prompt plugin into a PromptResponse. It extracts the response content and options from the JSON object.

Parameters
objectThe JSON object to convert
Returns
A PromptResponse containing the response content and options

Implements prompt::PromptBaseClass.

◆ fromJsonConversation()

virtual prompt::PromptResponse prompt::OllamaProvider::fromJsonConversation ( const Poco::JSON::Object::Ptr  object)
inlineprotectedvirtual

Convert a JSON object to a prompt response with conversation history.

This method converts a JSON object received from the prompt plugin into a prompt response, taking into account the conversation history. It extracts the relevant fields from the JSON object and returns a PromptResponse object.

Parameters
objectThe JSON object to convert
Returns
A PromptResponse object containing the response data

Implements prompt::PromptBaseClass.

◆ initialize()

virtual void prompt::OllamaProvider::initialize ( rclcpp::Node::SharedPtr  node)
inlineoverridevirtual

Initialize the OllamaProvider.

This method initializes the OllamaProvider with parameters from the ROS parameter server.

Parameters
noderclcpp::Node::SharedPtr ROS node

Implements prompt::BaseClass.

◆ toJson()

virtual Poco::JSON::Object prompt::OllamaProvider::toJson ( prompt::PromptRequest prompt)
inlineoverrideprotectedvirtual

Convert a prompt request to a JSON object.

This method converts the prompt request to a JSON object that can be sent to the prompt plugin. It includes the prompt text and options in the JSON object.

Parameters
promptThe prompt request to convert
Returns
A JSON object representing the prompt request

Implements prompt::PromptBaseClass.

◆ toJsonConversation()

virtual Poco::JSON::Object prompt::OllamaProvider::toJsonConversation ( prompt::PromptRequest prompt,
std::vector< PromptDialogue > &  conversation 
)
inlineprotectedvirtual

Convert a prompt request with conversation history to a JSON object.

This method converts the prompt request and conversation history to a JSON object that can be sent to the prompt plugin. It includes the prompt text, options, and conversation history in the JSON object.

Parameters
promptThe prompt request to convert
conversationThe conversation history
Returns
A JSON object representing the prompt request with conversation history

Implements prompt::PromptBaseClass.

Member Data Documentation

◆ conversation_

std::vector<prompt::PromptDialogue> prompt::OllamaProvider::conversation_
protected

A vector of prompt dialogues representing the conversation history.

This vector stores the sequence of messages exchanged in the chat, including both user and assistant messages.


The documentation for this class was generated from the following file: