Module Values.ConverseStreamResponseSource

Sends messages to the specified Amazon Bedrock model and returns the response in a stream. ConverseStream provides a consistent API that works with all Amazon Bedrock models that support messages. This allows you to write code once and use it with different models. Should a model have unique inference parameters, you can also pass those unique parameters to the model. To find out if a model supports streaming, call GetFoundationModel and check the responseStreamingSupported field in the response. The CLI doesn't support streaming operations in Amazon Bedrock, including ConverseStream. Amazon Bedrock doesn't store any text, images, or documents that you provide as content. The data is only used to generate the response. You can submit a prompt by including it in the messages field, specifying the modelId of a foundation model or inference profile to run inference on it, and including any other fields that are relevant to your use case. You can also submit a prompt from Prompt management by specifying the ARN of the prompt version and including a map of variables to values in the promptVariables field. You can append more messages to the prompt by using the messages field. If you use a prompt from Prompt management, you can't include the following fields in the request: additionalModelRequestFields, inferenceConfig, system, or toolConfig. Instead, these fields must be defined through Prompt management. For more information, see Use a prompt from Prompt management. For information about the Converse API, see Use the Converse API in the Amazon Bedrock User Guide. To use a guardrail, see Use a guardrail with the Converse API in the Amazon Bedrock User Guide. To use a tool with a model, see Tool use (Function calling) in the Amazon Bedrock User Guide For example code, see Conversation streaming example in the Amazon Bedrock User Guide. This operation requires permission for the bedrock:InvokeModelWithResponseStream action. To deny all inference access to resources that you specify in the modelId field, you need to deny access to the bedrock:InvokeModel and bedrock:InvokeModelWithResponseStream actions. Doing this also denies access to the resource through the base inference actions (InvokeModel and InvokeModelWithResponseStream). For more information see Deny access for inference on specific models. For troubleshooting some of the common errors you might encounter when using the ConverseStream API, see Troubleshooting Amazon Bedrock API Error Codes in the Amazon Bedrock User Guide

