forked from phoenix/litellm-mirror
fix - don't require boto3 on the cli
This commit is contained in:
parent
08922041da
commit
5f693971f7
1 changed files with 19 additions and 17 deletions
|
@ -1,27 +1,26 @@
|
||||||
import tempfile
|
|
||||||
|
|
||||||
import boto3
|
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
from litellm._logging import verbose_proxy_logger
|
from litellm._logging import verbose_proxy_logger
|
||||||
|
|
||||||
|
|
||||||
def get_file_contents_from_s3(bucket_name, object_key):
|
def get_file_contents_from_s3(bucket_name, object_key):
|
||||||
# v0 rely on boto3 for authentication - allowing boto3 to handle IAM credentials etc
|
|
||||||
from botocore.config import Config
|
|
||||||
from botocore.credentials import Credentials
|
|
||||||
|
|
||||||
from litellm.main import bedrock_converse_chat_completion
|
|
||||||
|
|
||||||
credentials: Credentials = bedrock_converse_chat_completion.get_credentials()
|
|
||||||
s3_client = boto3.client(
|
|
||||||
"s3",
|
|
||||||
aws_access_key_id=credentials.access_key,
|
|
||||||
aws_secret_access_key=credentials.secret_key,
|
|
||||||
aws_session_token=credentials.token, # Optional, if using temporary credentials
|
|
||||||
)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
# v0 rely on boto3 for authentication - allowing boto3 to handle IAM credentials etc
|
||||||
|
import tempfile
|
||||||
|
|
||||||
|
import boto3
|
||||||
|
from botocore.config import Config
|
||||||
|
from botocore.credentials import Credentials
|
||||||
|
|
||||||
|
from litellm.main import bedrock_converse_chat_completion
|
||||||
|
|
||||||
|
credentials: Credentials = bedrock_converse_chat_completion.get_credentials()
|
||||||
|
s3_client = boto3.client(
|
||||||
|
"s3",
|
||||||
|
aws_access_key_id=credentials.access_key,
|
||||||
|
aws_secret_access_key=credentials.secret_key,
|
||||||
|
aws_session_token=credentials.token, # Optional, if using temporary credentials
|
||||||
|
)
|
||||||
verbose_proxy_logger.debug(
|
verbose_proxy_logger.debug(
|
||||||
f"Retrieving {object_key} from S3 bucket: {bucket_name}"
|
f"Retrieving {object_key} from S3 bucket: {bucket_name}"
|
||||||
)
|
)
|
||||||
|
@ -43,6 +42,9 @@ def get_file_contents_from_s3(bucket_name, object_key):
|
||||||
config = yaml.safe_load(yaml_file)
|
config = yaml.safe_load(yaml_file)
|
||||||
|
|
||||||
return config
|
return config
|
||||||
|
except ImportError:
|
||||||
|
# this is most likely if a user is not using the litellm docker container
|
||||||
|
pass
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
verbose_proxy_logger.error(f"Error retrieving file contents: {str(e)}")
|
verbose_proxy_logger.error(f"Error retrieving file contents: {str(e)}")
|
||||||
return None
|
return None
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue