forked from phoenix/litellm-mirror
(feat) claude-3 test fixes
This commit is contained in:
parent
25bbb73ce3
commit
d179ae376e
3 changed files with 21 additions and 5 deletions
|
@ -4,7 +4,6 @@ LiteLLM supports
|
||||||
- `claude-3` (`claude-3-opus-20240229`, `claude-3-sonnet-20240229`)
|
- `claude-3` (`claude-3-opus-20240229`, `claude-3-sonnet-20240229`)
|
||||||
- `claude-2`
|
- `claude-2`
|
||||||
- `claude-2.1`
|
- `claude-2.1`
|
||||||
- `claude-instant-1`
|
|
||||||
- `claude-instant-1.2`
|
- `claude-instant-1.2`
|
||||||
|
|
||||||
## API Keys
|
## API Keys
|
||||||
|
@ -56,7 +55,6 @@ for chunk in response:
|
||||||
| claude-3-sonnet | `completion('claude-3-sonnet-20240229', messages)` | `os.environ['ANTHROPIC_API_KEY']` |
|
| claude-3-sonnet | `completion('claude-3-sonnet-20240229', messages)` | `os.environ['ANTHROPIC_API_KEY']` |
|
||||||
| claude-2.1 | `completion('claude-2.1', messages)` | `os.environ['ANTHROPIC_API_KEY']` |
|
| claude-2.1 | `completion('claude-2.1', messages)` | `os.environ['ANTHROPIC_API_KEY']` |
|
||||||
| claude-2 | `completion('claude-2', messages)` | `os.environ['ANTHROPIC_API_KEY']` |
|
| claude-2 | `completion('claude-2', messages)` | `os.environ['ANTHROPIC_API_KEY']` |
|
||||||
| claude-instant-1 | `completion('claude-instant-1', messages)` | `os.environ['ANTHROPIC_API_KEY']` |
|
|
||||||
| claude-instant-1.2 | `completion('claude-instant-1.2', messages)` | `os.environ['ANTHROPIC_API_KEY']` |
|
| claude-instant-1.2 | `completion('claude-instant-1.2', messages)` | `os.environ['ANTHROPIC_API_KEY']` |
|
||||||
|
|
||||||
## Advanced
|
## Advanced
|
||||||
|
|
|
@ -121,11 +121,29 @@ def completion(
|
||||||
prompt = prompt_factory(
|
prompt = prompt_factory(
|
||||||
model=model, messages=messages, custom_llm_provider="anthropic"
|
model=model, messages=messages, custom_llm_provider="anthropic"
|
||||||
)
|
)
|
||||||
|
"""
|
||||||
|
format messages for anthropic
|
||||||
|
1. Anthropic supports roles like "user" and "assistant", (here litellm translates system-> assistant)
|
||||||
|
2. The first message always needs to be of role "user"
|
||||||
|
"""
|
||||||
|
# 1. Anthropic only supports roles like "user" and "assistant"
|
||||||
for message in messages:
|
for message in messages:
|
||||||
if message["role"] == "system":
|
if message["role"] == "system":
|
||||||
message["role"] = "assistant"
|
message["role"] = "assistant"
|
||||||
|
|
||||||
|
# 2. The first message always needs to be of role "user"
|
||||||
|
if len(messages) > 0:
|
||||||
|
if messages[0]["role"] != "user":
|
||||||
|
# find the index of the first user message
|
||||||
|
for i, message in enumerate(messages):
|
||||||
|
if message["role"] == "user":
|
||||||
|
break
|
||||||
|
|
||||||
|
# remove the user message at existing position and add it to the front
|
||||||
|
messages.pop(i)
|
||||||
|
# move the first user message to the front
|
||||||
|
messages = [message] + messages
|
||||||
|
|
||||||
## Load Config
|
## Load Config
|
||||||
config = litellm.AnthropicConfig.get_config()
|
config = litellm.AnthropicConfig.get_config()
|
||||||
for k, v in config.items():
|
for k, v in config.items():
|
||||||
|
|
|
@ -56,7 +56,7 @@ def test_completion_custom_provider_model_name():
|
||||||
def test_completion_claude():
|
def test_completion_claude():
|
||||||
litellm.set_verbose = True
|
litellm.set_verbose = True
|
||||||
litellm.cache = None
|
litellm.cache = None
|
||||||
litellm.AnthropicConfig(max_tokens_to_sample=200, metadata={"user_id": "1224"})
|
litellm.AnthropicConfig(max_tokens=200, metadata={"user_id": "1224"})
|
||||||
messages = [
|
messages = [
|
||||||
{
|
{
|
||||||
"role": "system",
|
"role": "system",
|
||||||
|
@ -67,7 +67,7 @@ def test_completion_claude():
|
||||||
try:
|
try:
|
||||||
# test without max tokens
|
# test without max tokens
|
||||||
response = completion(
|
response = completion(
|
||||||
model="claude-instant-1",
|
model="claude-instant-1.2",
|
||||||
messages=messages,
|
messages=messages,
|
||||||
request_timeout=10,
|
request_timeout=10,
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue