mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-25 18:54:30 +00:00
log embedding success/failure as well
This commit is contained in:
parent
14ab99c3c4
commit
84754da801
3 changed files with 28 additions and 19 deletions
|
@ -88,6 +88,26 @@ class LiteDebugger:
|
||||||
headers={"content-type": "application/json"},
|
headers={"content-type": "application/json"},
|
||||||
data=json.dumps(litellm_data_obj),
|
data=json.dumps(litellm_data_obj),
|
||||||
)
|
)
|
||||||
|
elif "embedding" in response_obj:
|
||||||
|
litellm_data_obj = {
|
||||||
|
"response_time": response_time,
|
||||||
|
"model": response_obj["model"],
|
||||||
|
"total_cost": total_cost,
|
||||||
|
"messages": messages,
|
||||||
|
"response": response_obj["embedding"][:5],
|
||||||
|
"end_user": end_user,
|
||||||
|
"litellm_call_id": litellm_call_id,
|
||||||
|
"status": "success",
|
||||||
|
"user_email": self.user_email,
|
||||||
|
}
|
||||||
|
print_verbose(
|
||||||
|
f"LiteDebugger: Logging - final data object: {litellm_data_obj}"
|
||||||
|
)
|
||||||
|
response = requests.post(
|
||||||
|
url=self.api_url,
|
||||||
|
headers={"content-type": "application/json"},
|
||||||
|
data=json.dumps(litellm_data_obj),
|
||||||
|
)
|
||||||
elif "error" in response_obj:
|
elif "error" in response_obj:
|
||||||
if "Unable to map your input to a model." in response_obj["error"]:
|
if "Unable to map your input to a model." in response_obj["error"]:
|
||||||
total_cost = 0
|
total_cost = 0
|
||||||
|
|
|
@ -293,8 +293,8 @@ def exception_logging(
|
||||||
# make it easy to log if completion/embedding runs succeeded or failed + see what happened | Non-Blocking
|
# make it easy to log if completion/embedding runs succeeded or failed + see what happened | Non-Blocking
|
||||||
def client(original_function):
|
def client(original_function):
|
||||||
global liteDebuggerClient, get_all_keys
|
global liteDebuggerClient, get_all_keys
|
||||||
|
|
||||||
def function_setup(
|
def function_setup(
|
||||||
*args, **kwargs
|
*args, **kwargs
|
||||||
): # just run once to check if user wants to send their data anywhere - PostHog/Sentry/Slack/etc.
|
): # just run once to check if user wants to send their data anywhere - PostHog/Sentry/Slack/etc.
|
||||||
try:
|
try:
|
||||||
|
@ -899,7 +899,7 @@ def handle_failure(exception, traceback_exception, start_time, end_time, args,
|
||||||
print_verbose("reaches lite_debugger for logging!")
|
print_verbose("reaches lite_debugger for logging!")
|
||||||
print_verbose(f"liteDebuggerClient: {liteDebuggerClient}")
|
print_verbose(f"liteDebuggerClient: {liteDebuggerClient}")
|
||||||
model = args[0] if len(args) > 0 else kwargs["model"]
|
model = args[0] if len(args) > 0 else kwargs["model"]
|
||||||
messages = args[1] if len(args) > 1 else kwargs["messages"]
|
messages = args[1] if len(args) > 1 else kwargs.get("messages", {"role": "user", "content": kwargs.get("input", "")})
|
||||||
result = {
|
result = {
|
||||||
"model": model,
|
"model": model,
|
||||||
"created": time.time(),
|
"created": time.time(),
|
||||||
|
@ -943,6 +943,8 @@ def handle_failure(exception, traceback_exception, start_time, end_time, args,
|
||||||
def handle_success(args, kwargs, result, start_time, end_time):
|
def handle_success(args, kwargs, result, start_time, end_time):
|
||||||
global heliconeLogger, aispendLogger, supabaseClient, liteDebuggerClient, llmonitorLogger
|
global heliconeLogger, aispendLogger, supabaseClient, liteDebuggerClient, llmonitorLogger
|
||||||
try:
|
try:
|
||||||
|
model = args[0] if len(args) > 0 else kwargs["model"]
|
||||||
|
input = args[1] if len(args) > 1 else kwargs.get("messages", kwargs.get("input", None))
|
||||||
success_handler = additional_details.pop("success_handler", None)
|
success_handler = additional_details.pop("success_handler", None)
|
||||||
failure_handler = additional_details.pop("failure_handler", None)
|
failure_handler = additional_details.pop("failure_handler", None)
|
||||||
additional_details["Event_Name"] = additional_details.pop(
|
additional_details["Event_Name"] = additional_details.pop(
|
||||||
|
@ -1011,22 +1013,10 @@ def handle_success(args, kwargs, result, start_time, end_time):
|
||||||
end_time=end_time,
|
end_time=end_time,
|
||||||
print_verbose=print_verbose,
|
print_verbose=print_verbose,
|
||||||
)
|
)
|
||||||
elif callback == "berrispend":
|
|
||||||
print_verbose("reaches berrispend for logging!")
|
|
||||||
model = args[0] if len(args) > 0 else kwargs["model"]
|
|
||||||
messages = args[1] if len(args) > 1 else kwargs["messages"]
|
|
||||||
berrispendLogger.log_event(
|
|
||||||
model=model,
|
|
||||||
messages=messages,
|
|
||||||
response_obj=result,
|
|
||||||
start_time=start_time,
|
|
||||||
end_time=end_time,
|
|
||||||
print_verbose=print_verbose,
|
|
||||||
)
|
|
||||||
elif callback == "supabase":
|
elif callback == "supabase":
|
||||||
print_verbose("reaches supabase for logging!")
|
print_verbose("reaches supabase for logging!")
|
||||||
model = args[0] if len(args) > 0 else kwargs["model"]
|
model = args[0] if len(args) > 0 else kwargs["model"]
|
||||||
messages = args[1] if len(args) > 1 else kwargs["messages"]
|
messages = args[1] if len(args) > 1 else kwargs.get("messages", {"role": "user", "content": ""})
|
||||||
print(f"supabaseClient: {supabaseClient}")
|
print(f"supabaseClient: {supabaseClient}")
|
||||||
supabaseClient.log_event(
|
supabaseClient.log_event(
|
||||||
model=model,
|
model=model,
|
||||||
|
@ -1040,9 +1030,8 @@ def handle_success(args, kwargs, result, start_time, end_time):
|
||||||
)
|
)
|
||||||
elif callback == "lite_debugger":
|
elif callback == "lite_debugger":
|
||||||
print_verbose("reaches lite_debugger for logging!")
|
print_verbose("reaches lite_debugger for logging!")
|
||||||
model = args[0] if len(args) > 0 else kwargs["model"]
|
|
||||||
messages = args[1] if len(args) > 1 else kwargs["messages"]
|
|
||||||
print_verbose(f"liteDebuggerClient: {liteDebuggerClient}")
|
print_verbose(f"liteDebuggerClient: {liteDebuggerClient}")
|
||||||
|
messages = args[1] if len(args) > 1 else kwargs.get("messages", {"role": "user", "content": kwargs.get("input")})
|
||||||
liteDebuggerClient.log_event(
|
liteDebuggerClient.log_event(
|
||||||
model=model,
|
model=model,
|
||||||
messages=messages,
|
messages=messages,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "litellm"
|
name = "litellm"
|
||||||
version = "0.1.458"
|
version = "0.1.459"
|
||||||
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