botocore: handle system messages events (#3266)
* botocore: handle system event messages * Add CHANGELOG * Please pylint
This commit is contained in:
		
							parent
							
								
									1623dc0e71
								
							
						
					
					
						commit
						789bf866e3
					
				|  | @ -15,6 +15,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |||
| 
 | ||||
| - `opentelemetry-instrumentation-botocore` Add support for GenAI user events and lazy initialize tracer | ||||
|   ([#3258](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3258)) | ||||
| - `opentelemetry-instrumentation-botocore` Add support for GenAI system events | ||||
|   ([#3266](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3266)) | ||||
| 
 | ||||
| ### Fixed | ||||
| 
 | ||||
|  |  | |||
|  | @ -209,10 +209,23 @@ class _BedrockRuntimeExtension(_AwsSdkExtension): | |||
|             attributes[key] = value | ||||
| 
 | ||||
|     def _get_request_messages(self): | ||||
|         """Extracts and normalize system and user / assistant messages""" | ||||
|         input_text = None | ||||
|         if system := self._call_context.params.get("system", []): | ||||
|             system_messages = [{"role": "system", "content": system}] | ||||
|         else: | ||||
|             system_messages = [] | ||||
| 
 | ||||
|         if not (messages := self._call_context.params.get("messages", [])): | ||||
|             if body := self._call_context.params.get("body"): | ||||
|                 decoded_body = json.loads(body) | ||||
|                 if system := decoded_body.get("system"): | ||||
|                     if isinstance(system, str): | ||||
|                         content = [{"text": system}] | ||||
|                     else: | ||||
|                         content = system | ||||
|                     system_messages = [{"role": "system", "content": content}] | ||||
| 
 | ||||
|                 messages = decoded_body.get("messages", []) | ||||
|                 if not messages: | ||||
|                     # transform old school amazon titan invokeModel api to messages | ||||
|  | @ -221,7 +234,7 @@ class _BedrockRuntimeExtension(_AwsSdkExtension): | |||
|                             {"role": "user", "content": [{"text": input_text}]} | ||||
|                         ] | ||||
| 
 | ||||
|         return messages | ||||
|         return system_messages + messages | ||||
| 
 | ||||
|     def before_service_call( | ||||
|         self, span: Span, instrumentor_context: _BotocoreInstrumentorContext | ||||
|  |  | |||
|  | @ -161,7 +161,9 @@ def assert_stream_completion_attributes( | |||
| 
 | ||||
| def assert_equal_or_not_present(value, attribute_name, span): | ||||
|     if value is not None: | ||||
|         assert value == span.attributes[attribute_name] | ||||
|         assert value == span.attributes[attribute_name], span.attributes[ | ||||
|             attribute_name | ||||
|         ] | ||||
|     else: | ||||
|         assert attribute_name not in span.attributes, attribute_name | ||||
| 
 | ||||
|  |  | |||
|  | @ -0,0 +1,96 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "system": [ | ||||
|           { | ||||
|             "text": "You are a friendly app" | ||||
|           } | ||||
|         ], | ||||
|         "messages": [ | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say this is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "assistant", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "This is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say again this is a test" | ||||
|               } | ||||
|             ] | ||||
|           } | ||||
|         ] | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '258' | ||||
|       Content-Type: | ||||
|       - application/json | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T113027Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-d9112d64-56325c43023ba04895b18fc1;Parent=d56bf41aee9dd9b2;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - 4e1fd77b-1b21-4b3a-9b96-d74fb74ede7c | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-v2/converse | ||||
|   response: | ||||
|     body: | ||||
|       string: |- | ||||
|         { | ||||
|           "metrics": { | ||||
|             "latencyMs": 489 | ||||
|           }, | ||||
|           "output": { | ||||
|             "message": { | ||||
|               "content": [ | ||||
|                 { | ||||
|                   "text": "This is a test" | ||||
|                 } | ||||
|               ], | ||||
|               "role": "assistant" | ||||
|             } | ||||
|           }, | ||||
|           "stopReason": "end_turn", | ||||
|           "usage": { | ||||
|             "inputTokens": 37, | ||||
|             "outputTokens": 8, | ||||
|             "totalTokens": 45 | ||||
|           } | ||||
|         } | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/json | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 11:30:28 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       x-amzn-RequestId: | ||||
|       - 67f0b4ef-e481-4c12-853b-d8e992395129 | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -0,0 +1,102 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "system": [ | ||||
|           { | ||||
|             "text": "You are a friendly app" | ||||
|           } | ||||
|         ], | ||||
|         "messages": [ | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say this is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "assistant", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "This is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say again this is a test" | ||||
|               } | ||||
|             ] | ||||
|           } | ||||
|         ] | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '258' | ||||
|       Content-Type: | ||||
|       - application/json | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T134717Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-014325aa-ed2dea786b6b5b895661a1fd;Parent=540790d110580421;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - 22820432-2412-4351-98af-8c70c71c84a9 | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-v2/converse-stream | ||||
|   response: | ||||
|     body: | ||||
|       string: !!binary | | ||||
|         AAAAkwAAAFJ24bJxCzpldmVudC10eXBlBwAMbWVzc2FnZVN0YXJ0DTpjb250ZW50LXR5cGUHABBh | ||||
|         cHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiY2RlZmdoaWprbG1u | ||||
|         b3BxcnN0dXYiLCJyb2xlIjoiYXNzaXN0YW50In2AaQZuAAAAzQAAAFeBqDdUCzpldmVudC10eXBl | ||||
|         BwARY29udGVudEJsb2NrRGVsdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1l | ||||
|         c3NhZ2UtdHlwZQcABWV2ZW50eyJjb250ZW50QmxvY2tJbmRleCI6MCwiZGVsdGEiOnsidGV4dCI6 | ||||
|         IlRoaXMifSwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFS | ||||
|         U1RVViJ9qHD4cgAAALQAAABXdWq16gs6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9ja0RlbHRhDTpj | ||||
|         b250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29u | ||||
|         dGVudEJsb2NrSW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiIgaXMifSwicCI6ImFiY2RlZmdoaWpr | ||||
|         bG1ub3BxcnN0dXZ3eCJ9dhKCRAAAALAAAABXgOoTKgs6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9j | ||||
|         a0RlbHRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVl | ||||
|         dmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiIgYSJ9LCJwIjoiYWJj | ||||
|         ZGVmZ2hpamtsbW5vcHFyc3R1In0IN1EQAAAAtQAAAFdICpxaCzpldmVudC10eXBlBwARY29udGVu | ||||
|         dEJsb2NrRGVsdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlw | ||||
|         ZQcABWV2ZW50eyJjb250ZW50QmxvY2tJbmRleCI6MCwiZGVsdGEiOnsidGV4dCI6IiB0ZXN0In0s | ||||
|         InAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2dyJ9V81m8wAAAIkAAABWW9z5Sws6ZXZlbnQtdHlw | ||||
|         ZQcAEGNvbnRlbnRCbG9ja1N0b3ANOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1l | ||||
|         c3NhZ2UtdHlwZQcABWV2ZW50eyJjb250ZW50QmxvY2tJbmRleCI6MCwicCI6ImFiY2RlIn3nHPCv | ||||
|         AAAAoAAAAFEJaSGdCzpldmVudC10eXBlBwALbWVzc2FnZVN0b3ANOmNvbnRlbnQtdHlwZQcAEGFw | ||||
|         cGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJwIjoiYWJjZGVmZ2hpamtsbW5v | ||||
|         cHFyc3R1dnd4eXpBQkNERSIsInN0b3BSZWFzb24iOiJlbmRfdHVybiJ9p5BdEgAAAMsAAABOaoNq | ||||
|         NAs6ZXZlbnQtdHlwZQcACG1ldGFkYXRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29u | ||||
|         DTptZXNzYWdlLXR5cGUHAAVldmVudHsibWV0cmljcyI6eyJsYXRlbmN5TXMiOjM2MX0sInAiOiJh | ||||
|         YmNkZWZnaGlqa2wiLCJ1c2FnZSI6eyJpbnB1dFRva2VucyI6MzcsIm91dHB1dFRva2VucyI6OCwi | ||||
|         dG90YWxUb2tlbnMiOjQ1fX1Nq2WY | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/vnd.amazon.eventstream | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 13:47:17 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       Transfer-Encoding: | ||||
|       - chunked | ||||
|       x-amzn-RequestId: | ||||
|       - e443d332-cba6-4076-a4f6-86d6321eada3 | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -0,0 +1,105 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "system": [ | ||||
|           { | ||||
|             "text": "You are a friendly app" | ||||
|           } | ||||
|         ], | ||||
|         "messages": [ | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say this is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "assistant", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "This is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say again this is a test" | ||||
|               } | ||||
|             ] | ||||
|           } | ||||
|         ] | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '258' | ||||
|       Content-Type: | ||||
|       - application/json | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T134611Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-deb34c78-8ab87e14665141b9e132396b;Parent=8e997adc8051f5a6;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - 81e436d8-7c5d-4025-a9e5-de505ccb9b51 | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-v2/converse-stream | ||||
|   response: | ||||
|     body: | ||||
|       string: !!binary | | ||||
|         AAAArAAAAFJVkJ0mCzpldmVudC10eXBlBwAMbWVzc2FnZVN0YXJ0DTpjb250ZW50LXR5cGUHABBh | ||||
|         cHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiY2RlZmdoaWprbG1u | ||||
|         b3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVIiwicm9sZSI6ImFzc2lzdGFudCJ9mBqg | ||||
|         YwAAANQAAABX7FjCpws6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9ja0RlbHRhDTpjb250ZW50LXR5 | ||||
|         cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2Nr | ||||
|         SW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiJUaGlzIn0sInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJz | ||||
|         dHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyIn2n2T4pAAAArQAAAFcYmkAZCzpl | ||||
|         dmVudC10eXBlBwARY29udGVudEJsb2NrRGVsdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9u | ||||
|         L2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJjb250ZW50QmxvY2tJbmRleCI6MCwiZGVsdGEi | ||||
|         OnsidGV4dCI6IiBpcyJ9LCJwIjoiYWJjZGVmZ2hpamtsbW5vcHEifYkheRMAAADQAAAAVxnYZGcL | ||||
|         OmV2ZW50LXR5cGUHABFjb250ZW50QmxvY2tEZWx0YQ06Y29udGVudC10eXBlBwAQYXBwbGljYXRp | ||||
|         b24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJkZWx0 | ||||
|         YSI6eyJ0ZXh0IjoiIGEifSwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJ | ||||
|         SktMTU5PUFFSU1RVVldYWVowIn3K4xpaAAAA0wAAAFdeeB63CzpldmVudC10eXBlBwARY29udGVu | ||||
|         dEJsb2NrRGVsdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlw | ||||
|         ZQcABWV2ZW50eyJjb250ZW50QmxvY2tJbmRleCI6MCwiZGVsdGEiOnsidGV4dCI6IiB0ZXN0In0s | ||||
|         InAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla | ||||
|         MCJ916eYywAAALkAAABW+v1BzQs6ZXZlbnQtdHlwZQcAEGNvbnRlbnRCbG9ja1N0b3ANOmNvbnRl | ||||
|         bnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJjb250ZW50 | ||||
|         QmxvY2tJbmRleCI6MCwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktM | ||||
|         TU5PUFFSU1RVVldYWVowIn2IAETUAAAAhgAAAFFH6Ps5CzpldmVudC10eXBlBwALbWVzc2FnZVN0 | ||||
|         b3ANOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50 | ||||
|         eyJwIjoiYWJjZGUiLCJzdG9wUmVhc29uIjoiZW5kX3R1cm4ifSknYaEAAAD3AAAATg5SP7MLOmV2 | ||||
|         ZW50LXR5cGUHAAhtZXRhZGF0YQ06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVz | ||||
|         c2FnZS10eXBlBwAFZXZlbnR7Im1ldHJpY3MiOnsibGF0ZW5jeU1zIjo1MDh9LCJwIjoiYWJjZGVm | ||||
|         Z2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjMiLCJ1c2Fn | ||||
|         ZSI6eyJpbnB1dFRva2VucyI6MzcsIm91dHB1dFRva2VucyI6OCwidG90YWxUb2tlbnMiOjQ1fX0o | ||||
|         MQhc | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/vnd.amazon.eventstream | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 13:46:12 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       Transfer-Encoding: | ||||
|       - chunked | ||||
|       x-amzn-RequestId: | ||||
|       - 829dbcea-d3df-4781-be84-c1c2d5c420bd | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -0,0 +1,96 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "system": [ | ||||
|           { | ||||
|             "text": "You are a friendly app" | ||||
|           } | ||||
|         ], | ||||
|         "messages": [ | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say this is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "assistant", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "This is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say again this is a test" | ||||
|               } | ||||
|             ] | ||||
|           } | ||||
|         ] | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '258' | ||||
|       Content-Type: | ||||
|       - application/json | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T113026Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-188a1ced-da75f3769b7d8ee0334fa4bf;Parent=f8c672d0277ff6e1;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - fae72016-6b0e-4b6f-b15a-100aa7f19e48 | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-v2/converse | ||||
|   response: | ||||
|     body: | ||||
|       string: |- | ||||
|         { | ||||
|           "metrics": { | ||||
|             "latencyMs": 408 | ||||
|           }, | ||||
|           "output": { | ||||
|             "message": { | ||||
|               "content": [ | ||||
|                 { | ||||
|                   "text": "This is a test" | ||||
|                 } | ||||
|               ], | ||||
|               "role": "assistant" | ||||
|             } | ||||
|           }, | ||||
|           "stopReason": "end_turn", | ||||
|           "usage": { | ||||
|             "inputTokens": 37, | ||||
|             "outputTokens": 8, | ||||
|             "totalTokens": 45 | ||||
|           } | ||||
|         } | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/json | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 11:30:27 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       x-amzn-RequestId: | ||||
|       - 5273de67-e76c-45ad-be0a-558957af8046 | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -0,0 +1,107 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "messages": [ | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say this is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "assistant", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "This is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say again this is a test" | ||||
|               } | ||||
|             ] | ||||
|           } | ||||
|         ], | ||||
|         "inferenceConfig": { | ||||
|           "max_new_tokens": 10 | ||||
|         }, | ||||
|         "schemaVersion": "messages-v1", | ||||
|         "system": [ | ||||
|           { | ||||
|             "text": "You are friendly model" | ||||
|           } | ||||
|         ] | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '333' | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T113030Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-ba0c8a29-b443cf8553f07da7a91a8206;Parent=976f285f1d94e9d5;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - 01a2bce5-51df-4e24-bbc4-ec0fb28b35ae | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/amazon.nova-micro-v1%3A0/invoke | ||||
|   response: | ||||
|     body: | ||||
|       string: |- | ||||
|         { | ||||
|           "output": { | ||||
|             "message": { | ||||
|               "content": [ | ||||
|                 { | ||||
|                   "text": "Again, this is a test. If you need" | ||||
|                 } | ||||
|               ], | ||||
|               "role": "assistant" | ||||
|             } | ||||
|           }, | ||||
|           "stopReason": "max_tokens", | ||||
|           "usage": { | ||||
|             "inputTokens": 24, | ||||
|             "outputTokens": 10, | ||||
|             "totalTokens": 34, | ||||
|             "cacheReadInputTokenCount": 0, | ||||
|             "cacheWriteInputTokenCount": 0 | ||||
|           } | ||||
|         } | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/json | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 11:30:30 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       X-Amzn-Bedrock-Cache-Read-Input-Token-Count: | ||||
|       - '0' | ||||
|       X-Amzn-Bedrock-Cache-Write-Input-Token-Count: | ||||
|       - '0' | ||||
|       X-Amzn-Bedrock-Input-Token-Count: | ||||
|       - '24' | ||||
|       X-Amzn-Bedrock-Invocation-Latency: | ||||
|       - '182' | ||||
|       X-Amzn-Bedrock-Output-Token-Count: | ||||
|       - '10' | ||||
|       x-amzn-RequestId: | ||||
|       - 88719d47-9d62-4ae6-8623-07af41fb0044 | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -0,0 +1,98 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "messages": [ | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say this is a test", | ||||
|                 "type": "text" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "assistant", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "This is a test", | ||||
|                 "type": "text" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say again this is a test", | ||||
|                 "type": "text" | ||||
|               } | ||||
|             ] | ||||
|           } | ||||
|         ], | ||||
|         "anthropic_version": "bedrock-2023-05-31", | ||||
|         "system": "You are a friendly model", | ||||
|         "max_tokens": 10 | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '357' | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T113030Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-ca8c487d-14ab6e6ef139ee445552032f;Parent=76161c83e32d8750;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - 65d2a14a-3292-44c0-852d-687472c3e477 | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-v2/invoke | ||||
|   response: | ||||
|     body: | ||||
|       string: |- | ||||
|         { | ||||
|           "id": "msg_bdrk_01CmG6WWSyyBzYoApTJb79vd", | ||||
|           "type": "message", | ||||
|           "role": "assistant", | ||||
|           "model": "claude-2.0", | ||||
|           "content": [ | ||||
|             { | ||||
|               "type": "text", | ||||
|               "text": "This is a test" | ||||
|             } | ||||
|           ], | ||||
|           "stop_reason": "end_turn", | ||||
|           "stop_sequence": null, | ||||
|           "usage": { | ||||
|             "input_tokens": 37, | ||||
|             "output_tokens": 8 | ||||
|           } | ||||
|         } | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/json | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 11:30:32 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       X-Amzn-Bedrock-Input-Token-Count: | ||||
|       - '37' | ||||
|       X-Amzn-Bedrock-Invocation-Latency: | ||||
|       - '1165' | ||||
|       X-Amzn-Bedrock-Output-Token-Count: | ||||
|       - '8' | ||||
|       x-amzn-RequestId: | ||||
|       - 39cf77df-c934-4701-926b-ae773dcc4a5a | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -0,0 +1,107 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "messages": [ | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say this is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "assistant", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "This is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say again this is a test" | ||||
|               } | ||||
|             ] | ||||
|           } | ||||
|         ], | ||||
|         "inferenceConfig": { | ||||
|           "max_new_tokens": 10 | ||||
|         }, | ||||
|         "schemaVersion": "messages-v1", | ||||
|         "system": [ | ||||
|           { | ||||
|             "text": "You are a friendly model" | ||||
|           } | ||||
|         ] | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '335' | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T113028Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-ebcc2db9-853da8761a55ed21fab8f371;Parent=39df94de2ed40f10;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - 6928a695-340b-4f03-b1dd-ec4a42a32f49 | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/amazon.nova-micro-v1%3A0/invoke | ||||
|   response: | ||||
|     body: | ||||
|       string: |- | ||||
|         { | ||||
|           "output": { | ||||
|             "message": { | ||||
|               "content": [ | ||||
|                 { | ||||
|                   "text": "Again, this is a test. If you need" | ||||
|                 } | ||||
|               ], | ||||
|               "role": "assistant" | ||||
|             } | ||||
|           }, | ||||
|           "stopReason": "max_tokens", | ||||
|           "usage": { | ||||
|             "inputTokens": 25, | ||||
|             "outputTokens": 10, | ||||
|             "totalTokens": 35, | ||||
|             "cacheReadInputTokenCount": 0, | ||||
|             "cacheWriteInputTokenCount": 0 | ||||
|           } | ||||
|         } | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/json | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 11:30:29 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       X-Amzn-Bedrock-Cache-Read-Input-Token-Count: | ||||
|       - '0' | ||||
|       X-Amzn-Bedrock-Cache-Write-Input-Token-Count: | ||||
|       - '0' | ||||
|       X-Amzn-Bedrock-Input-Token-Count: | ||||
|       - '25' | ||||
|       X-Amzn-Bedrock-Invocation-Latency: | ||||
|       - '212' | ||||
|       X-Amzn-Bedrock-Output-Token-Count: | ||||
|       - '10' | ||||
|       x-amzn-RequestId: | ||||
|       - 2d2b151c-a618-4f59-a6d6-e3caf0591a5e | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -0,0 +1,98 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "messages": [ | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say this is a test", | ||||
|                 "type": "text" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "assistant", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "This is a test", | ||||
|                 "type": "text" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say again this is a test", | ||||
|                 "type": "text" | ||||
|               } | ||||
|             ] | ||||
|           } | ||||
|         ], | ||||
|         "anthropic_version": "bedrock-2023-05-31", | ||||
|         "system": "You are a friendly model", | ||||
|         "max_tokens": 10 | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '357' | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T113029Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-ebb1f004-773abbf27202dcf183809217;Parent=e7ecc8b27ef7ce36;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - 656f63a7-9bca-490b-953e-1d4a126a79da | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-v2/invoke | ||||
|   response: | ||||
|     body: | ||||
|       string: |- | ||||
|         { | ||||
|           "id": "msg_bdrk_01UnsouyLmsvQU98E9WzpGCp", | ||||
|           "type": "message", | ||||
|           "role": "assistant", | ||||
|           "model": "claude-2.0", | ||||
|           "content": [ | ||||
|             { | ||||
|               "type": "text", | ||||
|               "text": "This is a test" | ||||
|             } | ||||
|           ], | ||||
|           "stop_reason": "end_turn", | ||||
|           "stop_sequence": null, | ||||
|           "usage": { | ||||
|             "input_tokens": 37, | ||||
|             "output_tokens": 8 | ||||
|           } | ||||
|         } | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/json | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 11:30:30 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       X-Amzn-Bedrock-Input-Token-Count: | ||||
|       - '37' | ||||
|       X-Amzn-Bedrock-Invocation-Latency: | ||||
|       - '335' | ||||
|       X-Amzn-Bedrock-Output-Token-Count: | ||||
|       - '8' | ||||
|       x-amzn-RequestId: | ||||
|       - 3daf61e4-4dbc-4c62-af7b-a8b395e4156c | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -0,0 +1,158 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "messages": [ | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say this is a test" | ||||
|               } | ||||
|             ] | ||||
|           } | ||||
|         ], | ||||
|         "inferenceConfig": { | ||||
|           "max_new_tokens": 10, | ||||
|           "temperature": 0.8, | ||||
|           "topP": 1, | ||||
|           "stopSequences": [ | ||||
|             "|" | ||||
|           ] | ||||
|         }, | ||||
|         "schemaVersion": "messages-v1" | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '207' | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T140942Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-5ecd0236-4569edae20e05defebab7b00;Parent=0fa1f1768c7b8b5d;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - 691b201f-920e-4147-8957-efb32f6b9509 | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/amazon.nova-micro-v1%3A0/invoke-with-response-stream | ||||
|   response: | ||||
|     body: | ||||
|       string: !!binary | | ||||
|         AAAApwAAAEtGKwT3CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0 | ||||
|         aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUmhj | ||||
|         blFpT25zaWNtOXNaU0k2SW1GemMybHpkR0Z1ZENKOWZRPT0iLCJwIjoiYWJjZGUifZ0S/N0AAADo | ||||
|         AAAAS5yIy28LOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24v | ||||
|         anNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVa | ||||
|         V3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaVUzVnlaU0o5TENKamIyNTBaVzUwUW14dlky | ||||
|         dEpibVJsZUNJNk1IMTkiLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNEIn24dKPn | ||||
|         AAAAvwAAAEsWu9i0CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0 | ||||
|         aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZ | ||||
|         MnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam93ZlgwPSIsInAiOiJhYmNkZWZn | ||||
|         aGlqa2xtbm9wcXJzdHUifXkwdd4AAADbAAAAS3oJCTkLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29u | ||||
|         dGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVz | ||||
|         IjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaUlT | ||||
|         SjlMQ0pqYjI1MFpXNTBRbXh2WTJ0SmJtUmxlQ0k2TVgxOSIsInAiOiJhYmNkZWZnaGlqa2xtbm9w | ||||
|         cXJzdHUifZgCKpgAAADYAAAASz2pc+kLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBl | ||||
|         BwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIy | ||||
|         NTBaVzUwUW14dlkydFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3hmWDA9Iiwi | ||||
|         cCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1Qifd1gMGIA | ||||
|         AAD+AAAAS3MoqU0LOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRp | ||||
|         b24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlky | ||||
|         dEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaUlFbDBJbjBzSW1OdmJuUmxiblJDYkc5 | ||||
|         amEwbHVaR1Y0SWpveWZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZH | ||||
|         SElKS0xNTk9QUVJTVFVWV1hZWiJ9v77h3gAAALIAAABL7iscBQs6ZXZlbnQtdHlwZQcABWNodW5r | ||||
|         DTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsi | ||||
|         Ynl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVa | ||||
|         R1Y0SWpveWZYMD0iLCJwIjoiYWJjZGVmZ2gifWca+VsAAAD8AAAASwno+i0LOmV2ZW50LXR5cGUH | ||||
|         AAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAF | ||||
|         ZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5 | ||||
|         SjBaWGgwSWpvaUlITnZkVzVrY3lKOUxDSmpiMjUwWlc1MFFteHZZMnRKYm1SbGVDSTZNMzE5Iiwi | ||||
|         cCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1QifRDZk9oA | ||||
|         AACtAAAASwybHFYLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRp | ||||
|         b24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlky | ||||
|         dFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3pmWDA9IiwicCI6ImFiYyJ9bx6Z | ||||
|         qQAAAQMAAABLCNDuBAs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNh | ||||
|         dGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2 | ||||
|         WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pSUd4cGEyVWlmU3dpWTI5dWRHVnVk | ||||
|         RUpzYjJOclNXNWtaWGdpT2pSOWZRPT0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpB | ||||
|         QkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAifUf8WIAAAAC2AAAASxurusULOmV2ZW50LXR5cGUH | ||||
|         AAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAF | ||||
|         ZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JH | ||||
|         OWphMGx1WkdWNElqbzBmWDA9IiwicCI6ImFiY2RlZmdoaWprbCJ96cj/hgAAANkAAABLAMlaWQs6 | ||||
|         ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNz | ||||
|         YWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlK | ||||
|         a1pXeDBZU0k2ZXlKMFpYaDBJam9pSUhsdmRTSjlMQ0pqYjI1MFpXNTBRbXh2WTJ0SmJtUmxlQ0k2 | ||||
|         TlgxOSIsInAiOiJhYmNkZWZnaGlqa2xtbm8ifTc/0x4AAADMAAAAS6jJQqsLOmV2ZW50LXR5cGUH | ||||
|         AAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAF | ||||
|         ZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JH | ||||
|         OWphMGx1WkdWNElqbzFmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVG | ||||
|         R0giffYpOMUAAAEFAAAAS4eQG6QLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQ | ||||
|         YXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBa | ||||
|         VzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaUlIZGhiblFpZlN3aVky | ||||
|         OXVkR1Z1ZEVKc2IyTnJTVzVrWlhnaU9qWjlmUT09IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0 | ||||
|         dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIifYXvT9UAAADaAAAAS0dpIIkLOmV2 | ||||
|         ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2Fn | ||||
|         ZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydFRkRzl3SWpwN0ltTnZi | ||||
|         blJsYm5SQ2JHOWphMGx1WkdWNElqbzJmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3 | ||||
|         eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVViJ9lECpMgAAANgAAABLPalz6Qs6ZXZlbnQtdHlwZQcA | ||||
|         BWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVl | ||||
|         dmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlK | ||||
|         MFpYaDBJam9pSUhSdkluMHNJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam8zZlgwPSIsInAiOiJh | ||||
|         YmNkZWZnaGlqa2xtbiJ9X2Y6nAAAAMQAAABLmLkJags6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250 | ||||
|         ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMi | ||||
|         OiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpv | ||||
|         M2ZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoifRQObxwAAADoAAAAS5yIy28L | ||||
|         OmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVz | ||||
|         c2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5 | ||||
|         SmtaV3gwWVNJNmV5SjBaWGgwSWpvaUlHTnZiVzExYm1sallYUmxJbjBzSW1OdmJuUmxiblJDYkc5 | ||||
|         amEwbHVaR1Y0SWpvNGZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyIn2XNLLFAAAA5wAAAEse | ||||
|         2Fy+CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24N | ||||
|         Om1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lq | ||||
|         cDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam80ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9w | ||||
|         cXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4In0vrSKrAAAA/AAA | ||||
|         AEsJ6PotCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pz | ||||
|         b24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRFWld4 | ||||
|         MFlTSTZleUprWld4MFlTSTZleUowWlhoMElqb2lJR0VpZlN3aVkyOXVkR1Z1ZEVKc2IyTnJTVzVr | ||||
|         WlhnaU9qbDlmUT09IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktM | ||||
|         TU5PUFFSU1RVVldYIn39jPY4AAAAwgAAAEsX+fzKCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRl | ||||
|         bnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6 | ||||
|         ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam81 | ||||
|         ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3giff4k+OEAAAC0AAAAS2Fr6aULOmV2 | ||||
|         ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2Fn | ||||
|         ZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKdFpYTnpZV2RsVTNSdmNDSTZleUp6ZEc5d1VtVmhj | ||||
|         Mjl1SWpvaWJXRjRYM1J2YTJWdWN5SjlmUT09IiwicCI6ImFiY2RlZmdoaWoifXfIDi4AAAIkAAAA | ||||
|         S/2lb74LOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNv | ||||
|         bg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKdFpYUmhaR0YwWVNJNmV5SjFjMkZu | ||||
|         WlNJNmV5SnBibkIxZEZSdmEyVnVjeUk2TlN3aWIzVjBjSFYwVkc5clpXNXpJam94TUN3aVkyRmph | ||||
|         R1ZTWldGa1NXNXdkWFJVYjJ0bGJrTnZkVzUwSWpvd0xDSmpZV05vWlZkeWFYUmxTVzV3ZFhSVWIy | ||||
|         dGxia052ZFc1MElqb3dmU3dpYldWMGNtbGpjeUk2ZTMwc0luUnlZV05sSWpwN2ZYMHNJbUZ0WVhw | ||||
|         dmJpMWlaV1J5YjJOckxXbHVkbTlqWVhScGIyNU5aWFJ5YVdOeklqcDdJbWx1Y0hWMFZHOXJaVzVE | ||||
|         YjNWdWRDSTZOU3dpYjNWMGNIVjBWRzlyWlc1RGIzVnVkQ0k2TVRBc0ltbHVkbTlqWVhScGIyNU1Z | ||||
|         WFJsYm1ONUlqb3lNRGNzSW1acGNuTjBRbmwwWlV4aGRHVnVZM2tpT2pnMkxDSmpZV05vWlZKbFlX | ||||
|         UkpibkIxZEZSdmEyVnVRMjkxYm5RaU9qQXNJbU5oWTJobFYzSnBkR1ZKYm5CMWRGUnZhMlZ1UTI5 | ||||
|         MWJuUWlPakI5ZlE9PSIsInAiOiJhYiJ9rO4iMQ== | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/vnd.amazon.eventstream | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 14:09:43 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       Transfer-Encoding: | ||||
|       - chunked | ||||
|       X-Amzn-Bedrock-Content-Type: | ||||
|       - application/json | ||||
|       x-amzn-RequestId: | ||||
|       - d788a25f-4107-4d7e-9b70-be683e911d01 | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -0,0 +1,64 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "inputText": "Say this is a test", | ||||
|         "textGenerationConfig": { | ||||
|           "maxTokenCount": 10, | ||||
|           "temperature": 0.8, | ||||
|           "topP": 1, | ||||
|           "stopSequences": [ | ||||
|             "|" | ||||
|           ] | ||||
|         } | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '137' | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T140943Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-b8667c76-484fbe275a69822274a3b153;Parent=1c655aa74d5b9056;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - 16bd4347-4f6d-4098-8f71-18fa3e3db97c | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/amazon.titan-text-lite-v1/invoke-with-response-stream | ||||
|   response: | ||||
|     body: | ||||
|       string: !!binary | | ||||
|         AAAB/AAAAEvCtCmICzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0 | ||||
|         aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnZkWFJ3ZFhSVVpYaDBJ | ||||
|         am9pSUdOdmJXMWxiblJjYmtobGJHeHZJU0JKSUdGdElHRnVJRUZKSUcxdlpHVnNJR1JsZG1Wc2Iz | ||||
|         QmxaQ0lzSW1sdVpHVjRJam93TENKMGIzUmhiRTkxZEhCMWRGUmxlSFJVYjJ0bGJrTnZkVzUwSWpv | ||||
|         eE1Dd2lZMjl0Y0d4bGRHbHZibEpsWVhOdmJpSTZJa3hGVGtkVVNDSXNJbWx1Y0hWMFZHVjRkRlJ2 | ||||
|         YTJWdVEyOTFiblFpT2pVc0ltRnRZWHB2YmkxaVpXUnliMk5yTFdsdWRtOWpZWFJwYjI1TlpYUnlh | ||||
|         V056SWpwN0ltbHVjSFYwVkc5clpXNURiM1Z1ZENJNk5Td2liM1YwY0hWMFZHOXJaVzVEYjNWdWRD | ||||
|         STZNVEFzSW1sdWRtOWpZWFJwYjI1TVlYUmxibU41SWpvMk1EWXNJbVpwY25OMFFubDBaVXhoZEdW | ||||
|         dVkza2lPall3TlgxOSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiJ9ImKI2Q== | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/vnd.amazon.eventstream | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 14:09:43 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       Transfer-Encoding: | ||||
|       - chunked | ||||
|       X-Amzn-Bedrock-Content-Type: | ||||
|       - application/json | ||||
|       x-amzn-RequestId: | ||||
|       - d1510378-4044-4e21-b8bc-793dc917cc4f | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -0,0 +1,138 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "messages": [ | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say this is a test", | ||||
|                 "type": "text" | ||||
|               } | ||||
|             ] | ||||
|           } | ||||
|         ], | ||||
|         "anthropic_version": "bedrock-2023-05-31", | ||||
|         "max_tokens": 10, | ||||
|         "temperature": 0.8, | ||||
|         "top_p": 1, | ||||
|         "stop_sequences": [ | ||||
|           "|" | ||||
|         ] | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '211' | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T140944Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-d0737c0b-da5fdc0d56ffe1dba045b41c;Parent=7ec85426a39c4738;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - bae563fd-a529-493e-a4fd-b149d9ce8ca1 | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-v2/invoke-with-response-stream | ||||
|   response: | ||||
|     body: | ||||
|       string: !!binary | | ||||
|         AAAB2QAAAEvLlYn8CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0 | ||||
|         aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SjBlWEJsSWpvaWJXVnpj | ||||
|         MkZuWlY5emRHRnlkQ0lzSW0xbGMzTmhaMlVpT25zaWFXUWlPaUp0YzJkZlltUnlhMTh3TVV4clUw | ||||
|         bzBTelY0V1RoclVHOTRPVGN6U21wSFNtOGlMQ0owZVhCbElqb2liV1Z6YzJGblpTSXNJbkp2YkdV | ||||
|         aU9pSmhjM05wYzNSaGJuUWlMQ0p0YjJSbGJDSTZJbU5zWVhWa1pTMHlMakFpTENKamIyNTBaVzUw | ||||
|         SWpwYlhTd2ljM1J2Y0Y5eVpXRnpiMjRpT201MWJHd3NJbk4wYjNCZmMyVnhkV1Z1WTJVaU9tNTFi | ||||
|         R3dzSW5WellXZGxJanA3SW1sdWNIVjBYM1J2YTJWdWN5STZNVFFzSW05MWRIQjFkRjkwYjJ0bGJu | ||||
|         TWlPakY5ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1O | ||||
|         T1BRUlNUVVZXWFkifWttUokAAAEXAAAAS52w30YLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVu | ||||
|         dC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoi | ||||
|         ZXlKMGVYQmxJam9pWTI5dWRHVnVkRjlpYkc5amExOXpkR0Z5ZENJc0ltbHVaR1Y0SWpvd0xDSmpi | ||||
|         MjUwWlc1MFgySnNiMk5ySWpwN0luUjVjR1VpT2lKMFpYaDBJaXdpZEdWNGRDSTZJaUo5ZlE9PSIs | ||||
|         InAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla | ||||
|         MDEyMzQifZCt+WAAAAEVAAAAS+dwjCYLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBl | ||||
|         BwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKMGVY | ||||
|         QmxJam9pWTI5dWRHVnVkRjlpYkc5amExOWtaV3gwWVNJc0ltbHVaR1Y0SWpvd0xDSmtaV3gwWVNJ | ||||
|         NmV5SjBlWEJsSWpvaWRHVjRkRjlrWld4MFlTSXNJblJsZUhRaU9pSlBhMkY1SW4xOSIsInAiOiJh | ||||
|         YmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyIn0F | ||||
|         qOnTAAAA+wAAAEu7yCY9CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxp | ||||
|         Y2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SjBlWEJsSWpvaVky | ||||
|         OXVkR1Z1ZEY5aWJHOWphMTlrWld4MFlTSXNJbWx1WkdWNElqb3dMQ0prWld4MFlTSTZleUowZVhC | ||||
|         bElqb2lkR1Y0ZEY5a1pXeDBZU0lzSW5SbGVIUWlPaUlzSW4xOSIsInAiOiJhYmNkZWZnaGlqa2xt | ||||
|         bm9wcXJzdHV2d3h5ekFCQ0RFRkcifZiFzkcAAAEUAAAAS9oQpZYLOmV2ZW50LXR5cGUHAAVjaHVu | ||||
|         aw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7 | ||||
|         ImJ5dGVzIjoiZXlKMGVYQmxJam9pWTI5dWRHVnVkRjlpYkc5amExOWtaV3gwWVNJc0ltbHVaR1Y0 | ||||
|         SWpvd0xDSmtaV3gwWVNJNmV5SjBlWEJsSWpvaWRHVjRkRjlrWld4MFlTSXNJblJsZUhRaU9pSWdT | ||||
|         U0o5ZlE9PSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BR | ||||
|         UlNUVVZXWFlaMDEifYFpUVoAAADnAAAASx7YXL4LOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVu | ||||
|         dC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoi | ||||
|         ZXlKMGVYQmxJam9pWTI5dWRHVnVkRjlpYkc5amExOWtaV3gwWVNJc0ltbHVaR1Y0SWpvd0xDSmta | ||||
|         V3gwWVNJNmV5SjBlWEJsSWpvaWRHVjRkRjlrWld4MFlTSXNJblJsZUhRaU9pSWdhR1ZoY2lKOWZR | ||||
|         PT0iLCJwIjoiYWJjZGUifZTUHdgAAADpAAAAS6Ho4t8LOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29u | ||||
|         dGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVz | ||||
|         IjoiZXlKMGVYQmxJam9pWTI5dWRHVnVkRjlpYkc5amExOWtaV3gwWVNJc0ltbHVaR1Y0SWpvd0xD | ||||
|         SmtaV3gwWVNJNmV5SjBlWEJsSWpvaWRHVjRkRjlrWld4MFlTSXNJblJsZUhRaU9pSmtJSGx2ZFNK | ||||
|         OWZRPT0iLCJwIjoiYWJjZGVmZyJ9L4wO0QAAAPMAAABLi7ht/As6ZXZlbnQtdHlwZQcABWNodW5r | ||||
|         DTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsi | ||||
|         Ynl0ZXMiOiJleUowZVhCbElqb2lZMjl1ZEdWdWRGOWliRzlqYTE5a1pXeDBZU0lzSW1sdVpHVjRJ | ||||
|         am93TENKa1pXeDBZU0k2ZXlKMGVYQmxJam9pZEdWNGRGOWtaV3gwWVNJc0luUmxlSFFpT2lJZ2My | ||||
|         RjVJbjE5IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dSJ9GxmkFQAAARUAAABL53CMJgs6ZXZl | ||||
|         bnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdl | ||||
|         LXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUowZVhCbElqb2lZMjl1ZEdWdWRGOWliRzlqYTE5a1pX | ||||
|         eDBZU0lzSW1sdVpHVjRJam93TENKa1pXeDBZU0k2ZXlKMGVYQmxJam9pZEdWNGRGOWtaV3gwWVNJ | ||||
|         c0luUmxlSFFpT2lJZ1hDSWlmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJD | ||||
|         REVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIifSUJEFgAAAEMAAAAS4qAedULOmV2ZW50LXR5cGUH | ||||
|         AAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAF | ||||
|         ZXZlbnR7ImJ5dGVzIjoiZXlKMGVYQmxJam9pWTI5dWRHVnVkRjlpYkc5amExOWtaV3gwWVNJc0lt | ||||
|         bHVaR1Y0SWpvd0xDSmtaV3gwWVNJNmV5SjBlWEJsSWpvaWRHVjRkRjlrWld4MFlTSXNJblJsZUhR | ||||
|         aU9pSlRZWGtpZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpL | ||||
|         TE1OT1BRUlNUIn2++vJiAAABDgAAAEvwQCq1CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQt | ||||
|         dHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5 | ||||
|         SjBlWEJsSWpvaVkyOXVkR1Z1ZEY5aWJHOWphMTlrWld4MFlTSXNJbWx1WkdWNElqb3dMQ0prWld4 | ||||
|         MFlTSTZleUowZVhCbElqb2lkR1Y0ZEY5a1pXeDBZU0lzSW5SbGVIUWlPaUlnZEdocGN5SjlmUT09 | ||||
|         IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSIn2bOfJx | ||||
|         AAABDQAAAEu34FBlCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0 | ||||
|         aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SjBlWEJsSWpvaVkyOXVk | ||||
|         R1Z1ZEY5aWJHOWphMTlrWld4MFlTSXNJbWx1WkdWNElqb3dMQ0prWld4MFlTSTZleUowZVhCbElq | ||||
|         b2lkR1Y0ZEY5a1pXeDBZU0lzSW5SbGVIUWlPaUlnYVhNaWZYMD0iLCJwIjoiYWJjZGVmZ2hpamts | ||||
|         bW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFUifWuVUmsAAADFAAAAS6XZINoLOmV2 | ||||
|         ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2Fn | ||||
|         ZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKMGVYQmxJam9pWTI5dWRHVnVkRjlpYkc5amExOXpk | ||||
|         Rzl3SWl3aWFXNWtaWGdpT2pCOSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RF | ||||
|         RkdISSJ9pG6vOAAAATgAAABL3iFnkws6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUH | ||||
|         ABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUowZVhC | ||||
|         bElqb2liV1Z6YzJGblpWOWtaV3gwWVNJc0ltUmxiSFJoSWpwN0luTjBiM0JmY21WaGMyOXVJam9p | ||||
|         YldGNFgzUnZhMlZ1Y3lJc0luTjBiM0JmYzJWeGRXVnVZMlVpT201MWJHeDlMQ0oxYzJGblpTSTZl | ||||
|         eUp2ZFhSd2RYUmZkRzlyWlc1eklqb3hNSDE5IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3 | ||||
|         eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMSJ98M107QAAAUgAAABLJ/OHXAs6ZXZlbnQt | ||||
|         dHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5 | ||||
|         cGUHAAVldmVudHsiYnl0ZXMiOiJleUowZVhCbElqb2liV1Z6YzJGblpWOXpkRzl3SWl3aVlXMWhl | ||||
|         bTl1TFdKbFpISnZZMnN0YVc1MmIyTmhkR2x2YmsxbGRISnBZM01pT25zaWFXNXdkWFJVYjJ0bGJr | ||||
|         TnZkVzUwSWpveE5Dd2liM1YwY0hWMFZHOXJaVzVEYjNWdWRDSTZNVEFzSW1sdWRtOWpZWFJwYjI1 | ||||
|         TVlYUmxibU41SWpvMU9EWXNJbVpwY25OMFFubDBaVXhoZEdWdVkza2lPakk0TTMxOSIsInAiOiJh | ||||
|         YmNkZWZnaGlqa2xtbm9wcXIifU0wj/U= | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/vnd.amazon.eventstream | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 14:09:44 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       Transfer-Encoding: | ||||
|       - chunked | ||||
|       X-Amzn-Bedrock-Content-Type: | ||||
|       - application/json | ||||
|       x-amzn-RequestId: | ||||
|       - fef4e97e-8d2b-4faf-a561-e27f49ec42e0 | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -0,0 +1,175 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "messages": [ | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say this is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "assistant", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "This is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say again this is a test" | ||||
|               } | ||||
|             ] | ||||
|           } | ||||
|         ], | ||||
|         "inferenceConfig": { | ||||
|           "max_new_tokens": 10 | ||||
|         }, | ||||
|         "schemaVersion": "messages-v1", | ||||
|         "system": [ | ||||
|           { | ||||
|             "text": "You are a friendly model" | ||||
|           } | ||||
|         ] | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '335' | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T141144Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-a09ce52d-52219138a15355c5765b2b52;Parent=63b5a9a600291fc0;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - 9e4a9f20-c0f9-4be7-abfe-2872259d1d32 | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/amazon.nova-micro-v1%3A0/invoke-with-response-stream | ||||
|   response: | ||||
|     body: | ||||
|       string: !!binary | | ||||
|         AAAAtwAAAEsmy5N1CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0 | ||||
|         aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUmhj | ||||
|         blFpT25zaWNtOXNaU0k2SW1GemMybHpkR0Z1ZENKOWZRPT0iLCJwIjoiYWJjZGVmZ2hpamtsbW5v | ||||
|         cHFyc3R1In2smnzGAAAA0wAAAEtKeUL4CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlw | ||||
|         ZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5Smpi | ||||
|         MjUwWlc1MFFteHZZMnRFWld4MFlTSTZleUprWld4MFlTSTZleUowWlhoMElqb2lRV2RoYVc0aWZT | ||||
|         d2lZMjl1ZEdWdWRFSnNiMk5yU1c1a1pYZ2lPakI5ZlE9PSIsInAiOiJhYmNkZSJ9ZkQqpwAAAOEA | ||||
|         AABLkZipHgs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9q | ||||
|         c29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRH | ||||
|         OXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpvd2ZYMD0iLCJwIjoiYWJjZGVmZ2hpamts | ||||
|         bW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMiJ9D8dFwAAAAM4AAABL | ||||
|         0gkRyws6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29u | ||||
|         DTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZ | ||||
|         U0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pTENKOUxDSmpiMjUwWlc1MFFteHZZMnRKYm1SbGVD | ||||
|         STZNWDE5IiwicCI6ImFiY2RlZmdoIn0LqUUiAAAA4gAAAEvWONPOCzpldmVudC10eXBlBwAFY2h1 | ||||
|         bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50 | ||||
|         eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBs | ||||
|         dVpHVjRJam94ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpL | ||||
|         TE1OT1BRUlNUVVZXWFlaMDEyMyJ9g9JI0AAAAOcAAABLHthcvgs6ZXZlbnQtdHlwZQcABWNodW5r | ||||
|         DTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsi | ||||
|         Ynl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJ | ||||
|         am9pSUhSb2FYTWlmU3dpWTI5dWRHVnVkRUpzYjJOclNXNWtaWGdpT2pKOWZRPT0iLCJwIjoiYWJj | ||||
|         ZGVmZ2hpamtsbW5vcHFyc3R1dnd4eSJ9Y/VCfwAAANcAAABLv/nkOAs6ZXZlbnQtdHlwZQcABWNo | ||||
|         dW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVu | ||||
|         dHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEw | ||||
|         bHVaR1Y0SWpveWZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElK | ||||
|         S0xNTk9QUVJTIn109CNrAAAA4QAAAEuRmKkeCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQt | ||||
|         dHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5 | ||||
|         SmpiMjUwWlc1MFFteHZZMnRFWld4MFlTSTZleUprWld4MFlTSTZleUowWlhoMElqb2lJR2x6SW4w | ||||
|         c0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3pmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3Bx | ||||
|         cnN0dXZ3In077I9kAAAA2wAAAEt6CQk5CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlw | ||||
|         ZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5Smpi | ||||
|         MjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam96ZlgwPSIs | ||||
|         InAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXIn2Y | ||||
|         cRd9AAAA9AAAAEs5mLHsCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxp | ||||
|         Y2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFt | ||||
|         eHZZMnRFWld4MFlTSTZleUprWld4MFlTSTZleUowWlhoMElqb2lJR0VpZlN3aVkyOXVkR1Z1ZEVK | ||||
|         c2IyTnJTVzVrWlhnaU9qUjlmUT09IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJD | ||||
|         REVGR0hJSktMTU5PUCJ964agtwAAAMgAAABLXUnkaws6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250 | ||||
|         ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMi | ||||
|         OiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpv | ||||
|         MGZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNEIn0/JaMoAAAA1AAAAEv4 | ||||
|         WZ7oCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24N | ||||
|         Om1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRFWld4MFlT | ||||
|         STZleUprWld4MFlTSTZleUowWlhoMElqb2lJSFJsYzNRaWZTd2lZMjl1ZEdWdWRFSnNiMk5yU1c1 | ||||
|         a1pYZ2lPalY5ZlE9PSIsInAiOiJhYmNkZWYifTR53DAAAAC9AAAAS2x7i9QLOmV2ZW50LXR5cGUH | ||||
|         AAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAF | ||||
|         ZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JH | ||||
|         OWphMGx1WkdWNElqbzFmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnMifWGJ/tEAAADrAAAA | ||||
|         S9sosb8LOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNv | ||||
|         bg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gw | ||||
|         WVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaUxpSjlMQ0pqYjI1MFpXNTBRbXh2WTJ0SmJtUmxl | ||||
|         Q0k2Tm4xOSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLIn1bj3f5 | ||||
|         AAAA4AAAAEus+ICuCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0 | ||||
|         aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZ | ||||
|         MnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam8yZlgwPSIsInAiOiJhYmNkZWZn | ||||
|         aGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEifUip/SkAAAEH | ||||
|         AAAAS/1QSMQLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24v | ||||
|         anNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVa | ||||
|         V3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaUlFbG1JbjBzSW1OdmJuUmxiblJDYkc5amEw | ||||
|         bHVaR1Y0SWpvM2ZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElK | ||||
|         S0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3OCJ9u1LWzQAAALkAAABLmfstFAs6ZXZlbnQtdHlwZQcA | ||||
|         BWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVl | ||||
|         dmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5 | ||||
|         amEwbHVaR1Y0SWpvM2ZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vIn0THZEoAAAA4QAAAEuRmKke | ||||
|         CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1l | ||||
|         c3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRFWld4MFlTSTZl | ||||
|         eUprWld4MFlTSTZleUowWlhoMElqb2lJSGx2ZFNKOUxDSmpiMjUwWlc1MFFteHZZMnRKYm1SbGVD | ||||
|         STZPSDE5IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3In1pnW0qAAAA3wAAAEuPia/5Czpl | ||||
|         dmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3Nh | ||||
|         Z2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52 | ||||
|         Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam80ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2 | ||||
|         d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMCJ9zCnPkAAAAOMAAABL61j6fgs6ZXZlbnQt | ||||
|         dHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5 | ||||
|         cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZ | ||||
|         U0k2ZXlKMFpYaDBJam9pSUc1bFpXUWlmU3dpWTI5dWRHVnVkRUpzYjJOclNXNWtaWGdpT2psOWZR | ||||
|         PT0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1In1tUIvDAAAAxgAAAEvieVoKCzpldmVudC10 | ||||
|         eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlw | ||||
|         ZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJu | ||||
|         UkNiRzlqYTBsdVpHVjRJam81ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFC | ||||
|         In36jRI9AAAA4wAAAEvrWPp+CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFw | ||||
|         cGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdk | ||||
|         bFUzUnZjQ0k2ZXlKemRHOXdVbVZoYzI5dUlqb2liV0Y0WDNSdmEyVnVjeUo5ZlE9PSIsInAiOiJh | ||||
|         YmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQi | ||||
|         fT6v9b4AAAIuAAAAS7cVdx8LOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBw | ||||
|         bGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKdFpYUmhaR0Yw | ||||
|         WVNJNmV5SjFjMkZuWlNJNmV5SnBibkIxZEZSdmEyVnVjeUk2TWpVc0ltOTFkSEIxZEZSdmEyVnVj | ||||
|         eUk2TVRBc0ltTmhZMmhsVW1WaFpFbHVjSFYwVkc5clpXNURiM1Z1ZENJNk1Dd2lZMkZqYUdWWGNt | ||||
|         bDBaVWx1Y0hWMFZHOXJaVzVEYjNWdWRDSTZNSDBzSW0xbGRISnBZM01pT250OUxDSjBjbUZqWlNJ | ||||
|         NmUzMTlMQ0poYldGNmIyNHRZbVZrY205amF5MXBiblp2WTJGMGFXOXVUV1YwY21samN5STZleUpw | ||||
|         Ym5CMWRGUnZhMlZ1UTI5MWJuUWlPakkxTENKdmRYUndkWFJVYjJ0bGJrTnZkVzUwSWpveE1Dd2lh | ||||
|         VzUyYjJOaGRHbHZia3hoZEdWdVkza2lPakUzT1N3aVptbHljM1JDZVhSbFRHRjBaVzVqZVNJNk5q | ||||
|         QXNJbU5oWTJobFVtVmhaRWx1Y0hWMFZHOXJaVzVEYjNWdWRDSTZNQ3dpWTJGamFHVlhjbWwwWlVs | ||||
|         dWNIVjBWRzlyWlc1RGIzVnVkQ0k2TUgxOSIsInAiOiJhYmNkZWZnaGlqa2wifelhO1Y= | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/vnd.amazon.eventstream | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 14:11:45 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       Transfer-Encoding: | ||||
|       - chunked | ||||
|       X-Amzn-Bedrock-Content-Type: | ||||
|       - application/json | ||||
|       x-amzn-RequestId: | ||||
|       - 5a860b54-1dc8-429c-9855-bbdb14bd8746 | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -0,0 +1,123 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "messages": [ | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say this is a test", | ||||
|                 "type": "text" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "assistant", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "This is a test", | ||||
|                 "type": "text" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say again this is a test", | ||||
|                 "type": "text" | ||||
|               } | ||||
|             ] | ||||
|           } | ||||
|         ], | ||||
|         "anthropic_version": "bedrock-2023-05-31", | ||||
|         "system": "You are a friendly model", | ||||
|         "max_tokens": 10 | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '357' | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T141145Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-3b467cd3-1c0670b2a26cec8cb737e192;Parent=eeae78711a53442d;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - e429adb3-764e-4929-9f5c-c30f2972174c | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-v2/invoke-with-response-stream | ||||
|   response: | ||||
|     body: | ||||
|       string: !!binary | | ||||
|         AAAB3QAAAEs+FS88CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0 | ||||
|         aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SjBlWEJsSWpvaWJXVnpj | ||||
|         MkZuWlY5emRHRnlkQ0lzSW0xbGMzTmhaMlVpT25zaWFXUWlPaUp0YzJkZlltUnlhMTh3TVZCSVdF | ||||
|         UjJkbmR3VFVSaVFWSlpjM0poYTJOSE9Ua2lMQ0owZVhCbElqb2liV1Z6YzJGblpTSXNJbkp2YkdV | ||||
|         aU9pSmhjM05wYzNSaGJuUWlMQ0p0YjJSbGJDSTZJbU5zWVhWa1pTMHlMakFpTENKamIyNTBaVzUw | ||||
|         SWpwYlhTd2ljM1J2Y0Y5eVpXRnpiMjRpT201MWJHd3NJbk4wYjNCZmMyVnhkV1Z1WTJVaU9tNTFi | ||||
|         R3dzSW5WellXZGxJanA3SW1sdWNIVjBYM1J2YTJWdWN5STZNemNzSW05MWRIQjFkRjkwYjJ0bGJu | ||||
|         TWlPakY5ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1O | ||||
|         T1BRUlNUVVZXWFlaMDEyIn03XqsQAAAA9AAAAEs5mLHsCzpldmVudC10eXBlBwAFY2h1bmsNOmNv | ||||
|         bnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRl | ||||
|         cyI6ImV5SjBlWEJsSWpvaVkyOXVkR1Z1ZEY5aWJHOWphMTl6ZEdGeWRDSXNJbWx1WkdWNElqb3dM | ||||
|         Q0pqYjI1MFpXNTBYMkpzYjJOcklqcDdJblI1Y0dVaU9pSjBaWGgwSWl3aWRHVjRkQ0k2SWlKOWZR | ||||
|         PT0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1diJ9n5F/3AAAAQEAAABLchC9ZAs6ZXZlbnQt | ||||
|         dHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5 | ||||
|         cGUHAAVldmVudHsiYnl0ZXMiOiJleUowZVhCbElqb2lZMjl1ZEdWdWRGOWliRzlqYTE5a1pXeDBZ | ||||
|         U0lzSW1sdVpHVjRJam93TENKa1pXeDBZU0k2ZXlKMGVYQmxJam9pZEdWNGRGOWtaV3gwWVNJc0lu | ||||
|         UmxlSFFpT2lKVWFHbHpJbjE5IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVG | ||||
|         R0hJIn2TE0apAAAA5wAAAEse2Fy+CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcA | ||||
|         EGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SjBlWEJs | ||||
|         SWpvaVkyOXVkR1Z1ZEY5aWJHOWphMTlrWld4MFlTSXNJbWx1WkdWNElqb3dMQ0prWld4MFlTSTZl | ||||
|         eUowZVhCbElqb2lkR1Y0ZEY5a1pXeDBZU0lzSW5SbGVIUWlPaUlnYVhNaWZYMD0iLCJwIjoiYWJj | ||||
|         ZGVmZ2hpIn2t9aV4AAAA+AAAAEv8aFztCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlw | ||||
|         ZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SjBl | ||||
|         WEJsSWpvaVkyOXVkR1Z1ZEY5aWJHOWphMTlrWld4MFlTSXNJbWx1WkdWNElqb3dMQ0prWld4MFlT | ||||
|         STZleUowZVhCbElqb2lkR1Y0ZEY5a1pXeDBZU0lzSW5SbGVIUWlPaUlnWVNKOWZRPT0iLCJwIjoi | ||||
|         YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoifRz/PMwAAADkAAAAS1l4Jm4LOmV2ZW50LXR5cGUH | ||||
|         AAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAF | ||||
|         ZXZlbnR7ImJ5dGVzIjoiZXlKMGVYQmxJam9pWTI5dWRHVnVkRjlpYkc5amExOWtaV3gwWVNJc0lt | ||||
|         bHVaR1Y0SWpvd0xDSmtaV3gwWVNJNmV5SjBlWEJsSWpvaWRHVjRkRjlrWld4MFlTSXNJblJsZUhR | ||||
|         aU9pSWdkR1Z6ZENKOWZRPT0iLCJwIjoiYWIifVjsMQIAAADVAAAAS8U5t1gLOmV2ZW50LXR5cGUH | ||||
|         AAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAF | ||||
|         ZXZlbnR7ImJ5dGVzIjoiZXlKMGVYQmxJam9pWTI5dWRHVnVkRjlpYkc5amExOXpkRzl3SWl3aWFX | ||||
|         NWtaWGdpT2pCOSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1O | ||||
|         T1BRUlNUVVZXWFkifbyhSHYAAAE2AAAAS2ER2fILOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVu | ||||
|         dC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoi | ||||
|         ZXlKMGVYQmxJam9pYldWemMyRm5aVjlrWld4MFlTSXNJbVJsYkhSaElqcDdJbk4wYjNCZmNtVmhj | ||||
|         Mjl1SWpvaVpXNWtYM1IxY200aUxDSnpkRzl3WDNObGNYVmxibU5sSWpwdWRXeHNmU3dpZFhOaFoy | ||||
|         VWlPbnNpYjNWMGNIVjBYM1J2YTJWdWN5STZPSDE5IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0 | ||||
|         dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzIn1GPfIoAAABVgAAAEv4I66/Czpl | ||||
|         dmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3Nh | ||||
|         Z2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SjBlWEJsSWpvaWJXVnpjMkZuWlY5emRHOXdJaXdp | ||||
|         WVcxaGVtOXVMV0psWkhKdlkyc3RhVzUyYjJOaGRHbHZiazFsZEhKcFkzTWlPbnNpYVc1d2RYUlVi | ||||
|         MnRsYmtOdmRXNTBJam96Tnl3aWIzVjBjSFYwVkc5clpXNURiM1Z1ZENJNk9Dd2lhVzUyYjJOaGRH | ||||
|         bHZia3hoZEdWdVkza2lPalEyTUN3aVptbHljM1JDZVhSbFRHRjBaVzVqZVNJNk16ZzFmWDA9Iiwi | ||||
|         cCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGIn2cl+ym | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/vnd.amazon.eventstream | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 14:11:45 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       Transfer-Encoding: | ||||
|       - chunked | ||||
|       X-Amzn-Bedrock-Content-Type: | ||||
|       - application/json | ||||
|       x-amzn-RequestId: | ||||
|       - f2e57698-369e-455f-ba0c-ee76c7cc9b0e | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -0,0 +1,173 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "messages": [ | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say this is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "assistant", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "This is a test" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say again this is a test" | ||||
|               } | ||||
|             ] | ||||
|           } | ||||
|         ], | ||||
|         "inferenceConfig": { | ||||
|           "max_new_tokens": 10 | ||||
|         }, | ||||
|         "schemaVersion": "messages-v1", | ||||
|         "system": [ | ||||
|           { | ||||
|             "text": "You are a friendly model" | ||||
|           } | ||||
|         ] | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '335' | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T141142Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-28ed5f06-78a0ef90426228c4d5ebde31;Parent=4113da3ba221a595;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - e1dd3bf8-0b4f-47e7-84f9-6bef53b8b7d8 | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/amazon.nova-micro-v1%3A0/invoke-with-response-stream | ||||
|   response: | ||||
|     body: | ||||
|       string: !!binary | | ||||
|         AAAAuAAAAEukmwSkCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0 | ||||
|         aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUmhj | ||||
|         blFpT25zaWNtOXNaU0k2SW1GemMybHpkR0Z1ZENKOWZRPT0iLCJwIjoiYWJjZGVmZ2hpamtsbW5v | ||||
|         cHFyc3R1diJ9TyaZ3wAAANQAAABL+Fme6As6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5 | ||||
|         cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpq | ||||
|         YjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pVkdocGN5SjlM | ||||
|         Q0pqYjI1MFpXNTBRbXh2WTJ0SmJtUmxlQ0k2TUgxOSIsInAiOiJhYmNkZWZnaGlqIn2IqYJIAAAA | ||||
|         wgAAAEsX+fzKCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9u | ||||
|         L2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRU | ||||
|         ZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam93ZlgwPSIsInAiOiJhYmNkZWZnaGlq | ||||
|         a2xtbm9wcXJzdHV2d3gifYUcwhMAAADjAAAAS+tY+n4LOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29u | ||||
|         dGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVz | ||||
|         IjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaUlH | ||||
|         bHpJbjBzSW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveGZYMD0iLCJwIjoiYWJjZGVmZ2hpamts | ||||
|         bW5vcHFyc3R1dnd4eSJ9J0L/9wAAAMkAAABLYCnN2ws6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250 | ||||
|         ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMi | ||||
|         OiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpv | ||||
|         eGZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERSJ9jdOkZgAAAPAAAABL | ||||
|         zBgXLAs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29u | ||||
|         DTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZ | ||||
|         U0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pSUdFaWZTd2lZMjl1ZEdWdWRFSnNiMk5yU1c1a1pY | ||||
|         Z2lPako5ZlE9PSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTCJ9 | ||||
|         ruuoXwAAALYAAABLG6u6xQs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBs | ||||
|         aWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBR | ||||
|         bXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveWZYMD0iLCJwIjoiYWJj | ||||
|         ZGVmZ2hpamtsIn2fJhOOAAAA5wAAAEse2Fy+CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQt | ||||
|         dHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5 | ||||
|         SmpiMjUwWlc1MFFteHZZMnRFWld4MFlTSTZleUprWld4MFlTSTZleUowWlhoMElqb2lJSFJsYzNR | ||||
|         aWZTd2lZMjl1ZEdWdWRFSnNiMk5yU1c1a1pYZ2lPak45ZlE9PSIsInAiOiJhYmNkZWZnaGlqa2xt | ||||
|         bm9wcXJzdHV2d3h5In3/2HgbAAAA1AAAAEv4WZ7oCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRl | ||||
|         bnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6 | ||||
|         ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam96 | ||||
|         ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1AifcsN | ||||
|         PjAAAADwAAAAS8wYFywLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGlj | ||||
|         YXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14 | ||||
|         dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaUlHRm5ZV2x1SW4wc0ltTnZiblJs | ||||
|         Ym5SQ2JHOWphMGx1WkdWNElqbzBmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6 | ||||
|         QUJDREVGR0gifaIdtT0AAADcAAAAS8gp1SkLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10 | ||||
|         eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlK | ||||
|         amIyNTBaVzUwUW14dlkydFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqbzBmWDA9 | ||||
|         IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldY | ||||
|         In3Z8oGWAAAA1gAAAEuCmc2ICzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFw | ||||
|         cGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1 | ||||
|         MFFteHZZMnRFWld4MFlTSTZleUprWld4MFlTSTZleUowWlhoMElqb2lMaUo5TENKamIyNTBaVzUw | ||||
|         UW14dlkydEpibVJsZUNJNk5YMTkiLCJwIjoiYWJjZGVmZ2hpamtsbW5vcCJ9ex1DVwAAAMIAAABL | ||||
|         F/n8ygs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29u | ||||
|         DTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJ | ||||
|         anA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpvMWZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5v | ||||
|         cHFyc3R1dnd4In2llAWqAAAA3QAAAEv1SfyZCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQt | ||||
|         dHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5 | ||||
|         SmpiMjUwWlc1MFFteHZZMnRFWld4MFlTSTZleUprWld4MFlTSTZleUowWlhoMElqb2lJRWxtSW4w | ||||
|         c0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqbzJmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3Bx | ||||
|         cnMifT/cYeQAAADjAAAAS+tY+n4LOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQ | ||||
|         YXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBa | ||||
|         VzUwUW14dlkydFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqbzJmWDA9IiwicCI6 | ||||
|         ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIz | ||||
|         NCJ9ttyqAgAAANoAAABLR2kgiQs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBh | ||||
|         cHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpX | ||||
|         NTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pSUhsdmRTSjlMQ0pqYjI1 | ||||
|         MFpXNTBRbXh2WTJ0SmJtUmxlQ0k2TjMxOSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wIn3JnmorAAAA | ||||
|         ygAAAEsnibcLCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9u | ||||
|         L2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRU | ||||
|         ZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam8zZlgwPSIsInAiOiJhYmNkZWZnaGlq | ||||
|         a2xtbm9wcXJzdHV2d3h5ekFCQ0RFRiJ9jsN0TAAAAP4AAABLcyipTQs6ZXZlbnQtdHlwZQcABWNo | ||||
|         dW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVu | ||||
|         dHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpY | ||||
|         aDBJam9pSUc1bFpXUWlmU3dpWTI5dWRHVnVkRUpzYjJOclNXNWtaWGdpT2poOWZRPT0iLCJwIjoi | ||||
|         YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWIn0GwPyfAAAA | ||||
|         xwAAAEvfGXO6CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9u | ||||
|         L2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRU | ||||
|         ZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam80ZlgwPSIsInAiOiJhYmNkZWZnaGlq | ||||
|         a2xtbm9wcXJzdHV2d3h5ekFCQyJ9PFvNGQAAANQAAABL+Fme6As6ZXZlbnQtdHlwZQcABWNodW5r | ||||
|         DTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsi | ||||
|         Ynl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJ | ||||
|         am9pSUdGdWVTSjlMQ0pqYjI1MFpXNTBRbXh2WTJ0SmJtUmxlQ0k2T1gxOSIsInAiOiJhYmNkZWZn | ||||
|         aGlqIn1/oYekAAAA1AAAAEv4WZ7oCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcA | ||||
|         EGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUw | ||||
|         Wlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam81ZlgwPSIsInAi | ||||
|         OiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1AifX/ON2kAAACtAAAA | ||||
|         SwybHFYLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNv | ||||
|         bg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKdFpYTnpZV2RsVTNSdmNDSTZleUp6 | ||||
|         ZEc5d1VtVmhjMjl1SWpvaWJXRjRYM1J2YTJWdWN5SjlmUT09IiwicCI6ImFiYyJ9Hvkn7gAAAjYA | ||||
|         AABL54WrXAs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9q | ||||
|         c29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUp0WlhSaFpHRjBZU0k2ZXlKMWMy | ||||
|         Rm5aU0k2ZXlKcGJuQjFkRlJ2YTJWdWN5STZNalVzSW05MWRIQjFkRlJ2YTJWdWN5STZNVEFzSW1O | ||||
|         aFkyaGxVbVZoWkVsdWNIVjBWRzlyWlc1RGIzVnVkQ0k2TUN3aVkyRmphR1ZYY21sMFpVbHVjSFYw | ||||
|         Vkc5clpXNURiM1Z1ZENJNk1IMHNJbTFsZEhKcFkzTWlPbnQ5TENKMGNtRmpaU0k2ZTMxOUxDSmhi | ||||
|         V0Y2YjI0dFltVmtjbTlqYXkxcGJuWnZZMkYwYVc5dVRXVjBjbWxqY3lJNmV5SnBibkIxZEZSdmEy | ||||
|         VnVRMjkxYm5RaU9qSTFMQ0p2ZFhSd2RYUlViMnRsYmtOdmRXNTBJam94TUN3aWFXNTJiMk5oZEds | ||||
|         dmJreGhkR1Z1WTNraU9qRTVOeXdpWm1seWMzUkNlWFJsVEdGMFpXNWplU0k2TnpJc0ltTmhZMmhs | ||||
|         VW1WaFpFbHVjSFYwVkc5clpXNURiM1Z1ZENJNk1Dd2lZMkZqYUdWWGNtbDBaVWx1Y0hWMFZHOXJa | ||||
|         VzVEYjNWdWRDSTZNSDE5IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0In2+XMjJ | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/vnd.amazon.eventstream | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 14:11:43 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       Transfer-Encoding: | ||||
|       - chunked | ||||
|       X-Amzn-Bedrock-Content-Type: | ||||
|       - application/json | ||||
|       x-amzn-RequestId: | ||||
|       - 406cb91b-9ad8-4309-baf1-769a289b7df1 | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -0,0 +1,124 @@ | |||
| interactions: | ||||
| - request: | ||||
|     body: |- | ||||
|       { | ||||
|         "messages": [ | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say this is a test", | ||||
|                 "type": "text" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "assistant", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "This is a test", | ||||
|                 "type": "text" | ||||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           { | ||||
|             "role": "user", | ||||
|             "content": [ | ||||
|               { | ||||
|                 "text": "Say again this is a test", | ||||
|                 "type": "text" | ||||
|               } | ||||
|             ] | ||||
|           } | ||||
|         ], | ||||
|         "anthropic_version": "bedrock-2023-05-31", | ||||
|         "system": "You are a friendly model", | ||||
|         "max_tokens": 10 | ||||
|       } | ||||
|     headers: | ||||
|       Content-Length: | ||||
|       - '357' | ||||
|       User-Agent: | ||||
|       - Boto3/1.35.56 md/Botocore#1.35.56 ua/2.0 os/linux#6.1.0-1034-oem md/arch#x86_64 | ||||
|         lang/python#3.10.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.35.56 | ||||
|       X-Amz-Date: | ||||
|       - 20250213T141143Z | ||||
|       X-Amz-Security-Token: | ||||
|       - test_aws_security_token | ||||
|       X-Amzn-Trace-Id: | ||||
|       - Root=1-a7421915-90c1cf280ff1d9482f772c88;Parent=9b34e4bcd8b69db4;Sampled=1 | ||||
|       amz-sdk-invocation-id: | ||||
|       - f8aca0ab-34a1-4185-9551-b5d28c4e0be9 | ||||
|       amz-sdk-request: | ||||
|       - attempt=1 | ||||
|       authorization: | ||||
|       - Bearer test_aws_authorization | ||||
|     method: POST | ||||
|     uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-v2/invoke-with-response-stream | ||||
|   response: | ||||
|     body: | ||||
|       string: !!binary | | ||||
|         AAABtwAAAEvtl0DQCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0 | ||||
|         aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SjBlWEJsSWpvaWJXVnpj | ||||
|         MkZuWlY5emRHRnlkQ0lzSW0xbGMzTmhaMlVpT25zaWFXUWlPaUp0YzJkZlltUnlhMTh3TVUweWFr | ||||
|         TjNWbE5tZDFkaldFRnlaME5UZVRodE1XWWlMQ0owZVhCbElqb2liV1Z6YzJGblpTSXNJbkp2YkdV | ||||
|         aU9pSmhjM05wYzNSaGJuUWlMQ0p0YjJSbGJDSTZJbU5zWVhWa1pTMHlMakFpTENKamIyNTBaVzUw | ||||
|         SWpwYlhTd2ljM1J2Y0Y5eVpXRnpiMjRpT201MWJHd3NJbk4wYjNCZmMyVnhkV1Z1WTJVaU9tNTFi | ||||
|         R3dzSW5WellXZGxJanA3SW1sdWNIVjBYM1J2YTJWdWN5STZNemNzSW05MWRIQjFkRjkwYjJ0bGJu | ||||
|         TWlPakY5ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcSJ9c5WqNgAAAPcAAABLfjjLPAs6ZXZl | ||||
|         bnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdl | ||||
|         LXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUowZVhCbElqb2lZMjl1ZEdWdWRGOWliRzlqYTE5emRH | ||||
|         RnlkQ0lzSW1sdVpHVjRJam93TENKamIyNTBaVzUwWDJKc2IyTnJJanA3SW5SNWNHVWlPaUowWlho | ||||
|         MElpd2lkR1Y0ZENJNklpSjlmUT09IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHkifXQG | ||||
|         3pQAAAEFAAAAS4eQG6QLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGlj | ||||
|         YXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKMGVYQmxJam9pWTI5 | ||||
|         dWRHVnVkRjlpYkc5amExOWtaV3gwWVNJc0ltbHVaR1Y0SWpvd0xDSmtaV3gwWVNJNmV5SjBlWEJs | ||||
|         SWpvaWRHVjRkRjlrWld4MFlTSXNJblJsZUhRaU9pSlVhR2x6SW4xOSIsInAiOiJhYmNkZWZnaGlq | ||||
|         a2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE0iffHQpi0AAAEaAAAAS2UgG/cLOmV2ZW50LXR5 | ||||
|         cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBl | ||||
|         BwAFZXZlbnR7ImJ5dGVzIjoiZXlKMGVYQmxJam9pWTI5dWRHVnVkRjlpYkc5amExOWtaV3gwWVNJ | ||||
|         c0ltbHVaR1Y0SWpvd0xDSmtaV3gwWVNJNmV5SjBlWEJsSWpvaWRHVjRkRjlrWld4MFlTSXNJblJs | ||||
|         ZUhRaU9pSWdhWE1pZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdI | ||||
|         SUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1NjcifYA9TRcAAAEGAAAAS8AwYXQLOmV2ZW50LXR5cGUH | ||||
|         AAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAF | ||||
|         ZXZlbnR7ImJ5dGVzIjoiZXlKMGVYQmxJam9pWTI5dWRHVnVkRjlpYkc5amExOWtaV3gwWVNJc0lt | ||||
|         bHVaR1Y0SWpvd0xDSmtaV3gwWVNJNmV5SjBlWEJsSWpvaWRHVjRkRjlrWld4MFlTSXNJblJsZUhR | ||||
|         aU9pSWdZU0o5ZlE9PSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpL | ||||
|         TE1OIn26R/hGAAABDQAAAEu34FBlCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcA | ||||
|         EGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SjBlWEJs | ||||
|         SWpvaVkyOXVkR1Z1ZEY5aWJHOWphMTlrWld4MFlTSXNJbWx1WkdWNElqb3dMQ0prWld4MFlTSTZl | ||||
|         eUowZVhCbElqb2lkR1Y0ZEY5a1pXeDBZU0lzSW5SbGVIUWlPaUlnZEdWemRDSjlmUT09IiwicCI6 | ||||
|         ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFEifUsoqQQAAADHAAAA | ||||
|         S98Zc7oLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNv | ||||
|         bg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKMGVYQmxJam9pWTI5dWRHVnVkRjlp | ||||
|         Ykc5amExOXpkRzl3SWl3aWFXNWtaWGdpT2pCOSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2 | ||||
|         d3h5ekFCQ0RFRkdISUpLIn289g6LAAABLgAAAEsxgQWxCzpldmVudC10eXBlBwAFY2h1bmsNOmNv | ||||
|         bnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRl | ||||
|         cyI6ImV5SjBlWEJsSWpvaWJXVnpjMkZuWlY5a1pXeDBZU0lzSW1SbGJIUmhJanA3SW5OMGIzQmZj | ||||
|         bVZoYzI5dUlqb2laVzVrWDNSMWNtNGlMQ0p6ZEc5d1gzTmxjWFZsYm1ObElqcHVkV3hzZlN3aWRY | ||||
|         TmhaMlVpT25zaWIzVjBjSFYwWDNSdmEyVnVjeUk2T0gxOSIsInAiOiJhYmNkZWZnaGlqa2xtbm9w | ||||
|         cXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVYifezNQVkAAAFWAAAAS/gjrr8LOmV2ZW50 | ||||
|         LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10 | ||||
|         eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKMGVYQmxJam9pYldWemMyRm5aVjl6ZEc5d0lpd2lZVzFo | ||||
|         ZW05dUxXSmxaSEp2WTJzdGFXNTJiMk5oZEdsdmJrMWxkSEpwWTNNaU9uc2lhVzV3ZFhSVWIydGxi | ||||
|         a052ZFc1MElqb3pOeXdpYjNWMGNIVjBWRzlyWlc1RGIzVnVkQ0k2T0N3aWFXNTJiMk5oZEdsdmJr | ||||
|         eGhkR1Z1WTNraU9qUXpNaXdpWm1seWMzUkNlWFJsVEdGMFpXNWplU0k2TXpVNGZYMD0iLCJwIjoi | ||||
|         YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUYifYwQjVc= | ||||
|     headers: | ||||
|       Connection: | ||||
|       - keep-alive | ||||
|       Content-Type: | ||||
|       - application/vnd.amazon.eventstream | ||||
|       Date: | ||||
|       - Thu, 13 Feb 2025 14:11:44 GMT | ||||
|       Set-Cookie: test_set_cookie | ||||
|       Transfer-Encoding: | ||||
|       - chunked | ||||
|       X-Amzn-Bedrock-Content-Type: | ||||
|       - application/json | ||||
|       x-amzn-RequestId: | ||||
|       - 2423a140-3984-4d26-8741-1484ad05d541 | ||||
|     status: | ||||
|       code: 200 | ||||
|       message: OK | ||||
| version: 1 | ||||
|  | @ -12,6 +12,8 @@ | |||
| # See the License for the specific language governing permissions and | ||||
| # limitations under the License. | ||||
| 
 | ||||