Sourcetype nonrec t = {
  1. stream : ConverseStreamOutput.t option;
    (*

    The output stream that the model generated.

    *)
}
Sourcetype nonrec error = [
  1. | `AccessDeniedException of AccessDeniedException.t
  2. | `InternalServerException of InternalServerException.t
  3. | `ModelErrorException of ModelErrorException.t
  4. | `ModelNotReadyException of ModelNotReadyException.t
  5. | `ModelTimeoutException of ModelTimeoutException.t
  6. | `ResourceNotFoundException of ResourceNotFoundException.t
  7. | `ServiceUnavailableException of ServiceUnavailableException.t
  8. | `ThrottlingException of ThrottlingException.t
  9. | `ValidationException of ValidationException.t
  10. | `Unknown_operation_error of string * string option
]
Sourceval make : ?stream:??? -> unit -> t
Sourceval error_of_json : string -> Yojson.Safe.t -> [> `AccessDeniedException of AccessDeniedException.t | `InternalServerException of InternalServerException.t | `ModelErrorException of ModelErrorException.t | `ModelNotReadyException of ModelNotReadyException.t | `ModelTimeoutException of ModelTimeoutException.t | `ResourceNotFoundException of ResourceNotFoundException.t | `ServiceUnavailableException of ServiceUnavailableException.t | `ThrottlingException of ThrottlingException.t | `Unknown_operation_error of string * string option | `ValidationException of ValidationException.t ]
Sourceval error_of_xml : string -> Awso.Xml.t -> [> `AccessDeniedException of AccessDeniedException.t | `InternalServerException of InternalServerException.t | `ModelErrorException of ModelErrorException.t | `ModelNotReadyException of ModelNotReadyException.t | `ModelTimeoutException of ModelTimeoutException.t | `ResourceNotFoundException of ResourceNotFoundException.t | `ServiceUnavailableException of ServiceUnavailableException.t | `ThrottlingException of ThrottlingException.t | `Unknown_operation_error of string * string option | `ValidationException of ValidationException.t ]
Sourceval error_to_json : error -> Yojson.Safe.t
Sourceval of_header_and_body : ('a * ConverseStreamOutput.t) -> t
Sourceval to_value : t -> [> `Structure of (string * [> `Structure of (string * [> `Structure of (string * [> `Enum of string | `Integer of NonNegativeInteger.t | `String of NonBlankString.t | `Structure of (string * [> `Enum of string | `Integer of TokenUsageInputTokensInteger.t | `List of [> `Structure of (string * [> `Enum of string | `Integer of CacheDetailInputTokensInteger.t | `String of String_.t | `Structure of 'a list ]) list ] list | `Long of Long.t | `String of String_.t | `Structure of (string * [> `Blob of Blob.t | `Enum of string | `List of [> `String of GuardrailOutputText.t | `Structure of (string * [> `String of String_.t ]) list ] list | `Map of ([> `String of String_.t ] * [> `List of [> `Structure of (string * [> `Structure of (string * [> `Enum of string | `List of [> `Enum of string | `Structure of (string * [> `Boolean of Boolean.t | `Double of GuardrailContextualGroundingFilterThresholdDouble.t | `Enum of string | `String of String_.t | `Structure of (string * [> `List of [> `Structure of (string * [> `List of [> `Structure of (string * [> `Double of GuardrailAutomatedReasoningTranslationConfidence.t | `List of [> `Structure of (string * [> `String of GuardrailAutomatedReasoningStatementLogicContent.t ]) list ] list | `String of GuardrailAutomatedReasoningStatementLogicContent.t ]) list ] list | `String of AutomatedReasoningRuleIdentifier.t ]) list ] list | `Structure of (string * [> `Double of GuardrailAutomatedReasoningTranslationConfidence.t | `Enum of string | `List of [> `Structure of (string * [> `String of GuardrailAutomatedReasoningStatementLogicContent.t ]) list ] list ]) list ]) list ]) list ] list | `Long of GuardrailProcessingLatency.t | `String of GuardrailId.t | `Structure of (string * [> `Integer of GuardrailTopicPolicyUnitsProcessed.t | `Structure of (string * [> `Integer of TextCharactersGuarded.t ]) list ]) list ]) list ]) list ] list | `Structure of (string * [> `Structure of (string * [> `Enum of string | `List of [> `Enum of string | `Structure of (string * [> `Boolean of Boolean.t | `Double of GuardrailContextualGroundingFilterThresholdDouble.t | `Enum of string | `String of String_.t | `Structure of (string * [> `List of [> `Structure of (string * [> `List of [> `Structure of (string * [> `Double of GuardrailAutomatedReasoningTranslationConfidence.t | `List of [> `Structure of (string * [> `String of GuardrailAutomatedReasoningStatementLogicContent.t ]) list ] list | `String of GuardrailAutomatedReasoningStatementLogicContent.t ]) list ] list | `String of AutomatedReasoningRuleIdentifier.t ]) list ] list | `Structure of (string * [> `Double of GuardrailAutomatedReasoningTranslationConfidence.t | `Enum of string | `List of [> `Structure of (string * [> `String of GuardrailAutomatedReasoningStatementLogicContent.t ]) list ] list ]) list ]) list ]) list ] list | `Long of GuardrailProcessingLatency.t | `String of GuardrailId.t | `Structure of (string * [> `Integer of GuardrailTopicPolicyUnitsProcessed.t | `Structure of (string * [> `Integer of TextCharactersGuarded.t ]) list ]) list ]) list ]) list ]) list | `String of ToolUseId.t | `Structure of (string * [> `Blob of ImageSourceBytesBlob.t | `String of String_.t | `Structure of (string * [> `Integer of DocumentCharLocationDocumentIndexInteger.t | `String of String_.t ]) list ]) list ]) list ]) list ]) list ]) list ]) list ]
Sourceval to_query : t -> Awso.Client.Query.t
Sourceval of_xml : Awso.Xml.t -> t
Sourceval of_string : string -> t
Sourceval of_json : Yojson.Safe.t -> t
Sourceval to_json : t -> Yojson.Safe.t