AWS SDK for C++

AWS SDK for C++ Version 1.11.695

Loading...
Searching...
No Matches
ConverseStreamRequest.h
1
6#pragma once
7#include <aws/bedrock-runtime/BedrockRuntimeRequest.h>
8#include <aws/bedrock-runtime/BedrockRuntime_EXPORTS.h>
9#include <aws/bedrock-runtime/model/ConverseStreamHandler.h>
10#include <aws/bedrock-runtime/model/GuardrailStreamConfiguration.h>
11#include <aws/bedrock-runtime/model/InferenceConfiguration.h>
12#include <aws/bedrock-runtime/model/Message.h>
13#include <aws/bedrock-runtime/model/PerformanceConfiguration.h>
14#include <aws/bedrock-runtime/model/PromptVariableValues.h>
15#include <aws/bedrock-runtime/model/ServiceTier.h>
16#include <aws/bedrock-runtime/model/SystemContentBlock.h>
17#include <aws/bedrock-runtime/model/ToolConfiguration.h>
18#include <aws/core/utils/Document.h>
19#include <aws/core/utils/event/EventStreamDecoder.h>
20#include <aws/core/utils/memory/stl/AWSMap.h>
21#include <aws/core/utils/memory/stl/AWSString.h>
22#include <aws/core/utils/memory/stl/AWSVector.h>
23
24#include <utility>
25
26namespace Aws {
27namespace BedrockRuntime {
28namespace Model {
29
33 public:
34 AWS_BEDROCKRUNTIME_API ConverseStreamRequest() = default;
35
36 // Service request name is the Operation name which will send this request out,
37 // each operation should has unique request name, so that we can get operation's name from this request.
38 // Note: this is not true for response, multiple operations may have the same response name,
39 // so we can not get operation's name from response.
40 inline virtual const char* GetServiceRequestName() const override { return "ConverseStream"; }
41
42 inline virtual bool HasEventStreamResponse() const override { return true; }
43 AWS_BEDROCKRUNTIME_API Aws::String SerializePayload() const override;
44
49
53 inline ConverseStreamHandler& GetEventStreamHandler() { return m_handler; }
54
58 inline void SetEventStreamHandler(const ConverseStreamHandler& value) {
59 m_handler = value;
60 m_decoder.ResetEventStreamHandler(&m_handler);
61 }
62
68 return *this;
69 }
70
72
99 inline const Aws::String& GetModelId() const { return m_modelId; }
100 inline bool ModelIdHasBeenSet() const { return m_modelIdHasBeenSet; }
101 template <typename ModelIdT = Aws::String>
102 void SetModelId(ModelIdT&& value) {
103 m_modelIdHasBeenSet = true;
104 m_modelId = std::forward<ModelIdT>(value);
105 }
106 template <typename ModelIdT = Aws::String>
108 SetModelId(std::forward<ModelIdT>(value));
109 return *this;
110 }
112
114
117 inline const Aws::Vector<Message>& GetMessages() const { return m_messages; }
118 inline bool MessagesHasBeenSet() const { return m_messagesHasBeenSet; }
119 template <typename MessagesT = Aws::Vector<Message>>
120 void SetMessages(MessagesT&& value) {
121 m_messagesHasBeenSet = true;
122 m_messages = std::forward<MessagesT>(value);
123 }
124 template <typename MessagesT = Aws::Vector<Message>>
126 SetMessages(std::forward<MessagesT>(value));
127 return *this;
128 }
129 template <typename MessagesT = Message>
130 ConverseStreamRequest& AddMessages(MessagesT&& value) {
131 m_messagesHasBeenSet = true;
132 m_messages.emplace_back(std::forward<MessagesT>(value));
133 return *this;
134 }
136
138
142 inline const Aws::Vector<SystemContentBlock>& GetSystem() const { return m_system; }
143 inline bool SystemHasBeenSet() const { return m_systemHasBeenSet; }
144 template <typename SystemT = Aws::Vector<SystemContentBlock>>
145 void SetSystem(SystemT&& value) {
146 m_systemHasBeenSet = true;
147 m_system = std::forward<SystemT>(value);
148 }
149 template <typename SystemT = Aws::Vector<SystemContentBlock>>
151 SetSystem(std::forward<SystemT>(value));
152 return *this;
153 }
154 template <typename SystemT = SystemContentBlock>
156 m_systemHasBeenSet = true;
157 m_system.emplace_back(std::forward<SystemT>(value));
158 return *this;
159 }
161
163
169 inline const InferenceConfiguration& GetInferenceConfig() const { return m_inferenceConfig; }
170 inline bool InferenceConfigHasBeenSet() const { return m_inferenceConfigHasBeenSet; }
171 template <typename InferenceConfigT = InferenceConfiguration>
172 void SetInferenceConfig(InferenceConfigT&& value) {
173 m_inferenceConfigHasBeenSet = true;
174 m_inferenceConfig = std::forward<InferenceConfigT>(value);
175 }
176 template <typename InferenceConfigT = InferenceConfiguration>
177 ConverseStreamRequest& WithInferenceConfig(InferenceConfigT&& value) {
178 SetInferenceConfig(std::forward<InferenceConfigT>(value));
179 return *this;
180 }
182
184
191 inline const ToolConfiguration& GetToolConfig() const { return m_toolConfig; }
192 inline bool ToolConfigHasBeenSet() const { return m_toolConfigHasBeenSet; }
193 template <typename ToolConfigT = ToolConfiguration>
194 void SetToolConfig(ToolConfigT&& value) {
195 m_toolConfigHasBeenSet = true;
196 m_toolConfig = std::forward<ToolConfigT>(value);
197 }
198 template <typename ToolConfigT = ToolConfiguration>
199 ConverseStreamRequest& WithToolConfig(ToolConfigT&& value) {
200 SetToolConfig(std::forward<ToolConfigT>(value));
201 return *this;
202 }
204
206
214 inline const GuardrailStreamConfiguration& GetGuardrailConfig() const { return m_guardrailConfig; }
215 inline bool GuardrailConfigHasBeenSet() const { return m_guardrailConfigHasBeenSet; }
216 template <typename GuardrailConfigT = GuardrailStreamConfiguration>
217 void SetGuardrailConfig(GuardrailConfigT&& value) {
218 m_guardrailConfigHasBeenSet = true;
219 m_guardrailConfig = std::forward<GuardrailConfigT>(value);
220 }
221 template <typename GuardrailConfigT = GuardrailStreamConfiguration>
222 ConverseStreamRequest& WithGuardrailConfig(GuardrailConfigT&& value) {
223 SetGuardrailConfig(std::forward<GuardrailConfigT>(value));
224 return *this;
225 }
227
229
237 inline Aws::Utils::DocumentView GetAdditionalModelRequestFields() const { return m_additionalModelRequestFields; }
238 inline bool AdditionalModelRequestFieldsHasBeenSet() const { return m_additionalModelRequestFieldsHasBeenSet; }
239 template <typename AdditionalModelRequestFieldsT = Aws::Utils::Document>
240 void SetAdditionalModelRequestFields(AdditionalModelRequestFieldsT&& value) {
241 m_additionalModelRequestFieldsHasBeenSet = true;
242 m_additionalModelRequestFields = std::forward<AdditionalModelRequestFieldsT>(value);
243 }
244 template <typename AdditionalModelRequestFieldsT = Aws::Utils::Document>
245 ConverseStreamRequest& WithAdditionalModelRequestFields(AdditionalModelRequestFieldsT&& value) {
246 SetAdditionalModelRequestFields(std::forward<AdditionalModelRequestFieldsT>(value));
247 return *this;
248 }
250
252
258 inline const Aws::Map<Aws::String, PromptVariableValues>& GetPromptVariables() const { return m_promptVariables; }
259 inline bool PromptVariablesHasBeenSet() const { return m_promptVariablesHasBeenSet; }
260 template <typename PromptVariablesT = Aws::Map<Aws::String, PromptVariableValues>>
261 void SetPromptVariables(PromptVariablesT&& value) {
262 m_promptVariablesHasBeenSet = true;
263 m_promptVariables = std::forward<PromptVariablesT>(value);
264 }
265 template <typename PromptVariablesT = Aws::Map<Aws::String, PromptVariableValues>>
266 ConverseStreamRequest& WithPromptVariables(PromptVariablesT&& value) {
267 SetPromptVariables(std::forward<PromptVariablesT>(value));
268 return *this;
269 }
270 template <typename PromptVariablesKeyT = Aws::String, typename PromptVariablesValueT = PromptVariableValues>
271 ConverseStreamRequest& AddPromptVariables(PromptVariablesKeyT&& key, PromptVariablesValueT&& value) {
272 m_promptVariablesHasBeenSet = true;
273 m_promptVariables.emplace(std::forward<PromptVariablesKeyT>(key), std::forward<PromptVariablesValueT>(value));
274 return *this;
275 }
277
279
293 inline const Aws::Vector<Aws::String>& GetAdditionalModelResponseFieldPaths() const { return m_additionalModelResponseFieldPaths; }
294 inline bool AdditionalModelResponseFieldPathsHasBeenSet() const { return m_additionalModelResponseFieldPathsHasBeenSet; }
295 template <typename AdditionalModelResponseFieldPathsT = Aws::Vector<Aws::String>>
296 void SetAdditionalModelResponseFieldPaths(AdditionalModelResponseFieldPathsT&& value) {
297 m_additionalModelResponseFieldPathsHasBeenSet = true;
298 m_additionalModelResponseFieldPaths = std::forward<AdditionalModelResponseFieldPathsT>(value);
299 }
300 template <typename AdditionalModelResponseFieldPathsT = Aws::Vector<Aws::String>>
301 ConverseStreamRequest& WithAdditionalModelResponseFieldPaths(AdditionalModelResponseFieldPathsT&& value) {
302 SetAdditionalModelResponseFieldPaths(std::forward<AdditionalModelResponseFieldPathsT>(value));
303 return *this;
304 }
305 template <typename AdditionalModelResponseFieldPathsT = Aws::String>
306 ConverseStreamRequest& AddAdditionalModelResponseFieldPaths(AdditionalModelResponseFieldPathsT&& value) {
307 m_additionalModelResponseFieldPathsHasBeenSet = true;
308 m_additionalModelResponseFieldPaths.emplace_back(std::forward<AdditionalModelResponseFieldPathsT>(value));
309 return *this;
310 }
312
314
317 inline const Aws::Map<Aws::String, Aws::String>& GetRequestMetadata() const { return m_requestMetadata; }
318 inline bool RequestMetadataHasBeenSet() const { return m_requestMetadataHasBeenSet; }
319 template <typename RequestMetadataT = Aws::Map<Aws::String, Aws::String>>
320 void SetRequestMetadata(RequestMetadataT&& value) {
321 m_requestMetadataHasBeenSet = true;
322 m_requestMetadata = std::forward<RequestMetadataT>(value);
323 }
324 template <typename RequestMetadataT = Aws::Map<Aws::String, Aws::String>>
325 ConverseStreamRequest& WithRequestMetadata(RequestMetadataT&& value) {
326 SetRequestMetadata(std::forward<RequestMetadataT>(value));
327 return *this;
328 }
329 template <typename RequestMetadataKeyT = Aws::String, typename RequestMetadataValueT = Aws::String>
330 ConverseStreamRequest& AddRequestMetadata(RequestMetadataKeyT&& key, RequestMetadataValueT&& value) {
331 m_requestMetadataHasBeenSet = true;
332 m_requestMetadata.emplace(std::forward<RequestMetadataKeyT>(key), std::forward<RequestMetadataValueT>(value));
333 return *this;
334 }
336
338
341 inline const PerformanceConfiguration& GetPerformanceConfig() const { return m_performanceConfig; }
342 inline bool PerformanceConfigHasBeenSet() const { return m_performanceConfigHasBeenSet; }
343 template <typename PerformanceConfigT = PerformanceConfiguration>
344 void SetPerformanceConfig(PerformanceConfigT&& value) {
345 m_performanceConfigHasBeenSet = true;
346 m_performanceConfig = std::forward<PerformanceConfigT>(value);
347 }
348 template <typename PerformanceConfigT = PerformanceConfiguration>
349 ConverseStreamRequest& WithPerformanceConfig(PerformanceConfigT&& value) {
350 SetPerformanceConfig(std::forward<PerformanceConfigT>(value));
351 return *this;
352 }
354
356
359 inline const ServiceTier& GetServiceTier() const { return m_serviceTier; }
360 inline bool ServiceTierHasBeenSet() const { return m_serviceTierHasBeenSet; }
361 template <typename ServiceTierT = ServiceTier>
362 void SetServiceTier(ServiceTierT&& value) {
363 m_serviceTierHasBeenSet = true;
364 m_serviceTier = std::forward<ServiceTierT>(value);
365 }
366 template <typename ServiceTierT = ServiceTier>
367 ConverseStreamRequest& WithServiceTier(ServiceTierT&& value) {
368 SetServiceTier(std::forward<ServiceTierT>(value));
369 return *this;
370 }
372 private:
373 Aws::String m_modelId;
374 bool m_modelIdHasBeenSet = false;
375
376 Aws::Vector<Message> m_messages;
377 bool m_messagesHasBeenSet = false;
378
380 bool m_systemHasBeenSet = false;
381
382 InferenceConfiguration m_inferenceConfig;
383 bool m_inferenceConfigHasBeenSet = false;
384
385 ToolConfiguration m_toolConfig;
386 bool m_toolConfigHasBeenSet = false;
387
388 GuardrailStreamConfiguration m_guardrailConfig;
389 bool m_guardrailConfigHasBeenSet = false;
390
391 Aws::Utils::Document m_additionalModelRequestFields;
392 bool m_additionalModelRequestFieldsHasBeenSet = false;
393
395 bool m_promptVariablesHasBeenSet = false;
396
397 Aws::Vector<Aws::String> m_additionalModelResponseFieldPaths;
398 bool m_additionalModelResponseFieldPathsHasBeenSet = false;
399
400 Aws::Map<Aws::String, Aws::String> m_requestMetadata;
401 bool m_requestMetadataHasBeenSet = false;
402
403 PerformanceConfiguration m_performanceConfig;
404 bool m_performanceConfigHasBeenSet = false;
405
406 ServiceTier m_serviceTier;
407 bool m_serviceTierHasBeenSet = false;
408 ConverseStreamHandler m_handler;
410};
411
412} // namespace Model
413} // namespace BedrockRuntime
414} // 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 & WithServiceTier(ServiceTierT &&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