| # pylint:disable=too-many-lines | ||||
| 
 | ||||
| from __future__ import annotations | ||||
| 
 | ||||
| import json | ||||
|  | @ -83,6 +85,87 @@ def test_converse_with_content( | |||
|     assert_message_in_logs(logs[0], "gen_ai.user.message", user_content, span) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.skipif( | ||||
|     BOTO3_VERSION < (1, 35, 56), reason="Converse API not available" | ||||
| ) | ||||
| @pytest.mark.vcr() | ||||
| def test_converse_with_content_different_events( | ||||
|     span_exporter, | ||||
|     log_exporter, | ||||
|     bedrock_runtime_client, | ||||
|     instrument_with_content, | ||||
| ): | ||||
|     # pylint:disable=too-many-locals | ||||
|     messages = anthropic_claude_converse_messages() | ||||
|     llm_model_value = "anthropic.claude-v2" | ||||
|     system_content = anthropic_claude_converse_system() | ||||
|     response = bedrock_runtime_client.converse( | ||||
|         system=system_content, | ||||
|         messages=messages, | ||||
|         modelId=llm_model_value, | ||||
|     ) | ||||
| 
 | ||||
|     (span,) = span_exporter.get_finished_spans() | ||||
|     assert_converse_completion_attributes( | ||||
|         span, | ||||
|         llm_model_value, | ||||
|         response, | ||||
|         "chat", | ||||
|     ) | ||||
| 
 | ||||
|     logs = log_exporter.get_finished_logs() | ||||
|     assert len(logs) == 4 | ||||
|     assert_message_in_logs( | ||||
|         logs[0], "gen_ai.system.message", {"content": system_content}, span | ||||
|     ) | ||||
|     user_message, assistant_message, last_user_message = messages | ||||
|     user_content = filter_message_keys(user_message, ["content"]) | ||||
|     assert_message_in_logs(logs[1], "gen_ai.user.message", user_content, span) | ||||
|     assistant_content = filter_message_keys(assistant_message, ["content"]) | ||||
|     assert_message_in_logs( | ||||
|         logs[2], "gen_ai.assistant.message", assistant_content, span | ||||
|     ) | ||||
|     last_user_content = filter_message_keys(last_user_message, ["content"]) | ||||
|     assert_message_in_logs( | ||||
|         logs[3], "gen_ai.user.message", last_user_content, span | ||||
|     ) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.skipif( | ||||
|     BOTO3_VERSION < (1, 35, 56), reason="Converse API not available" | ||||
| ) | ||||
| @pytest.mark.vcr() | ||||
| def test_converse_no_content_different_events( | ||||
|     span_exporter, | ||||
|     log_exporter, | ||||
|     bedrock_runtime_client, | ||||
|     instrument_no_content, | ||||
| ): | ||||
|     messages = anthropic_claude_converse_messages() | ||||
|     llm_model_value = "anthropic.claude-v2" | ||||
|     system_content = anthropic_claude_converse_system() | ||||
|     response = bedrock_runtime_client.converse( | ||||
|         system=system_content, | ||||
|         messages=messages, | ||||
|         modelId=llm_model_value, | ||||
|     ) | ||||
| 
 | ||||
|     (span,) = span_exporter.get_finished_spans() | ||||
|     assert_converse_completion_attributes( | ||||
|         span, | ||||
|         llm_model_value, | ||||
|         response, | ||||
|         "chat", | ||||
|     ) | ||||
| 
 | ||||
|     logs = log_exporter.get_finished_logs() | ||||
|     assert len(logs) == 4 | ||||
|     assert_message_in_logs(logs[0], "gen_ai.system.message", None, span) | ||||
|     assert_message_in_logs(logs[1], "gen_ai.user.message", None, span) | ||||
|     assert_message_in_logs(logs[2], "gen_ai.assistant.message", None, span) | ||||
|     assert_message_in_logs(logs[3], "gen_ai.user.message", None, span) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.skipif( | ||||
|     BOTO3_VERSION < (1, 35, 56), reason="Converse API not available" | ||||
| ) | ||||
|  | @ -225,6 +308,58 @@ def test_converse_stream_with_content( | |||
|     assert_message_in_logs(logs[0], "gen_ai.user.message", user_content, span) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.skipif( | ||||
|     BOTO3_VERSION < (1, 35, 56), reason="ConverseStream API not available" | ||||
| ) | ||||
| @pytest.mark.vcr() | ||||
| def test_converse_stream_with_content_different_events( | ||||
|     span_exporter, | ||||
|     log_exporter, | ||||
|     bedrock_runtime_client, | ||||
|     instrument_with_content, | ||||
| ): | ||||
|     # pylint:disable=too-many-locals | ||||
|     messages = anthropic_claude_converse_messages() | ||||
|     llm_model_value = "anthropic.claude-v2" | ||||
|     system_content = anthropic_claude_converse_system() | ||||
|     response = bedrock_runtime_client.converse_stream( | ||||
|         system=system_content, | ||||
|         messages=messages, | ||||
|         modelId=llm_model_value, | ||||
|     ) | ||||
| 
 | ||||
|     # consume the stream in order to have it traced | ||||
|     for _ in response["stream"]: | ||||
|         pass | ||||
| 
 | ||||
|     (span,) = span_exporter.get_finished_spans() | ||||
|     assert_stream_completion_attributes( | ||||
|         span, | ||||
|         llm_model_value, | ||||
|         input_tokens=mock.ANY, | ||||
|         output_tokens=mock.ANY, | ||||
|         finish_reason=("end_turn",), | ||||
|         operation_name="chat", | ||||
|     ) | ||||
| 
 | ||||
|     logs = log_exporter.get_finished_logs() | ||||
|     assert len(logs) == 4 | ||||
|     assert_message_in_logs( | ||||
|         logs[0], "gen_ai.system.message", {"content": system_content}, span | ||||
|     ) | ||||
|     user_message, assistant_message, last_user_message = messages | ||||
|     user_content = filter_message_keys(user_message, ["content"]) | ||||
|     assert_message_in_logs(logs[1], "gen_ai.user.message", user_content, span) | ||||
|     assistant_content = filter_message_keys(assistant_message, ["content"]) | ||||
|     assert_message_in_logs( | ||||
|         logs[2], "gen_ai.assistant.message", assistant_content, span | ||||
|     ) | ||||
|     last_user_content = filter_message_keys(last_user_message, ["content"]) | ||||
|     assert_message_in_logs( | ||||
|         logs[3], "gen_ai.user.message", last_user_content, span | ||||
|     ) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.skipif( | ||||
|     BOTO3_VERSION < (1, 35, 56), reason="ConverseStream API not available" | ||||
| ) | ||||
|  | @ -289,6 +424,47 @@ def test_converse_stream_no_content( | |||
|     assert_message_in_logs(logs[0], "gen_ai.user.message", None, span) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.skipif( | ||||
|     BOTO3_VERSION < (1, 35, 56), reason="ConverseStream API not available" | ||||
| ) | ||||
| @pytest.mark.vcr() | ||||
| def test_converse_stream_no_content_different_events( | ||||
|     span_exporter, | ||||
|     log_exporter, | ||||
|     bedrock_runtime_client, | ||||
|     instrument_no_content, | ||||
| ): | ||||
|     messages = anthropic_claude_converse_messages() | ||||
|     llm_model_value = "anthropic.claude-v2" | ||||
|     system_content = anthropic_claude_converse_system() | ||||
|     response = bedrock_runtime_client.converse_stream( | ||||
|         system=system_content, | ||||
|         messages=messages, | ||||
|         modelId=llm_model_value, | ||||
|     ) | ||||
| 
 | ||||
|     # consume the stream in order to have it traced | ||||
|     for _ in response["stream"]: | ||||
|         pass | ||||
| 
 | ||||
|     (span,) = span_exporter.get_finished_spans() | ||||
|     assert_stream_completion_attributes( | ||||
|         span, | ||||
|         llm_model_value, | ||||
|         input_tokens=mock.ANY, | ||||
|         output_tokens=mock.ANY, | ||||
|         finish_reason=("end_turn",), | ||||
|         operation_name="chat", | ||||
|     ) | ||||
| 
 | ||||
|     logs = log_exporter.get_finished_logs() | ||||
|     assert len(logs) == 4 | ||||
|     assert_message_in_logs(logs[0], "gen_ai.system.message", None, span) | ||||
|     assert_message_in_logs(logs[1], "gen_ai.user.message", None, span) | ||||
|     assert_message_in_logs(logs[2], "gen_ai.assistant.message", None, span) | ||||
|     assert_message_in_logs(logs[3], "gen_ai.user.message", None, span) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.skipif( | ||||
|     BOTO3_VERSION < (1, 35, 56), reason="ConverseStream API not available" | ||||
| ) | ||||
|  | @ -391,6 +567,8 @@ def get_invoke_model_body( | |||
|     temperature=None, | ||||
|     top_p=None, | ||||
|     stop_sequences=None, | ||||
|     system=None, | ||||
|     messages=None, | ||||
| ): | ||||
|     def set_if_not_none(config, key, value): | ||||
|         if value is not None: | ||||
|  | @ -404,10 +582,14 @@ def get_invoke_model_body( | |||
|         set_if_not_none(config, "topP", top_p) | ||||
|         set_if_not_none(config, "stopSequences", stop_sequences) | ||||
|         body = { | ||||
|             "messages": [{"role": "user", "content": [{"text": prompt}]}], | ||||
|             "messages": messages | ||||
|             if messages | ||||
|             else [{"role": "user", "content": [{"text": prompt}]}], | ||||
|             "inferenceConfig": config, | ||||
|             "schemaVersion": "messages-v1", | ||||
|         } | ||||
|         if system: | ||||
|             body["system"] = system | ||||
|     elif llm_model == "amazon.titan-text-lite-v1": | ||||
|         config = {} | ||||
|         set_if_not_none(config, "maxTokenCount", max_tokens) | ||||
|  | @ -417,11 +599,15 @@ def get_invoke_model_body( | |||
|         body = {"inputText": prompt, "textGenerationConfig": config} | ||||
|     elif llm_model == "anthropic.claude-v2": | ||||
|         body = { | ||||
|             "messages": [ | ||||
|             "messages": messages | ||||
|             if messages | ||||
|             else [ | ||||
|                 {"role": "user", "content": [{"text": prompt, "type": "text"}]} | ||||
|             ], | ||||
|             "anthropic_version": "bedrock-2023-05-31", | ||||
|         } | ||||
|         if system: | ||||
|             body["system"] = system | ||||
|         set_if_not_none(body, "max_tokens", max_tokens) | ||||
|         set_if_not_none(body, "temperature", temperature) | ||||
|         set_if_not_none(body, "top_p", top_p) | ||||
|  | @ -486,6 +672,69 @@ def test_invoke_model_with_content( | |||
|     assert_message_in_logs(logs[0], "gen_ai.user.message", user_content, span) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.parametrize( | ||||
|     "model_family", | ||||
|     ["amazon.nova", "anthropic.claude"], | ||||
| ) | ||||
| @pytest.mark.vcr() | ||||
| def test_invoke_model_with_content_different_events( | ||||
|     span_exporter, | ||||
|     log_exporter, | ||||
|     bedrock_runtime_client, | ||||
|     instrument_with_content, | ||||
|     model_family, | ||||
| ): | ||||
|     # pylint:disable=too-many-locals | ||||
|     llm_model_value = get_model_name_from_family(model_family) | ||||
|     max_tokens = 10 | ||||
|     if llm_model_value == "amazon.nova-micro-v1:0": | ||||
|         messages = amazon_nova_messages() | ||||
|         system = amazon_nova_system() | ||||
|     elif llm_model_value == "anthropic.claude-v2": | ||||
|         messages = anthropic_claude_messages() | ||||
|         system = anthropic_claude_system() | ||||
| 
 | ||||
|     body = get_invoke_model_body( | ||||
|         llm_model_value, | ||||
|         system=system, | ||||
|         messages=messages, | ||||
|         max_tokens=max_tokens, | ||||
|     ) | ||||
|     response = bedrock_runtime_client.invoke_model( | ||||
|         body=body, | ||||
|         modelId=llm_model_value, | ||||
|     ) | ||||
| 
 | ||||
|     (span,) = span_exporter.get_finished_spans() | ||||
|     assert_completion_attributes_from_streaming_body( | ||||
|         span, | ||||
|         llm_model_value, | ||||
|         response, | ||||
|         "chat", | ||||
|         request_max_tokens=max_tokens, | ||||
|     ) | ||||
| 
 | ||||
|     logs = log_exporter.get_finished_logs() | ||||
|     assert len(logs) == 4 | ||||
|     assert_message_in_logs( | ||||
|         logs[0], | ||||
|         "gen_ai.system.message", | ||||
|         {"content": [{"text": "You are a friendly model"}]}, | ||||
|         span, | ||||
|     ) | ||||
|     user_message, assistant_message, last_user_message = messages | ||||
|     user_content = filter_message_keys(user_message, ["content"]) | ||||
|     assert_message_in_logs(logs[1], "gen_ai.user.message", user_content, span) | ||||
|     assistant_content = filter_message_keys(assistant_message, ["content"]) | ||||
|     assert_message_in_logs( | ||||
|         logs[2], "gen_ai.assistant.message", assistant_content, span | ||||
|     ) | ||||
|     last_user_content = filter_message_keys(last_user_message, ["content"]) | ||||
|     assert_message_in_logs( | ||||
|         logs[3], "gen_ai.user.message", last_user_content, span | ||||
|     ) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.parametrize( | ||||
|     "model_family", | ||||
|     ["amazon.nova", "amazon.titan", "anthropic.claude"], | ||||
|  | @ -525,6 +774,55 @@ def test_invoke_model_no_content( | |||
|     assert_message_in_logs(logs[0], "gen_ai.user.message", None, span) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.parametrize( | ||||
|     "model_family", | ||||
|     ["amazon.nova", "anthropic.claude"], | ||||
| ) | ||||
| @pytest.mark.vcr() | ||||
| def test_invoke_model_no_content_different_events( | ||||
|     span_exporter, | ||||
|     log_exporter, | ||||
|     bedrock_runtime_client, | ||||
|     instrument_no_content, | ||||
|     model_family, | ||||
| ): | ||||
|     llm_model_value = get_model_name_from_family(model_family) | ||||
|     max_tokens = 10 | ||||
|     if llm_model_value == "amazon.nova-micro-v1:0": | ||||
|         messages = amazon_nova_messages() | ||||
|         system = amazon_nova_system() | ||||
|     elif llm_model_value == "anthropic.claude-v2": | ||||
|         messages = anthropic_claude_messages() | ||||
|         system = anthropic_claude_system() | ||||
| 
 | ||||
|     body = get_invoke_model_body( | ||||
|         llm_model_value, | ||||
|         max_tokens=max_tokens, | ||||
|         system=system, | ||||
|         messages=messages, | ||||
|     ) | ||||
|     response = bedrock_runtime_client.invoke_model( | ||||
|         body=body, | ||||
|         modelId=llm_model_value, | ||||
|     ) | ||||
| 
 | ||||
|     (span,) = span_exporter.get_finished_spans() | ||||
|     assert_completion_attributes_from_streaming_body( | ||||
|         span, | ||||
|         llm_model_value, | ||||
|         response, | ||||
|         "chat", | ||||
|         request_max_tokens=max_tokens, | ||||
|     ) | ||||
| 
 | ||||
|     logs = log_exporter.get_finished_logs() | ||||
|     assert len(logs) == 4 | ||||
|     assert_message_in_logs(logs[0], "gen_ai.system.message", None, span) | ||||
|     assert_message_in_logs(logs[1], "gen_ai.user.message", None, span) | ||||
|     assert_message_in_logs(logs[2], "gen_ai.assistant.message", None, span) | ||||
|     assert_message_in_logs(logs[3], "gen_ai.user.message", None, span) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.vcr() | ||||
| def test_invoke_model_with_invalid_model( | ||||
|     span_exporter, | ||||
|  | @ -647,6 +945,221 @@ def test_invoke_model_with_response_stream_with_content( | |||
|     assert_message_in_logs(logs[0], "gen_ai.user.message", user_content, span) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.parametrize( | ||||
|     "model_family", | ||||
|     ["amazon.nova", "anthropic.claude"], | ||||
| ) | ||||
| @pytest.mark.vcr() | ||||
| def test_invoke_model_with_response_stream_with_content_different_events( | ||||
|     span_exporter, | ||||
|     log_exporter, | ||||
|     bedrock_runtime_client, | ||||
|     instrument_with_content, | ||||
|     model_family, | ||||
| ): | ||||
|     # pylint:disable=too-many-locals | ||||
|     llm_model_value = get_model_name_from_family(model_family) | ||||
|     if llm_model_value == "amazon.nova-micro-v1:0": | ||||
|         messages = amazon_nova_messages() | ||||
|         system = amazon_nova_system() | ||||
|         finish_reason = "max_tokens" | ||||
|     elif llm_model_value == "anthropic.claude-v2": | ||||
|         messages = anthropic_claude_messages() | ||||
|         system = anthropic_claude_system() | ||||
|         finish_reason = "end_turn" | ||||
| 
 | ||||
|     max_tokens = 10 | ||||
|     body = get_invoke_model_body( | ||||
|         llm_model_value, | ||||
|         system=system, | ||||
|         messages=messages, | ||||
|         max_tokens=max_tokens, | ||||
|     ) | ||||
|     response = bedrock_runtime_client.invoke_model_with_response_stream( | ||||
|         body=body, | ||||
|         modelId=llm_model_value, | ||||
|     ) | ||||
| 
 | ||||
|     # consume the stream in order to have it traced | ||||
|     for _ in response["body"]: | ||||
|         pass | ||||
| 
 | ||||
|     (span,) = span_exporter.get_finished_spans() | ||||
|     assert_stream_completion_attributes( | ||||
|         span, | ||||
|         llm_model_value, | ||||
|         input_tokens=mock.ANY, | ||||
|         output_tokens=mock.ANY, | ||||
|         request_max_tokens=max_tokens, | ||||
|         finish_reason=(finish_reason,), | ||||
|         operation_name="chat", | ||||
|     ) | ||||
| 
 | ||||
|     logs = log_exporter.get_finished_logs() | ||||
|     assert len(logs) == 4 | ||||
|     assert_message_in_logs( | ||||
|         logs[0], | ||||
|         "gen_ai.system.message", | ||||
|         {"content": [{"text": "You are a friendly model"}]}, | ||||
|         span, | ||||
|     ) | ||||
|     user_message, assistant_message, last_user_message = messages | ||||
|     user_content = filter_message_keys(user_message, ["content"]) | ||||
|     assert_message_in_logs(logs[1], "gen_ai.user.message", user_content, span) | ||||
|     assistant_content = filter_message_keys(assistant_message, ["content"]) | ||||
|     assert_message_in_logs( | ||||
|         logs[2], "gen_ai.assistant.message", assistant_content, span | ||||
|     ) | ||||
|     last_user_content = filter_message_keys(last_user_message, ["content"]) | ||||
|     assert_message_in_logs( | ||||
|         logs[3], "gen_ai.user.message", last_user_content, span | ||||
|     ) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.parametrize( | ||||
|     "model_family", | ||||
|     ["amazon.nova", "amazon.titan", "anthropic.claude"], | ||||
| ) | ||||
| @pytest.mark.vcr() | ||||
| def test_invoke_model_with_response_stream_no_content( | ||||
|     span_exporter, | ||||
|     log_exporter, | ||||
|     bedrock_runtime_client, | ||||
|     instrument_no_content, | ||||
|     model_family, | ||||
| ): | ||||
|     # pylint:disable=too-many-locals,too-many-branches | ||||
|     llm_model_value = get_model_name_from_family(model_family) | ||||
|     max_tokens, temperature, top_p, stop_sequences = 10, 0.8, 1, ["|"] | ||||
|     body = get_invoke_model_body( | ||||
|         llm_model_value, max_tokens, temperature, top_p, stop_sequences | ||||
|     ) | ||||
|     response = bedrock_runtime_client.invoke_model_with_response_stream( | ||||
|         body=body, | ||||
|         modelId=llm_model_value, | ||||
|     ) | ||||
| 
 | ||||
|     # consume the stream in order to have it traced | ||||
|     finish_reason = None | ||||
|     input_tokens, output_tokens = None, None | ||||
|     text = "" | ||||
|     for event in response["body"]: | ||||
|         json_bytes = event["chunk"].get("bytes", b"") | ||||
|         decoded = json_bytes.decode("utf-8") | ||||
|         chunk = json.loads(decoded) | ||||
| 
 | ||||
|         # amazon.titan | ||||
|         if (stop_reason := chunk.get("completionReason")) is not None: | ||||
|             finish_reason = stop_reason | ||||
| 
 | ||||
|         if (output_text := chunk.get("outputText")) is not None: | ||||
|             text += output_text | ||||
| 
 | ||||
|         # amazon.titan, anthropic.claude | ||||
|         if invocation_metrics := chunk.get("amazon-bedrock-invocationMetrics"): | ||||
|             input_tokens = invocation_metrics["inputTokenCount"] | ||||
|             output_tokens = invocation_metrics["outputTokenCount"] | ||||
| 
 | ||||
|         # anthropic.claude | ||||
|         if (message_type := chunk.get("type")) is not None: | ||||
|             if message_type == "content_block_start": | ||||
|                 text += chunk["content_block"]["text"] | ||||
|             elif message_type == "content_block_delta": | ||||
|                 text += chunk["delta"]["text"] | ||||
|             elif message_type == "message_delta": | ||||
|                 finish_reason = chunk["delta"]["stop_reason"] | ||||
| 
 | ||||
|         # amazon nova | ||||
|         if "contentBlockDelta" in chunk: | ||||
|             text += chunk["contentBlockDelta"]["delta"]["text"] | ||||
|         if "messageStop" in chunk: | ||||
|             finish_reason = chunk["messageStop"]["stopReason"] | ||||
|         if "metadata" in chunk: | ||||
|             usage = chunk["metadata"]["usage"] | ||||
|             input_tokens = usage["inputTokens"] | ||||
|             output_tokens = usage["outputTokens"] | ||||
| 
 | ||||
|     assert text | ||||
|     assert finish_reason | ||||
|     assert input_tokens | ||||
|     assert output_tokens | ||||
| 
 | ||||
|     (span,) = span_exporter.get_finished_spans() | ||||
|     assert_stream_completion_attributes( | ||||
|         span, | ||||
|         llm_model_value, | ||||
|         input_tokens, | ||||
|         output_tokens, | ||||
|         (finish_reason,), | ||||
|         "text_completion" if model_family == "amazon.titan" else "chat", | ||||
|         top_p, | ||||
|         temperature, | ||||
|         max_tokens, | ||||
|         stop_sequences, | ||||
|     ) | ||||
| 
 | ||||
|     logs = log_exporter.get_finished_logs() | ||||
|     assert len(logs) == 1 | ||||
|     assert_message_in_logs(logs[0], "gen_ai.user.message", None, span) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.parametrize( | ||||
|     "model_family", | ||||
|     ["amazon.nova", "anthropic.claude"], | ||||
| ) | ||||
| @pytest.mark.vcr() | ||||
| def test_invoke_model_with_response_stream_no_content_different_events( | ||||
|     span_exporter, | ||||
|     log_exporter, | ||||
|     bedrock_runtime_client, | ||||
|     instrument_no_content, | ||||
|     model_family, | ||||
| ): | ||||
|     llm_model_value = get_model_name_from_family(model_family) | ||||
|     if llm_model_value == "amazon.nova-micro-v1:0": | ||||
|         messages = amazon_nova_messages() | ||||
|         system = amazon_nova_system() | ||||
|         finish_reason = "max_tokens" | ||||
|     elif llm_model_value == "anthropic.claude-v2": | ||||
|         messages = anthropic_claude_messages() | ||||
|         system = anthropic_claude_system() | ||||
|         finish_reason = "end_turn" | ||||
| 
 | ||||
|     max_tokens = 10 | ||||
|     body = get_invoke_model_body( | ||||
|         llm_model_value, | ||||
|         system=system, | ||||
|         messages=messages, | ||||
|         max_tokens=max_tokens, | ||||
|     ) | ||||
|     response = bedrock_runtime_client.invoke_model_with_response_stream( | ||||
|         body=body, | ||||
|         modelId=llm_model_value, | ||||
|     ) | ||||
| 
 | ||||
|     # consume the stream in order to have it traced | ||||
|     for _ in response["body"]: | ||||
|         pass | ||||
| 
 | ||||
|     (span,) = span_exporter.get_finished_spans() | ||||
|     assert_stream_completion_attributes( | ||||
|         span, | ||||
|         llm_model_value, | ||||
|         input_tokens=mock.ANY, | ||||
|         output_tokens=mock.ANY, | ||||
|         request_max_tokens=max_tokens, | ||||
|         finish_reason=(finish_reason,), | ||||
|         operation_name="chat", | ||||
|     ) | ||||
| 
 | ||||
|     logs = log_exporter.get_finished_logs() | ||||
|     assert len(logs) == 4 | ||||
|     assert_message_in_logs(logs[0], "gen_ai.system.message", None, span) | ||||
|     assert_message_in_logs(logs[1], "gen_ai.user.message", None, span) | ||||
|     assert_message_in_logs(logs[2], "gen_ai.assistant.message", None, span) | ||||
|     assert_message_in_logs(logs[3], "gen_ai.user.message", None, span) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.vcr() | ||||
| def test_invoke_model_with_response_stream_handles_stream_error( | ||||
|     span_exporter, | ||||
|  | @ -672,7 +1185,7 @@ def test_invoke_model_with_response_stream_handles_stream_error( | |||
|         EventStream, | ||||
|         "_parse_event", | ||||
|         side_effect=EventStreamError( | ||||
|             {"modelStreamErrorException": {}}, "InvokeModelWithRespnseStream" | ||||
|             {"modelStreamErrorException": {}}, "InvokeModelWithResponseStream" | ||||
|         ), | ||||
|     ): | ||||
|         with pytest.raises(EventStreamError): | ||||
|  | @ -726,3 +1239,49 @@ def test_invoke_model_with_response_stream_invalid_model( | |||
| 
 | ||||
|     logs = log_exporter.get_finished_logs() | ||||
|     assert len(logs) == 0 | ||||
| 
 | ||||
| 
 | ||||
| def amazon_nova_messages(): | ||||
|     return [ | ||||
|         {"role": "user", "content": [{"text": "Say this is a test"}]}, | ||||
|         {"role": "assistant", "content": [{"text": "This is a test"}]}, | ||||
|         { | ||||
|             "role": "user", | ||||
|             "content": [{"text": "Say again this is a test"}], | ||||
|         }, | ||||
|     ] | ||||
| 
 | ||||
| 
 | ||||
| def amazon_nova_system(): | ||||
|     return [ | ||||
|         {"text": "You are a friendly model"}, | ||||
|     ] | ||||
| 
 | ||||
| 
 | ||||
| def anthropic_claude_converse_messages(): | ||||
|     return amazon_nova_messages() | ||||
| 
 | ||||
| 
 | ||||
| def anthropic_claude_converse_system(): | ||||
|     return amazon_nova_system() | ||||
| 
 | ||||
| 
 | ||||
| def anthropic_claude_messages(): | ||||
|     return [ | ||||
|         { | ||||
|             "role": "user", | ||||
|             "content": [{"text": "Say this is a test", "type": "text"}], | ||||
|         }, | ||||
|         { | ||||
|             "role": "assistant", | ||||
|             "content": [{"text": "This is a test", "type": "text"}], | ||||
|         }, | ||||
|         { | ||||
|             "role": "user", | ||||
|             "content": [{"text": "Say again this is a test", "type": "text"}], | ||||
|         }, | ||||
|     ] | ||||
| 
 | ||||
| 
 | ||||
| def anthropic_claude_system(): | ||||
|     return "You are a friendly model" | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue