forked from phoenix/litellm-mirror
* use 1 file for AnthropicPassthroughLoggingHandler * add support for anthropic streaming usage tracking * ci/cd run again * fix - add real streaming for anthropic pass through * remove unused function stream_response * working anthropic streaming logging * fix code quality * fix use 1 file for vertex success handler * use helper for _handle_logging_vertex_collected_chunks * enforce vertex streaming to use sse for streaming * test test_basic_vertex_ai_pass_through_streaming_with_spendlog * fix type hints * add comment * fix linting * add pass through logging unit testing
39 lines
1 KiB
Python
39 lines
1 KiB
Python
"""
|
|
This test ensures that the proxy can passthrough anthropic requests
|
|
|
|
"""
|
|
|
|
import pytest
|
|
import anthropic
|
|
|
|
client = anthropic.Anthropic(
|
|
base_url="http://0.0.0.0:4000/anthropic", api_key="sk-1234"
|
|
)
|
|
|
|
|
|
def test_anthropic_basic_completion():
|
|
print("making basic completion request to anthropic passthrough")
|
|
response = client.messages.create(
|
|
model="claude-3-5-sonnet-20241022",
|
|
max_tokens=1024,
|
|
messages=[{"role": "user", "content": "Say 'hello test' and nothing else"}],
|
|
)
|
|
print(response)
|
|
|
|
|
|
def test_anthropic_streaming():
|
|
print("making streaming request to anthropic passthrough")
|
|
collected_output = []
|
|
|
|
with client.messages.stream(
|
|
max_tokens=10,
|
|
messages=[
|
|
{"role": "user", "content": "Say 'hello stream test' and nothing else"}
|
|
],
|
|
model="claude-3-5-sonnet-20241022",
|
|
) as stream:
|
|
for text in stream.text_stream:
|
|
collected_output.append(text)
|
|
|
|
full_response = "".join(collected_output)
|
|
print(full_response)
|