Prompt Tools 0.3.2
Loading...
Searching...
No Matches
conversions.hpp
Go to the documentation of this file.
1#pragma once
3#include <prompt_msgs/msg/model_option.hpp>
4#include <prompt_msgs/msg/embed.hpp>
5#include <prompt_msgs/msg/embed_response.hpp>
6#include <prompt_msgs/msg/prompt.hpp>
7#include <prompt_msgs/msg/prompt_response.hpp>
8#include <prompt_msgs/msg/token.hpp>
9#include <prompt_msgs/msg/token_response.hpp>
10
11namespace prompt
12{
13
21static const prompt::PromptRequest fromMsg(const prompt_msgs::msg::Prompt& prompt)
22{
24
25 result.prompt = prompt.prompt;
26 result.use_cache = prompt.use_cache;
27 result.flush_cache = prompt.flush_cache;
28 result.use_chat_mode = prompt.use_chat_mode;
29 result.model_family = prompt.model_family;
30
31 for (const auto& option : prompt.options)
32 {
33 result.options.push_back(prompt::PromptOption{ option.key, option.value, option.type });
34 }
35 return result;
36}
37
45static const prompt::EmbedRequest fromMsg(const prompt_msgs::msg::Embed& input)
46{
48
49 result.text = input.text;
50 result.model_family = input.model_family;
51
52 for (const auto& option : input.options)
53 {
54 result.options.push_back(prompt::PromptOption{ option.key, option.value, option.type });
55 }
56 return result;
57}
58
66static const prompt::TokenRequest fromMsg(const prompt_msgs::msg::Token& input)
67{
69
70 result.text = input.text;
71 result.tokens = input.tokens;
72 result.encode = input.encode;
73 result.model_family = input.model_family;
74
75 for (const auto& option : input.options)
76 {
77 result.options.push_back(prompt::PromptOption{ option.key, option.value, option.type });
78 }
79 return result;
80}
81
82
90static const prompt_msgs::msg::PromptResponse toMsg(const prompt::PromptResponse& res)
91{
92 prompt_msgs::msg::PromptResponse result;
93 result.response = res.response;
94 result.buffered = res.buffered;
95 result.success = res.success;
96 result.accuracy = res.accuracy;
97 result.confidence = res.confidence;
98 result.risk = res.risk;
99 return result;
100}
101
109static const prompt_msgs::msg::EmbedResponse toMsg(const prompt::EmbedResponse& res)
110{
111 prompt_msgs::msg::EmbedResponse result;
112
113 for (const auto& emb : res.embeddings)
114 {
115 prompt_msgs::msg::Embedding embedding_msg;
116 if (emb.is_float)
117 {
118 embedding_msg.float_embedding = emb.float_embedding;
119 }
120 else
121 {
122 embedding_msg.base64_embedding = emb.base64_embedding;
123 }
124 embedding_msg.is_float = emb.is_float;
125 embedding_msg.index = emb.index;
126 result.embeddings.push_back(embedding_msg);
127 }
128
129 result.success = res.success;
130 result.error = res.error;
131 result.model = res.model;
132 result.prompt_tokens = res.prompt_tokens;
133 result.total_tokens = res.total_tokens;
134
135 return result;
136}
137
145static const prompt_msgs::msg::TokenResponse toMsg(const prompt::TokenResponse& res)
146{
147 prompt_msgs::msg::TokenResponse result;
148 result.tokens = res.tokens;
149 result.text = res.text;
150 result.success = res.success;
151 result.error = res.error;
152 return result;
153}
154
155} // namespace prompt
Definition base_class.hpp:8
static const prompt::PromptRequest fromMsg(const prompt_msgs::msg::Prompt &prompt)
Converts prompt_msgs::msg::Prompt into prompt::PromptRequest which is used internally in prompt tools...
Definition conversions.hpp:21
static const prompt_msgs::msg::PromptResponse toMsg(const prompt::PromptResponse &res)
Converts prompt::PromptResponse into prompt_msgs::msg::PromptResponse which is used in ros2 eco syste...
Definition conversions.hpp:90
Definition structs.hpp:46
std::string model_family
Definition structs.hpp:48
std::vector< PromptOption > options
Definition structs.hpp:49
std::string text
Definition structs.hpp:47
Definition structs.hpp:61
bool success
Definition structs.hpp:63
std::vector< Embedding > embeddings
Definition structs.hpp:62
std::string model
Definition structs.hpp:65
int prompt_tokens
Definition structs.hpp:66
int total_tokens
Definition structs.hpp:67
std::string error
Definition structs.hpp:64
Definition structs.hpp:9
std::string key
Definition structs.hpp:10
Definition structs.hpp:24
bool use_chat_mode
Definition structs.hpp:28
std::string prompt
Definition structs.hpp:25
bool flush_cache
Definition structs.hpp:27
bool use_cache
Definition structs.hpp:26
std::string model_family
Definition structs.hpp:29
std::vector< PromptOption > options
Definition structs.hpp:30
Definition structs.hpp:35
bool success
Definition structs.hpp:39
double accuracy
Definition structs.hpp:40
bool buffered
Definition structs.hpp:37
std::string response
Definition structs.hpp:36
double risk
Definition structs.hpp:42
double confidence
Definition structs.hpp:41
Definition structs.hpp:71
std::string text
Definition structs.hpp:72
std::vector< PromptOption > options
Definition structs.hpp:76
std::string model_family
Definition structs.hpp:75
bool encode
Definition structs.hpp:74
std::vector< int > tokens
Definition structs.hpp:73
Definition structs.hpp:80
std::vector< int > tokens
Definition structs.hpp:81
bool success
Definition structs.hpp:83
std::string error
Definition structs.hpp:84
std::string text
Definition structs.hpp:82