Skip to content

Commit

Permalink
test: record test for anthropic stream
Browse files Browse the repository at this point in the history
  • Loading branch information
samuelrince committed Apr 10, 2024
1 parent 0665061 commit 8400285
Show file tree
Hide file tree
Showing 2 changed files with 224 additions and 4 deletions.
219 changes: 219 additions & 0 deletions tests/cassettes/test_anthropic/test_anthropic_stream_chat.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,219 @@
interactions:
- request:
body: '{"max_tokens": 100, "messages": [{"role": "user", "content": "Hello World!"}],
"model": "claude-3-haiku-20240307", "stream": true}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
anthropic-version:
- '2023-06-01'
connection:
- keep-alive
content-length:
- '130'
content-type:
- application/json
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.18.1
x-stainless-arch:
- x64
x-stainless-async:
- 'false'
x-stainless-custom-event-handler:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.18.1
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.9.18
x-stainless-stream-helper:
- messages
method: POST
uri: https://api.anthropic.com/v1/messages
response:
body:
string: 'event: message_start
data: {"type":"message_start","message":{"id":"msg_018kQVU9yEuGyZgQCbUy286U","type":"message","role":"assistant","content":[],"model":"claude-3-haiku-20240307","stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":10,"output_tokens":1}} }
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} }
event: ping
data: {"type": "ping"}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Hello"}
}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"!"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"
I"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"''m"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"
an"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"
AI"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"
assistant"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"
created"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"
by"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"
Anthrop"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"ic"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"."} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"
It"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"''s"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"
nice"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"
to"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"
meet"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"
you"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"."} }
event: content_block_stop
data: {"type":"content_block_stop","index":0 }
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"output_tokens":23} }
event: message_stop
data: {"type":"message_stop" }
'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 8722b7ccce5d0471-CDG
Cache-Control:
- no-cache
Connection:
- keep-alive
Content-Type:
- text/event-stream; charset=utf-8
Date:
- Wed, 10 Apr 2024 12:25:10 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
anthropic-ratelimit-requests-limit:
- '5'
anthropic-ratelimit-requests-remaining:
- '4'
anthropic-ratelimit-requests-reset:
- '2024-04-10T12:26:00Z'
anthropic-ratelimit-tokens-limit:
- '25000'
anthropic-ratelimit-tokens-remaining:
- '25000'
anthropic-ratelimit-tokens-reset:
- '2024-04-10T12:26:00Z'
request-id:
- req_0132wdJjsUTFg6svV4aLRf49
via:
- 1.1 google
status:
code: 200
message: OK
version: 1
9 changes: 5 additions & 4 deletions tests/test_anthropic.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,19 @@ async def test_anthropic_async_chat(tracer_init):
assert response.impacts.energy > 0


@pytest.mark.skip
@pytest.mark.vcr
def test_anthropic_stream_chat(tracer_init):
client = Anthropic()

text_response = ''
with client.messages.stream(
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
max_tokens=100,
messages=[{"role": "user", "content": "Hello World!"}],
model="claude-3-haiku-20240307",
) as stream:
text_response = ''
for text in stream.text_stream:
text_response += text
assert stream.impacts.energy >= 0

assert len(text_response) > 0

0 comments on commit 8400285

Please sign in to comment.