lib/aws-sdk-bedrockagentruntime/client.rb in aws-sdk-bedrockagentruntime-1.15.0 vs lib/aws-sdk-bedrockagentruntime/client.rb in aws-sdk-bedrockagentruntime-1.16.0
- old
+ new
@@ -434,12 +434,106 @@
super
end
# @!group API Operations
- # <note markdown="1"> The CLI doesn't support `InvokeAgent`.
+ # Deletes memory from the specified memory identifier.
#
+ # @option params [required, String] :agent_alias_id
+ # The unique identifier of an alias of an agent.
+ #
+ # @option params [required, String] :agent_id
+ # The unique identifier of the agent to which the alias belongs.
+ #
+ # @option params [String] :memory_id
+ # The unique identifier of the memory.
+ #
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.delete_agent_memory({
+ # agent_alias_id: "AgentAliasId", # required
+ # agent_id: "AgentId", # required
+ # memory_id: "MemoryId",
+ # })
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/DeleteAgentMemory AWS API Documentation
+ #
+ # @overload delete_agent_memory(params = {})
+ # @param [Hash] params ({})
+ def delete_agent_memory(params = {}, options = {})
+ req = build_request(:delete_agent_memory, params)
+ req.send_request(options)
+ end
+
+ # Gets the sessions stored in the memory of the agent.
+ #
+ # @option params [required, String] :agent_alias_id
+ # The unique identifier of an alias of an agent.
+ #
+ # @option params [required, String] :agent_id
+ # The unique identifier of the agent to which the alias belongs.
+ #
+ # @option params [Integer] :max_items
+ # The maximum number of items to return in the response. If the total
+ # number of results is greater than this value, use the token returned
+ # in the response in the `nextToken` field when making another request
+ # to return the next batch of results.
+ #
+ # @option params [required, String] :memory_id
+ # The unique identifier of the memory.
+ #
+ # @option params [required, String] :memory_type
+ # The type of memory.
+ #
+ # @option params [String] :next_token
+ # If the total number of results is greater than the maxItems value
+ # provided in the request, enter the token returned in the `nextToken`
+ # field in the response in this field to return the next batch of
+ # results.
+ #
+ # @return [Types::GetAgentMemoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::GetAgentMemoryResponse#memory_contents #memory_contents} => Array<Types::Memory>
+ # * {Types::GetAgentMemoryResponse#next_token #next_token} => String
+ #
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.get_agent_memory({
+ # agent_alias_id: "AgentAliasId", # required
+ # agent_id: "AgentId", # required
+ # max_items: 1,
+ # memory_id: "MemoryId", # required
+ # memory_type: "SESSION_SUMMARY", # required, accepts SESSION_SUMMARY
+ # next_token: "NextToken",
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.memory_contents #=> Array
+ # resp.memory_contents[0].session_summary.memory_id #=> String
+ # resp.memory_contents[0].session_summary.session_expiry_time #=> Time
+ # resp.memory_contents[0].session_summary.session_id #=> String
+ # resp.memory_contents[0].session_summary.session_start_time #=> Time
+ # resp.memory_contents[0].session_summary.summary_text #=> String
+ # resp.next_token #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/GetAgentMemory AWS API Documentation
+ #
+ # @overload get_agent_memory(params = {})
+ # @param [Hash] params ({})
+ def get_agent_memory(params = {}, options = {})
+ req = build_request(:get_agent_memory, params)
+ req.send_request(options)
+ end
+
+ # <note markdown="1"> The CLI doesn't support streaming operations in Amazon Bedrock,
+ # including `InvokeAgent`.
+ #
# </note>
#
# Sends a prompt for the agent to process and respond to. Note the
# following fields for the request:
#
@@ -499,10 +593,13 @@
# <note markdown="1"> If you include `returnControlInvocationResults` in the `sessionState`
# field, the `inputText` field will be ignored.
#
# </note>
#
+ # @option params [String] :memory_id
+ # The unique identifier of the agent memory.
+ #
# @option params [required, String] :session_id
# The unique identifier of the session. Use the same value across
# requests to continue the same conversation.
#
# @option params [Types::SessionState] :session_state
@@ -520,10 +617,11 @@
#
# @return [Types::InvokeAgentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::InvokeAgentResponse#completion #completion} => Types::ResponseStream
# * {Types::InvokeAgentResponse#content_type #content_type} => String
+ # * {Types::InvokeAgentResponse#memory_id #memory_id} => String
# * {Types::InvokeAgentResponse#session_id #session_id} => String
#
# @example EventStream Operation Example
#
# You can process the event once it arrives immediately, or wait until the
@@ -580,10 +678,13 @@
# event # => Aws::BedrockAgentRuntime::Types::conflictException
# end
# handler.on_dependency_failed_exception_event do |event|
# event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException
# end
+ # handler.on_files_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::files
+ # end
# handler.on_internal_server_exception_event do |event|
# event # => Aws::BedrockAgentRuntime::Types::internalServerException
# end
# handler.on_resource_not_found_exception_event do |event|
# event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException
@@ -623,10 +724,13 @@
# event # => Aws::BedrockAgentRuntime::Types::conflictException
# end
# stream.on_dependency_failed_exception_event do |event|
# event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException
# end
+ # stream.on_files_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::files
+ # end
# stream.on_internal_server_exception_event do |event|
# event # => Aws::BedrockAgentRuntime::Types::internalServerException
# end
# stream.on_resource_not_found_exception_event do |event|
# event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException
@@ -666,10 +770,13 @@
# event # => Aws::BedrockAgentRuntime::Types::conflictException
# end
# handler.on_dependency_failed_exception_event do |event|
# event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException
# end
+ # handler.on_files_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::files
+ # end
# handler.on_internal_server_exception_event do |event|
# event # => Aws::BedrockAgentRuntime::Types::internalServerException
# end
# handler.on_resource_not_found_exception_event do |event|
# event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException
@@ -712,13 +819,108 @@
# agent_alias_id: "AgentAliasId", # required
# agent_id: "AgentId", # required
# enable_trace: false,
# end_session: false,
# input_text: "InputText",
+ # memory_id: "MemoryId",
# session_id: "SessionId", # required
# session_state: {
+ # files: [
+ # {
+ # name: "String", # required
+ # source: { # required
+ # byte_content: {
+ # data: "data", # required
+ # media_type: "MimeType", # required
+ # },
+ # s3_location: {
+ # uri: "S3Uri", # required
+ # },
+ # source_type: "S3", # required, accepts S3, BYTE_CONTENT
+ # },
+ # use_case: "CODE_INTERPRETER", # required, accepts CODE_INTERPRETER, CHAT
+ # },
+ # ],
# invocation_id: "String",
+ # knowledge_base_configurations: [
+ # {
+ # knowledge_base_id: "KnowledgeBaseId", # required
+ # retrieval_configuration: { # required
+ # vector_search_configuration: { # required
+ # filter: {
+ # and_all: [
+ # {
+ # # recursive RetrievalFilter
+ # },
+ # ],
+ # equals: {
+ # key: "FilterKey", # required
+ # value: { # required
+ # },
+ # },
+ # greater_than: {
+ # key: "FilterKey", # required
+ # value: { # required
+ # },
+ # },
+ # greater_than_or_equals: {
+ # key: "FilterKey", # required
+ # value: { # required
+ # },
+ # },
+ # in: {
+ # key: "FilterKey", # required
+ # value: { # required
+ # },
+ # },
+ # less_than: {
+ # key: "FilterKey", # required
+ # value: { # required
+ # },
+ # },
+ # less_than_or_equals: {
+ # key: "FilterKey", # required
+ # value: { # required
+ # },
+ # },
+ # list_contains: {
+ # key: "FilterKey", # required
+ # value: { # required
+ # },
+ # },
+ # not_equals: {
+ # key: "FilterKey", # required
+ # value: { # required
+ # },
+ # },
+ # not_in: {
+ # key: "FilterKey", # required
+ # value: { # required
+ # },
+ # },
+ # or_all: [
+ # {
+ # # recursive RetrievalFilter
+ # },
+ # ],
+ # starts_with: {
+ # key: "FilterKey", # required
+ # value: { # required
+ # },
+ # },
+ # string_contains: {
+ # key: "FilterKey", # required
+ # value: { # required
+ # },
+ # },
+ # },
+ # number_of_results: 1,
+ # override_search_type: "HYBRID", # accepts HYBRID, SEMANTIC
+ # },
+ # },
+ # },
+ # ],
# prompt_session_attributes: {
# "String" => "String",
# },
# return_control_invocation_results: [
# {
@@ -754,11 +956,11 @@
#
# @example Response structure
#
# All events are available at resp.completion:
# resp.completion #=> Enumerator
- # resp.completion.event_types #=> [:access_denied_exception, :bad_gateway_exception, :chunk, :conflict_exception, :dependency_failed_exception, :internal_server_exception, :resource_not_found_exception, :return_control, :service_quota_exceeded_exception, :throttling_exception, :trace, :validation_exception]
+ # resp.completion.event_types #=> [:access_denied_exception, :bad_gateway_exception, :chunk, :conflict_exception, :dependency_failed_exception, :files, :internal_server_exception, :resource_not_found_exception, :return_control, :service_quota_exceeded_exception, :throttling_exception, :trace, :validation_exception]
#
# For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator:
# event.message #=> String
#
# For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator:
@@ -770,22 +972,32 @@
# event.attribution.citations[0].generated_response_part.text_response_part.span.end #=> Integer
# event.attribution.citations[0].generated_response_part.text_response_part.span.start #=> Integer
# event.attribution.citations[0].generated_response_part.text_response_part.text #=> String
# event.attribution.citations[0].retrieved_references #=> Array
# event.attribution.citations[0].retrieved_references[0].content.text #=> String
+ # event.attribution.citations[0].retrieved_references[0].location.confluence_location.url #=> String
# event.attribution.citations[0].retrieved_references[0].location.s3_location.uri #=> String
- # event.attribution.citations[0].retrieved_references[0].location.type #=> String, one of "S3"
+ # event.attribution.citations[0].retrieved_references[0].location.salesforce_location.url #=> String
+ # event.attribution.citations[0].retrieved_references[0].location.share_point_location.url #=> String
+ # event.attribution.citations[0].retrieved_references[0].location.type #=> String, one of "S3", "WEB", "CONFLUENCE", "SALESFORCE", "SHAREPOINT"
+ # event.attribution.citations[0].retrieved_references[0].location.web_location.url #=> String
# event.attribution.citations[0].retrieved_references[0].metadata #=> Hash
# event.bytes #=> String
#
# For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator:
# event.message #=> String
#
# For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator:
# event.message #=> String
# event.resource_name #=> String
#
+ # For :files event available at #on_files_event callback and response eventstream enumerator:
+ # event.files #=> Array
+ # event.files[0].bytes #=> String
+ # event.files[0].name #=> String
+ # event.files[0].type #=> String
+ #
# For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator:
# event.message #=> String
#
# For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator:
# event.message #=> String
@@ -877,22 +1089,27 @@
# event.trace.guardrail_trace.output_assessments[0].word_policy.managed_word_lists[0].match #=> String
# event.trace.guardrail_trace.output_assessments[0].word_policy.managed_word_lists[0].type #=> String, one of "PROFANITY"
# event.trace.guardrail_trace.trace_id #=> String
# event.trace.orchestration_trace.invocation_input.action_group_invocation_input.action_group_name #=> String
# event.trace.orchestration_trace.invocation_input.action_group_invocation_input.api_path #=> String
+ # event.trace.orchestration_trace.invocation_input.action_group_invocation_input.execution_type #=> String, one of "LAMBDA", "RETURN_CONTROL"
# event.trace.orchestration_trace.invocation_input.action_group_invocation_input.function #=> String
+ # event.trace.orchestration_trace.invocation_input.action_group_invocation_input.invocation_id #=> String
# event.trace.orchestration_trace.invocation_input.action_group_invocation_input.parameters #=> Array
# event.trace.orchestration_trace.invocation_input.action_group_invocation_input.parameters[0].name #=> String
# event.trace.orchestration_trace.invocation_input.action_group_invocation_input.parameters[0].type #=> String
# event.trace.orchestration_trace.invocation_input.action_group_invocation_input.parameters[0].value #=> String
# event.trace.orchestration_trace.invocation_input.action_group_invocation_input.request_body.content #=> Hash
# event.trace.orchestration_trace.invocation_input.action_group_invocation_input.request_body.content["String"] #=> Array
# event.trace.orchestration_trace.invocation_input.action_group_invocation_input.request_body.content["String"][0].name #=> String
# event.trace.orchestration_trace.invocation_input.action_group_invocation_input.request_body.content["String"][0].type #=> String
# event.trace.orchestration_trace.invocation_input.action_group_invocation_input.request_body.content["String"][0].value #=> String
# event.trace.orchestration_trace.invocation_input.action_group_invocation_input.verb #=> String
- # event.trace.orchestration_trace.invocation_input.invocation_type #=> String, one of "ACTION_GROUP", "KNOWLEDGE_BASE", "FINISH"
+ # event.trace.orchestration_trace.invocation_input.code_interpreter_invocation_input.code #=> String
+ # event.trace.orchestration_trace.invocation_input.code_interpreter_invocation_input.files #=> Array
+ # event.trace.orchestration_trace.invocation_input.code_interpreter_invocation_input.files[0] #=> String
+ # event.trace.orchestration_trace.invocation_input.invocation_type #=> String, one of "ACTION_GROUP", "KNOWLEDGE_BASE", "FINISH", "ACTION_GROUP_CODE_INTERPRETER"
# event.trace.orchestration_trace.invocation_input.knowledge_base_lookup_input.knowledge_base_id #=> String
# event.trace.orchestration_trace.invocation_input.knowledge_base_lookup_input.text #=> String
# event.trace.orchestration_trace.invocation_input.trace_id #=> String
# event.trace.orchestration_trace.model_invocation_input.inference_configuration.maximum_length #=> Integer
# event.trace.orchestration_trace.model_invocation_input.inference_configuration.stop_sequences #=> Array
@@ -905,15 +1122,24 @@
# event.trace.orchestration_trace.model_invocation_input.prompt_creation_mode #=> String, one of "DEFAULT", "OVERRIDDEN"
# event.trace.orchestration_trace.model_invocation_input.text #=> String
# event.trace.orchestration_trace.model_invocation_input.trace_id #=> String
# event.trace.orchestration_trace.model_invocation_input.type #=> String, one of "PRE_PROCESSING", "ORCHESTRATION", "KNOWLEDGE_BASE_RESPONSE_GENERATION", "POST_PROCESSING"
# event.trace.orchestration_trace.observation.action_group_invocation_output.text #=> String
+ # event.trace.orchestration_trace.observation.code_interpreter_invocation_output.execution_error #=> String
+ # event.trace.orchestration_trace.observation.code_interpreter_invocation_output.execution_output #=> String
+ # event.trace.orchestration_trace.observation.code_interpreter_invocation_output.execution_timeout #=> Boolean
+ # event.trace.orchestration_trace.observation.code_interpreter_invocation_output.files #=> Array
+ # event.trace.orchestration_trace.observation.code_interpreter_invocation_output.files[0] #=> String
# event.trace.orchestration_trace.observation.final_response.text #=> String
# event.trace.orchestration_trace.observation.knowledge_base_lookup_output.retrieved_references #=> Array
# event.trace.orchestration_trace.observation.knowledge_base_lookup_output.retrieved_references[0].content.text #=> String
+ # event.trace.orchestration_trace.observation.knowledge_base_lookup_output.retrieved_references[0].location.confluence_location.url #=> String
# event.trace.orchestration_trace.observation.knowledge_base_lookup_output.retrieved_references[0].location.s3_location.uri #=> String
- # event.trace.orchestration_trace.observation.knowledge_base_lookup_output.retrieved_references[0].location.type #=> String, one of "S3"
+ # event.trace.orchestration_trace.observation.knowledge_base_lookup_output.retrieved_references[0].location.salesforce_location.url #=> String
+ # event.trace.orchestration_trace.observation.knowledge_base_lookup_output.retrieved_references[0].location.share_point_location.url #=> String
+ # event.trace.orchestration_trace.observation.knowledge_base_lookup_output.retrieved_references[0].location.type #=> String, one of "S3", "WEB", "CONFLUENCE", "SALESFORCE", "SHAREPOINT"
+ # event.trace.orchestration_trace.observation.knowledge_base_lookup_output.retrieved_references[0].location.web_location.url #=> String
# event.trace.orchestration_trace.observation.knowledge_base_lookup_output.retrieved_references[0].metadata #=> Hash
# event.trace.orchestration_trace.observation.reprompt_response.source #=> String, one of "ACTION_GROUP", "KNOWLEDGE_BASE", "PARSER"
# event.trace.orchestration_trace.observation.reprompt_response.text #=> String
# event.trace.orchestration_trace.observation.trace_id #=> String
# event.trace.orchestration_trace.observation.type #=> String, one of "ACTION_GROUP", "KNOWLEDGE_BASE", "FINISH", "ASK_USER", "REPROMPT"
@@ -951,10 +1177,11 @@
#
# For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator:
# event.message #=> String
#
# resp.content_type #=> String
+ # resp.memory_id #=> String
# resp.session_id #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/InvokeAgent AWS API Documentation
#
# @overload invoke_agent(params = {})
@@ -980,10 +1207,292 @@
req.handlers.add(Aws::Binary::DecodeHandler, priority: 95)
req.send_request(options, &block)
end
+ # Invokes an alias of a flow to run the inputs that you specify and
+ # return the output of each node as a stream. If there's an error, the
+ # error is returned. For more information, see [Test a flow in Amazon
+ # Bedrock][1] in the Amazon Bedrock User Guide.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/flows-test.html
+ #
+ # @option params [required, String] :flow_alias_identifier
+ # The unique identifier of the flow alias.
+ #
+ # @option params [required, String] :flow_identifier
+ # The unique identifier of the flow.
+ #
+ # @option params [required, Array<Types::FlowInput>] :inputs
+ # A list of objects, each containing information about an input into the
+ # flow.
+ #
+ # @return [Types::InvokeFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::InvokeFlowResponse#response_stream #response_stream} => Types::FlowResponseStream
+ #
+ # @example EventStream Operation Example
+ #
+ # You can process the event once it arrives immediately, or wait until the
+ # full response is complete and iterate through the eventstream enumerator.
+ #
+ # To interact with event immediately, you need to register #invoke_flow
+ # with callbacks. Callbacks can be registered for specific events or for all
+ # events, including error events.
+ #
+ # Callbacks can be passed into the `:event_stream_handler` option or within a
+ # block statement attached to the #invoke_flow call directly. Hybrid
+ # pattern of both is also supported.
+ #
+ # `:event_stream_handler` option takes in either a Proc object or
+ # Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream object.
+ #
+ # Usage pattern a): Callbacks with a block attached to #invoke_flow
+ # Example for registering callbacks for all event types and an error event
+ #
+ # client.invoke_flow( # params input# ) do |stream|
+ # stream.on_error_event do |event|
+ # # catch unmodeled error event in the stream
+ # raise event
+ # # => Aws::Errors::EventError
+ # # event.event_type => :error
+ # # event.error_code => String
+ # # event.error_message => String
+ # end
+ #
+ # stream.on_event do |event|
+ # # process all events arrive
+ # puts event.event_type
+ # ...
+ # end
+ #
+ # end
+ #
+ # Usage pattern b): Pass in `:event_stream_handler` for #invoke_flow
+ #
+ # 1) Create a Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream object
+ # Example for registering callbacks with specific events
+ #
+ # handler = Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream.new
+ # handler.on_access_denied_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException
+ # end
+ # handler.on_bad_gateway_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::badGatewayException
+ # end
+ # handler.on_conflict_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::conflictException
+ # end
+ # handler.on_dependency_failed_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException
+ # end
+ # handler.on_flow_completion_event_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent
+ # end
+ # handler.on_flow_output_event_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent
+ # end
+ # handler.on_internal_server_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::internalServerException
+ # end
+ # handler.on_resource_not_found_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException
+ # end
+ # handler.on_service_quota_exceeded_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException
+ # end
+ # handler.on_throttling_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::throttlingException
+ # end
+ # handler.on_validation_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::validationException
+ # end
+ #
+ # client.invoke_flow( # params input #, event_stream_handler: handler)
+ #
+ # 2) Use a Ruby Proc object
+ # Example for registering callbacks with specific events
+ #
+ # handler = Proc.new do |stream|
+ # stream.on_access_denied_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException
+ # end
+ # stream.on_bad_gateway_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::badGatewayException
+ # end
+ # stream.on_conflict_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::conflictException
+ # end
+ # stream.on_dependency_failed_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException
+ # end
+ # stream.on_flow_completion_event_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent
+ # end
+ # stream.on_flow_output_event_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent
+ # end
+ # stream.on_internal_server_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::internalServerException
+ # end
+ # stream.on_resource_not_found_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException
+ # end
+ # stream.on_service_quota_exceeded_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException
+ # end
+ # stream.on_throttling_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::throttlingException
+ # end
+ # stream.on_validation_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::validationException
+ # end
+ # end
+ #
+ # client.invoke_flow( # params input #, event_stream_handler: handler)
+ #
+ # Usage pattern c): Hybrid pattern of a) and b)
+ #
+ # handler = Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream.new
+ # handler.on_access_denied_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException
+ # end
+ # handler.on_bad_gateway_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::badGatewayException
+ # end
+ # handler.on_conflict_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::conflictException
+ # end
+ # handler.on_dependency_failed_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException
+ # end
+ # handler.on_flow_completion_event_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent
+ # end
+ # handler.on_flow_output_event_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent
+ # end
+ # handler.on_internal_server_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::internalServerException
+ # end
+ # handler.on_resource_not_found_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException
+ # end
+ # handler.on_service_quota_exceeded_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException
+ # end
+ # handler.on_throttling_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::throttlingException
+ # end
+ # handler.on_validation_exception_event do |event|
+ # event # => Aws::BedrockAgentRuntime::Types::validationException
+ # end
+ #
+ # client.invoke_flow( # params input #, event_stream_handler: handler) do |stream|
+ # stream.on_error_event do |event|
+ # # catch unmodeled error event in the stream
+ # raise event
+ # # => Aws::Errors::EventError
+ # # event.event_type => :error
+ # # event.error_code => String
+ # # event.error_message => String
+ # end
+ # end
+ #
+ # You can also iterate through events after the response complete.
+ #
+ # Events are available at resp.response_stream # => Enumerator
+ # For parameter input example, please refer to following request syntax
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.invoke_flow({
+ # flow_alias_identifier: "FlowAliasIdentifier", # required
+ # flow_identifier: "FlowIdentifier", # required
+ # inputs: [ # required
+ # {
+ # content: { # required
+ # document: {
+ # },
+ # },
+ # node_name: "NodeName", # required
+ # node_output_name: "NodeOutputName", # required
+ # },
+ # ],
+ # })
+ #
+ # @example Response structure
+ #
+ # All events are available at resp.response_stream:
+ # resp.response_stream #=> Enumerator
+ # resp.response_stream.event_types #=> [:access_denied_exception, :bad_gateway_exception, :conflict_exception, :dependency_failed_exception, :flow_completion_event, :flow_output_event, :internal_server_exception, :resource_not_found_exception, :service_quota_exceeded_exception, :throttling_exception, :validation_exception]
+ #
+ # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator:
+ # event.message #=> String
+ #
+ # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator:
+ # event.message #=> String
+ # event.resource_name #=> String
+ #
+ # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator:
+ # event.message #=> String
+ #
+ # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator:
+ # event.message #=> String
+ # event.resource_name #=> String
+ #
+ # For :flow_completion_event event available at #on_flow_completion_event_event callback and response eventstream enumerator:
+ # event.completion_reason #=> String, one of "SUCCESS"
+ #
+ # For :flow_output_event event available at #on_flow_output_event_event callback and response eventstream enumerator:
+ # event.node_name #=> String
+ # event.node_type #=> String, one of "FlowInputNode", "FlowOutputNode", "LambdaFunctionNode", "KnowledgeBaseNode", "PromptNode", "ConditionNode", "LexNode"
+ #
+ # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator:
+ # event.message #=> String
+ #
+ # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator:
+ # event.message #=> String
+ #
+ # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator:
+ # event.message #=> String
+ #
+ # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator:
+ # event.message #=> String
+ #
+ # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator:
+ # event.message #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/InvokeFlow AWS API Documentation
+ #
+ # @overload invoke_flow(params = {})
+ # @param [Hash] params ({})
+ def invoke_flow(params = {}, options = {}, &block)
+ params = params.dup
+ event_stream_handler = case handler = params.delete(:event_stream_handler)
+ when EventStreams::FlowResponseStream then handler
+ when Proc then EventStreams::FlowResponseStream.new.tap(&handler)
+ when nil then EventStreams::FlowResponseStream.new
+ else
+ msg = "expected :event_stream_handler to be a block or "\
+ "instance of Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream"\
+ ", got `#{handler.inspect}` instead"
+ raise ArgumentError, msg
+ end
+
+ yield(event_stream_handler) if block_given?
+
+ req = build_request(:invoke_flow, params)
+
+ req.context[:event_stream_handler] = event_stream_handler
+ req.handlers.add(Aws::Binary::DecodeHandler, priority: 95)
+
+ req.send_request(options, &block)
+ end
+
# Queries a knowledge base and retrieves information from it.
#
# @option params [required, String] :knowledge_base_id
# The unique identifier of the knowledge base to query.
#
@@ -1096,12 +1605,16 @@
# @example Response structure
#
# resp.next_token #=> String
# resp.retrieval_results #=> Array
# resp.retrieval_results[0].content.text #=> String
+ # resp.retrieval_results[0].location.confluence_location.url #=> String
# resp.retrieval_results[0].location.s3_location.uri #=> String
- # resp.retrieval_results[0].location.type #=> String, one of "S3"
+ # resp.retrieval_results[0].location.salesforce_location.url #=> String
+ # resp.retrieval_results[0].location.share_point_location.url #=> String
+ # resp.retrieval_results[0].location.type #=> String, one of "S3", "WEB", "CONFLUENCE", "SALESFORCE", "SHAREPOINT"
+ # resp.retrieval_results[0].location.web_location.url #=> String
# resp.retrieval_results[0].metadata #=> Hash
# resp.retrieval_results[0].score #=> Float
#
# @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/Retrieve AWS API Documentation
#
@@ -1129,12 +1642,16 @@
#
# @option params [Types::RetrieveAndGenerateSessionConfiguration] :session_configuration
# Contains details about the session with the knowledge base.
#
# @option params [String] :session_id
- # The unique identifier of the session. Reuse the same value to continue
- # the same session with the knowledge base.
+ # The unique identifier of the session. When you first make a
+ # `RetrieveAndGenerate` request, Amazon Bedrock automatically generates
+ # this value. You must reuse this value for all subsequent requests in
+ # the same conversational session. This value allows Amazon Bedrock to
+ # maintain context and knowledge from previous interactions. You can't
+ # explicitly set the `sessionId` yourself.
#
# @return [Types::RetrieveAndGenerateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::RetrieveAndGenerateResponse#citations #citations} => Array<Types::Citation>
# * {Types::RetrieveAndGenerateResponse#guardrail_action #guardrail_action} => String
@@ -1207,10 +1724,15 @@
# text_prompt_template: "TextPromptTemplate",
# },
# },
# knowledge_base_id: "KnowledgeBaseId", # required
# model_arn: "BedrockModelArn", # required
+ # orchestration_configuration: {
+ # query_transformation_configuration: { # required
+ # type: "QUERY_DECOMPOSITION", # required, accepts QUERY_DECOMPOSITION
+ # },
+ # },
# retrieval_configuration: {
# vector_search_configuration: { # required
# filter: {
# and_all: [
# {
@@ -1297,12 +1819,16 @@
# resp.citations[0].generated_response_part.text_response_part.span.end #=> Integer
# resp.citations[0].generated_response_part.text_response_part.span.start #=> Integer
# resp.citations[0].generated_response_part.text_response_part.text #=> String
# resp.citations[0].retrieved_references #=> Array
# resp.citations[0].retrieved_references[0].content.text #=> String
+ # resp.citations[0].retrieved_references[0].location.confluence_location.url #=> String
# resp.citations[0].retrieved_references[0].location.s3_location.uri #=> String
- # resp.citations[0].retrieved_references[0].location.type #=> String, one of "S3"
+ # resp.citations[0].retrieved_references[0].location.salesforce_location.url #=> String
+ # resp.citations[0].retrieved_references[0].location.share_point_location.url #=> String
+ # resp.citations[0].retrieved_references[0].location.type #=> String, one of "S3", "WEB", "CONFLUENCE", "SALESFORCE", "SHAREPOINT"
+ # resp.citations[0].retrieved_references[0].location.web_location.url #=> String
# resp.citations[0].retrieved_references[0].metadata #=> Hash
# resp.guardrail_action #=> String, one of "INTERVENED", "NONE"
# resp.output.text #=> String
# resp.session_id #=> String
#
@@ -1326,10 +1852,10 @@
operation: config.api.operation(operation_name),
client: self,
params: params,
config: config)
context[:gem_name] = 'aws-sdk-bedrockagentruntime'
- context[:gem_version] = '1.15.0'
+ context[:gem_version] = '1.16.0'
Seahorse::Client::Request.new(handlers, context)
end
# @api private
# @deprecated