mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 19:24:27 +00:00
fixing claude exception-mapping + set key bug
This commit is contained in:
parent
31c7e0a4a9
commit
2bee550a69
6 changed files with 24 additions and 9 deletions
Binary file not shown.
Binary file not shown.
|
@ -164,7 +164,6 @@ def completion(
|
||||||
os.environ["REPLICATE_API_TOKEN"] = api_key
|
os.environ["REPLICATE_API_TOKEN"] = api_key
|
||||||
elif litellm.replicate_key:
|
elif litellm.replicate_key:
|
||||||
os.environ["REPLICATE_API_TOKEN"] = litellm.replicate_key
|
os.environ["REPLICATE_API_TOKEN"] = litellm.replicate_key
|
||||||
|
|
||||||
prompt = " ".join([message["content"] for message in messages])
|
prompt = " ".join([message["content"] for message in messages])
|
||||||
input = {"prompt": prompt}
|
input = {"prompt": prompt}
|
||||||
if max_tokens != float('inf'):
|
if max_tokens != float('inf'):
|
||||||
|
@ -199,7 +198,7 @@ def completion(
|
||||||
if api_key:
|
if api_key:
|
||||||
os.environ["ANTHROPIC_API_KEY"] = api_key
|
os.environ["ANTHROPIC_API_KEY"] = api_key
|
||||||
elif litellm.anthropic_key:
|
elif litellm.anthropic_key:
|
||||||
os.environ["ANTHROPIC_API_TOKEN"] = litellm.anthropic_key
|
os.environ["ANTHROPIC_API_KEY"] = litellm.anthropic_key
|
||||||
prompt = f"{HUMAN_PROMPT}"
|
prompt = f"{HUMAN_PROMPT}"
|
||||||
for message in messages:
|
for message in messages:
|
||||||
if "role" in message:
|
if "role" in message:
|
||||||
|
|
|
@ -15,14 +15,27 @@ def logger_fn(model_call_object: dict):
|
||||||
user_message = "Hello, how are you?"
|
user_message = "Hello, how are you?"
|
||||||
messages = [{ "content": user_message,"role": "user"}]
|
messages = [{ "content": user_message,"role": "user"}]
|
||||||
|
|
||||||
print(os.environ)
|
## Test 1: Setting key dynamically
|
||||||
temp_key = os.environ.get("OPENAI_API_KEY")
|
temp_key = os.environ.get("ANTHROPIC_API_KEY")
|
||||||
os.environ["OPENAI_API_KEY"] = "bad-key"
|
os.environ["ANTHROPIC_API_KEY"] = "bad-key"
|
||||||
# test on openai completion call
|
# test on openai completion call
|
||||||
try:
|
try:
|
||||||
response = completion(model="gpt-3.5-turbo", messages=messages, logger_fn=logger_fn, api_key=temp_key)
|
response = completion(model="claude-instant-1", messages=messages, logger_fn=logger_fn, api_key=temp_key)
|
||||||
print(f"response: {response}")
|
print(f"response: {response}")
|
||||||
except:
|
except:
|
||||||
print(f"error occurred: {traceback.format_exc()}")
|
print(f"error occurred: {traceback.format_exc()}")
|
||||||
pass
|
pass
|
||||||
os.environ["OPENAI_API_KEY"] = temp_key
|
os.environ["ANTHROPIC_API_KEY"] = temp_key
|
||||||
|
|
||||||
|
|
||||||
|
## Test 2: Setting key via __init__ params
|
||||||
|
litellm.anthropic_key = os.environ.get("ANTHROPIC_API_KEY")
|
||||||
|
os.environ.pop("ANTHROPIC_API_KEY")
|
||||||
|
# test on openai completion call
|
||||||
|
try:
|
||||||
|
response = completion(model="claude-instant-1", messages=messages, logger_fn=logger_fn)
|
||||||
|
print(f"response: {response}")
|
||||||
|
except:
|
||||||
|
print(f"error occurred: {traceback.format_exc()}")
|
||||||
|
pass
|
||||||
|
os.environ["ANTHROPIC_API_KEY"] = temp_key
|
||||||
|
|
|
@ -417,7 +417,7 @@ def exception_type(model, original_exception):
|
||||||
exception_type = ""
|
exception_type = ""
|
||||||
logging(model=model, additional_args={"error_str": error_str, "exception_type": exception_type, "original_exception": original_exception}, logger_fn=user_logger_fn)
|
logging(model=model, additional_args={"error_str": error_str, "exception_type": exception_type, "original_exception": original_exception}, logger_fn=user_logger_fn)
|
||||||
if "claude" in model: #one of the anthropics
|
if "claude" in model: #one of the anthropics
|
||||||
if "status_code" in original_exception:
|
if hasattr(original_exception, "status_code"):
|
||||||
print_verbose(f"status_code: {original_exception.status_code}")
|
print_verbose(f"status_code: {original_exception.status_code}")
|
||||||
if original_exception.status_code == 401:
|
if original_exception.status_code == 401:
|
||||||
exception_mapping_worked = True
|
exception_mapping_worked = True
|
||||||
|
@ -428,6 +428,9 @@ def exception_type(model, original_exception):
|
||||||
elif original_exception.status_code == 429:
|
elif original_exception.status_code == 429:
|
||||||
exception_mapping_worked = True
|
exception_mapping_worked = True
|
||||||
raise RateLimitError(f"AnthropicException - {original_exception.message}")
|
raise RateLimitError(f"AnthropicException - {original_exception.message}")
|
||||||
|
elif "Could not resolve authentication method. Expected either api_key or auth_token to be set." in error_str:
|
||||||
|
exception_mapping_worked = True
|
||||||
|
raise AuthenticationError(f"AnthropicException - {error_str}")
|
||||||
elif "replicate" in model:
|
elif "replicate" in model:
|
||||||
if "Incorrect authentication token" in error_str:
|
if "Incorrect authentication token" in error_str:
|
||||||
exception_mapping_worked = True
|
exception_mapping_worked = True
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "litellm"
|
name = "litellm"
|
||||||
version = "0.1.353"
|
version = "0.1.354"
|
||||||
description = "Library to easily interface with LLM API providers"
|
description = "Library to easily interface with LLM API providers"
|
||||||
authors = ["BerriAI"]
|
authors = ["BerriAI"]
|
||||||
license = "MIT License"
|
license = "MIT License"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue