forked from phoenix/litellm-mirror
Merge pull request #5075 from BerriAI/litelm_use_file_checksum
[Feat] /audio/transcription use file checksum for cache key
This commit is contained in:
commit
c11f575029
2 changed files with 14 additions and 1 deletions
|
@ -10,6 +10,7 @@
|
||||||
import ast
|
import ast
|
||||||
import asyncio
|
import asyncio
|
||||||
import hashlib
|
import hashlib
|
||||||
|
import io
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import time
|
import time
|
||||||
|
@ -1889,8 +1890,10 @@ class Cache:
|
||||||
metadata = kwargs.get("metadata", {})
|
metadata = kwargs.get("metadata", {})
|
||||||
litellm_params = kwargs.get("litellm_params", {})
|
litellm_params = kwargs.get("litellm_params", {})
|
||||||
|
|
||||||
|
# get checksum of file content
|
||||||
param_value = (
|
param_value = (
|
||||||
getattr(file, "name", None)
|
metadata.get("file_checksum")
|
||||||
|
or getattr(file, "name", None)
|
||||||
or metadata.get("file_name")
|
or metadata.get("file_name")
|
||||||
or litellm_params.get("file_name")
|
or litellm_params.get("file_name")
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,6 +13,7 @@ import base64
|
||||||
import binascii
|
import binascii
|
||||||
import copy
|
import copy
|
||||||
import datetime
|
import datetime
|
||||||
|
import hashlib
|
||||||
import inspect
|
import inspect
|
||||||
import itertools
|
import itertools
|
||||||
import json
|
import json
|
||||||
|
@ -554,6 +555,15 @@ def function_setup(
|
||||||
):
|
):
|
||||||
_file_name: BinaryIO = args[1] if len(args) > 1 else kwargs["file"]
|
_file_name: BinaryIO = args[1] if len(args) > 1 else kwargs["file"]
|
||||||
file_name = getattr(_file_name, "name", "audio_file")
|
file_name = getattr(_file_name, "name", "audio_file")
|
||||||
|
file_descriptor = _file_name.fileno()
|
||||||
|
file_stat = os.fstat(file_descriptor)
|
||||||
|
file_size = str(file_stat.st_size)
|
||||||
|
|
||||||
|
file_checksum = _file_name.name + file_size
|
||||||
|
if "metadata" in kwargs:
|
||||||
|
kwargs["metadata"]["file_checksum"] = file_checksum
|
||||||
|
else:
|
||||||
|
kwargs["metadata"] = {"file_checksum": file_checksum}
|
||||||
messages = file_name
|
messages = file_name
|
||||||
elif (
|
elif (
|
||||||
call_type == CallTypes.aspeech.value or call_type == CallTypes.speech.value
|
call_type == CallTypes.aspeech.value or call_type == CallTypes.speech.value
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue