AWS SDK for C++

AWS SDK for C++ Version 1.11.609

Loading...
Searching...
No Matches
ConverseStreamRequest.h
1
6#pragma once
7#include <aws/bedrock-runtime/BedrockRuntime_EXPORTS.h>
8#include <aws/bedrock-runtime/BedrockRuntimeRequest.h>
9#include <aws/bedrock-runtime/model/ConverseStreamHandler.h>
10#include <aws/core/utils/event/EventStreamDecoder.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/bedrock-runtime/model/InferenceConfiguration.h>
14#include <aws/bedrock-runtime/model/ToolConfiguration.h>
15#include <aws/bedrock-runtime/model/GuardrailStreamConfiguration.h>
16#include <aws/core/utils/Document.h>
17#include <aws/core/utils/memory/stl/AWSMap.h>
18#include <aws/bedrock-runtime/model/PerformanceConfiguration.h>
19#include <aws/bedrock-runtime/model/Message.h>
20#include <aws/bedrock-runtime/model/SystemContentBlock.h>
21#include <aws/bedrock-runtime/model/PromptVariableValues.h>
22#include <utility>
23
24namespace Aws
25{
26namespace BedrockRuntime
27{
28namespace Model
29{
30
34 {
35 public:
36 AWS_BEDROCKRUNTIME_API ConverseStreamRequest() = default;
37
38 // Service request name is the Operation name which will send this request out,
39 // each operation should has unique request name, so that we can get operation's name from this request.
40 // Note: this is not true for response, multiple operations may have the same response name,
41 // so we can not get operation's name from response.
42 inline virtual const char* GetServiceRequestName() const override { return "ConverseStream"; }
43
44 inline virtual bool HasEventStreamResponse() const override { return true; }
45 AWS_BEDROCKRUNTIME_API Aws::String SerializePayload() const override;
46
51
55 inline ConverseStreamHandler& GetEventStreamHandler() { return m_handler; }
56
60 inline void SetEventStreamHandler(const ConverseStreamHandler& value) { m_handler = value; m_decoder.ResetEventStreamHandler(&m_handler); }
61
66
67
69
96 inline const Aws::String& GetModelId() const { return m_modelId; }
97 inline bool ModelIdHasBeenSet() const { return m_modelIdHasBeenSet; }
98 template<typename ModelIdT = Aws::String>
99 void SetModelId(ModelIdT&& value) { m_modelIdHasBeenSet = true; m_modelId = std::forward<ModelIdT>(value); }
100 template<typename ModelIdT = Aws::String>
101 ConverseStreamRequest& WithModelId(ModelIdT&& value) { SetModelId(std::forward<ModelIdT>(value)); return *this;}
103
105
108 inline const Aws::Vector<Message>& GetMessages() const { return m_messages; }
109 inline bool MessagesHasBeenSet() const { return m_messagesHasBeenSet; }
110 template<typename MessagesT = Aws::Vector<Message>>
111 void SetMessages(MessagesT&& value) { m_messagesHasBeenSet = true; m_messages = std::forward<MessagesT>(value); }
112 template<typename MessagesT = Aws::Vector<Message>>
113 ConverseStreamRequest& WithMessages(MessagesT&& value) { SetMessages(std::forward<MessagesT>(value)); return *this;}
114 template<typename MessagesT = Message>
115 ConverseStreamRequest& AddMessages(MessagesT&& value) { m_messagesHasBeenSet = true; m_messages.emplace_back(std::forward<MessagesT>(value)); return *this; }
117
119
123 inline const Aws::Vector<SystemContentBlock>& GetSystem() const { return m_system; }
124 inline bool SystemHasBeenSet() const { return m_systemHasBeenSet; }
125 template<typename SystemT = Aws::Vector<SystemContentBlock>>
126 void SetSystem(SystemT&& value) { m_systemHasBeenSet = true; m_system = std::forward<SystemT>(value); }
127 template<typename SystemT = Aws::Vector<SystemContentBlock>>
128 ConverseStreamRequest& WithSystem(SystemT&& value) { SetSystem(std::forward<SystemT>(value)); return *this;}
129 template<typename SystemT = SystemContentBlock>
130 ConverseStreamRequest& AddSystem(SystemT&& value) { m_systemHasBeenSet = true; m_system.emplace_back(std::forward<SystemT>(value)); return *this; }
132
134
140 inline const InferenceConfiguration& GetInferenceConfig() const { return m_inferenceConfig; }
141 inline bool InferenceConfigHasBeenSet() const { return m_inferenceConfigHasBeenSet; }
142 template<typename InferenceConfigT = InferenceConfiguration>
143 void SetInferenceConfig(InferenceConfigT&& value) { m_inferenceConfigHasBeenSet = true; m_inferenceConfig = std::forward<InferenceConfigT>(value); }
144 template<typename InferenceConfigT = InferenceConfiguration>
145 ConverseStreamRequest& WithInferenceConfig(InferenceConfigT&& value) { SetInferenceConfig(std::forward<InferenceConfigT>(value)); return *this;}
147
149
156 inline const ToolConfiguration& GetToolConfig() const { return m_toolConfig; }
157 inline bool ToolConfigHasBeenSet() const { return m_toolConfigHasBeenSet; }
158 template<typename ToolConfigT = ToolConfiguration>
159 void SetToolConfig(ToolConfigT&& value) { m_toolConfigHasBeenSet = true; m_toolConfig = std::forward<ToolConfigT>(value); }
160 template<typename ToolConfigT = ToolConfiguration>
161 ConverseStreamRequest& WithToolConfig(ToolConfigT&& value) { SetToolConfig(std::forward<ToolConfigT>(value)); return *this;}
163
165
173 inline const GuardrailStreamConfiguration& GetGuardrailConfig() const { return m_guardrailConfig; }
174 inline bool GuardrailConfigHasBeenSet() const { return m_guardrailConfigHasBeenSet; }
175 template<typename GuardrailConfigT = GuardrailStreamConfiguration>
176 void SetGuardrailConfig(GuardrailConfigT&& value) { m_guardrailConfigHasBeenSet = true; m_guardrailConfig = std::forward<GuardrailConfigT>(value); }
177 template<typename GuardrailConfigT = GuardrailStreamConfiguration>
178 ConverseStreamRequest& WithGuardrailConfig(GuardrailConfigT&& value) { SetGuardrailConfig(std::forward<GuardrailConfigT>(value)); return *this;}
180
182
190 inline Aws::Utils::DocumentView GetAdditionalModelRequestFields() const { return m_additionalModelRequestFields; }
191 inline bool AdditionalModelRequestFieldsHasBeenSet() const { return m_additionalModelRequestFieldsHasBeenSet; }
192 template<typename AdditionalModelRequestFieldsT = Aws::Utils::Document>
193 void SetAdditionalModelRequestFields(AdditionalModelRequestFieldsT&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields = std::forward<AdditionalModelRequestFieldsT>(value); }
194 template<typename AdditionalModelRequestFieldsT = Aws::Utils::Document>
195 ConverseStreamRequest& WithAdditionalModelRequestFields(AdditionalModelRequestFieldsT&& value) { SetAdditionalModelRequestFields(std::forward<AdditionalModelRequestFieldsT>(value)); return *this;}
197
199
205 inline const Aws::Map<Aws::String, PromptVariableValues>& GetPromptVariables() const { return m_promptVariables; }
206 inline bool PromptVariablesHasBeenSet() const { return m_promptVariablesHasBeenSet; }
207 template<typename PromptVariablesT = Aws::Map<Aws::String, PromptVariableValues>>
208 void SetPromptVariables(PromptVariablesT&& value) { m_promptVariablesHasBeenSet = true; m_promptVariables = std::forward<PromptVariablesT>(value); }
209 template<typename PromptVariablesT = Aws::Map<Aws::String, PromptVariableValues>>
210 ConverseStreamRequest& WithPromptVariables(PromptVariablesT&& value) { SetPromptVariables(std::forward<PromptVariablesT>(value)); return *this;}
211 template<typename PromptVariablesKeyT = Aws::String, typename PromptVariablesValueT = PromptVariableValues>
212 ConverseStreamRequest& AddPromptVariables(PromptVariablesKeyT&& key, PromptVariablesValueT&& value) {
213 m_promptVariablesHasBeenSet = true; m_promptVariables.emplace(std::forward<PromptVariablesKeyT>(key), std::forward<PromptVariablesValueT>(value)); return *this;
214 }
216
218
232 inline const Aws::Vector<Aws::String>& GetAdditionalModelResponseFieldPaths() const { return m_additionalModelResponseFieldPaths; }
233 inline bool AdditionalModelResponseFieldPathsHasBeenSet() const { return m_additionalModelResponseFieldPathsHasBeenSet; }
234 template<typename AdditionalModelResponseFieldPathsT = Aws::Vector<Aws::String>>
235 void SetAdditionalModelResponseFieldPaths(AdditionalModelResponseFieldPathsT&& value) { m_additionalModelResponseFieldPathsHasBeenSet = true; m_additionalModelResponseFieldPaths = std::forward<AdditionalModelResponseFieldPathsT>(value); }
236 template<typename AdditionalModelResponseFieldPathsT = Aws::Vector<Aws::String>>
237 ConverseStreamRequest& WithAdditionalModelResponseFieldPaths(AdditionalModelResponseFieldPathsT&& value) { SetAdditionalModelResponseFieldPaths(std::forward<AdditionalModelResponseFieldPathsT>(value)); return *this;}
238 template<typename AdditionalModelResponseFieldPathsT = Aws::String>
239 ConverseStreamRequest& AddAdditionalModelResponseFieldPaths(AdditionalModelResponseFieldPathsT&& value) { m_additionalModelResponseFieldPathsHasBeenSet = true; m_additionalModelResponseFieldPaths.emplace_back(std::forward<AdditionalModelResponseFieldPathsT>(value)); return *this; }
241
243
246 inline const Aws::Map<Aws::String, Aws::String>& GetRequestMetadata() const { return m_requestMetadata; }
247 inline bool RequestMetadataHasBeenSet() const { return m_requestMetadataHasBeenSet; }
248 template<typename RequestMetadataT = Aws::Map<Aws::String, Aws::String>>
249 void SetRequestMetadata(RequestMetadataT&& value) { m_requestMetadataHasBeenSet = true; m_requestMetadata = std::forward<RequestMetadataT>(value); }
250 template<typename RequestMetadataT = Aws::Map<Aws::String, Aws::String>>
251 ConverseStreamRequest& WithRequestMetadata(RequestMetadataT&& value) { SetRequestMetadata(std::forward<RequestMetadataT>(value)); return *this;}
252 template<typename RequestMetadataKeyT = Aws::String, typename RequestMetadataValueT = Aws::String>
253 ConverseStreamRequest& AddRequestMetadata(RequestMetadataKeyT&& key, RequestMetadataValueT&& value) {
254 m_requestMetadataHasBeenSet = true; m_requestMetadata.emplace(std::forward<RequestMetadataKeyT>(key), std::forward<RequestMetadataValueT>(value)); return *this;
255 }
257
259
262 inline const PerformanceConfiguration& GetPerformanceConfig() const { return m_performanceConfig; }
263 inline bool PerformanceConfigHasBeenSet() const { return m_performanceConfigHasBeenSet; }
264 template<typename PerformanceConfigT = PerformanceConfiguration>
265 void SetPerformanceConfig(PerformanceConfigT&& value) { m_performanceConfigHasBeenSet = true; m_performanceConfig = std::forward<PerformanceConfigT>(value); }
266 template<typename PerformanceConfigT = PerformanceConfiguration>
267 ConverseStreamRequest& WithPerformanceConfig(PerformanceConfigT&& value) { SetPerformanceConfig(std::forward<PerformanceConfigT>(value)); return *this;}
269 private:
270
271 Aws::String m_modelId;
272 bool m_modelIdHasBeenSet = false;
273
274 Aws::Vector<Message> m_messages;
275 bool m_messagesHasBeenSet = false;
276
278 bool m_systemHasBeenSet = false;
279
280 InferenceConfiguration m_inferenceConfig;
281 bool m_inferenceConfigHasBeenSet = false;
282
283 ToolConfiguration m_toolConfig;
284 bool m_toolConfigHasBeenSet = false;
285
286 GuardrailStreamConfiguration m_guardrailConfig;
287 bool m_guardrailConfigHasBeenSet = false;
288
289 Aws::Utils::Document m_additionalModelRequestFields;
290 bool m_additionalModelRequestFieldsHasBeenSet = false;
291
293 bool m_promptVariablesHasBeenSet = false;
294
295 Aws::Vector<Aws::String> m_additionalModelResponseFieldPaths;
296 bool m_additionalModelResponseFieldPathsHasBeenSet = false;
297
298 Aws::Map<Aws::String, Aws::String> m_requestMetadata;
299 bool m_requestMetadataHasBeenSet = false;
300
301 PerformanceConfiguration m_performanceConfig;
302 bool m_performanceConfigHasBeenSet = false;
303 ConverseStreamHandler m_handler;
305
306 };
307
308} // namespace Model
309} // namespace BedrockRuntime
310} // namespace Aws
ConverseStreamRequest & WithEventStreamHandler(const ConverseStreamHandler &value)
ConverseStreamRequest & WithAdditionalModelRequestFields(AdditionalModelRequestFieldsT &&value)
const Aws::Vector< SystemContentBlock > & GetSystem() const
const Aws::Map< Aws::String, Aws::String > & GetRequestMetadata() const
void SetAdditionalModelRequestFields(AdditionalModelRequestFieldsT &&value)
ConverseStreamRequest & WithModelId(ModelIdT &&value)
void SetEventStreamHandler(const ConverseStreamHandler &value)
ConverseStreamRequest & WithToolConfig(ToolConfigT &&value)
AWS_BEDROCKRUNTIME_API ConverseStreamRequest()=default
const Aws::Vector< Aws::String > & GetAdditionalModelResponseFieldPaths() const
ConverseStreamRequest & WithRequestMetadata(RequestMetadataT &&value)
ConverseStreamRequest & AddMessages(MessagesT &&value)
ConverseStreamRequest & AddPromptVariables(PromptVariablesKeyT &&key, PromptVariablesValueT &&value)
ConverseStreamRequest & AddSystem(SystemT &&value)
Aws::Utils::Event::EventStreamDecoder & GetEventStreamDecoder()
ConverseStreamRequest & WithInferenceConfig(InferenceConfigT &&value)
const Aws::Map< Aws::String, PromptVariableValues > & GetPromptVariables() const
ConverseStreamRequest & WithSystem(SystemT &&value)
ConverseStreamRequest & AddAdditionalModelResponseFieldPaths(AdditionalModelResponseFieldPathsT &&value)
ConverseStreamRequest & WithMessages(MessagesT &&value)
const PerformanceConfiguration & GetPerformanceConfig() const
const GuardrailStreamConfiguration & GetGuardrailConfig() const
const Aws::Vector< Message > & GetMessages() const
ConverseStreamRequest & WithPromptVariables(PromptVariablesT &&value)
ConverseStreamRequest & AddRequestMetadata(RequestMetadataKeyT &&key, RequestMetadataValueT &&value)
void SetAdditionalModelResponseFieldPaths(AdditionalModelResponseFieldPathsT &&value)
virtual const char * GetServiceRequestName() const override
ConverseStreamRequest & WithAdditionalModelResponseFieldPaths(AdditionalModelResponseFieldPathsT &&value)
const InferenceConfiguration & GetInferenceConfig() const
ConverseStreamRequest & WithGuardrailConfig(GuardrailConfigT &&value)
AWS_BEDROCKRUNTIME_API Aws::String SerializePayload() const override
Aws::Utils::DocumentView GetAdditionalModelRequestFields() const
ConverseStreamRequest & WithPerformanceConfig(PerformanceConfigT &&value)
void ResetEventStreamHandler(EventStreamHandler *handler)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector