(Refactor / QA) - Use LoggingCallbackManager to append callbacks and ensure no duplicate callbacks are added (#8112)

* LoggingCallbackManager

* add logging_callback_manager

* use logging_callback_manager

* add add_litellm_failure_callback

* use add_litellm_callback

* use add_litellm_async_success_callback

* add_litellm_async_failure_callback

* linting fix

* fix logging callback manager

* test_duplicate_multiple_loggers_test

* use _reset_all_callbacks

* fix testing with dup callbacks

* test_basic_image_generation

* reset callbacks for tests

* fix check for _add_custom_logger_to_list

* fix test_amazing_sync_embedding

* fix _get_custom_logger_key

* fix batches testing

* fix _reset_all_callbacks

* fix _check_callback_list_size

* add callback_manager_test

* fix test gemini-2.0-flash-thinking-exp-01-21
This commit is contained in:
Ishaan Jaff 2025-01-30 19:35:50 -08:00 committed by GitHub
parent 3eac1634fa
commit 8a235e7d38
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 607 additions and 59 deletions

View file

@ -846,6 +846,7 @@ async def test_async_embedding_openai():
assert len(customHandler_success.errors) == 0
assert len(customHandler_success.states) == 3 # pre, post, success
# test failure callback
litellm.logging_callback_manager._reset_all_callbacks()
litellm.callbacks = [customHandler_failure]
try:
response = await litellm.aembedding(
@ -882,6 +883,7 @@ def test_amazing_sync_embedding():
assert len(customHandler_success.errors) == 0
assert len(customHandler_success.states) == 3 # pre, post, success
# test failure callback
litellm.logging_callback_manager._reset_all_callbacks()
litellm.callbacks = [customHandler_failure]
try:
response = litellm.embedding(
@ -916,6 +918,7 @@ async def test_async_embedding_azure():
assert len(customHandler_success.errors) == 0
assert len(customHandler_success.states) == 3 # pre, post, success
# test failure callback
litellm.logging_callback_manager._reset_all_callbacks()
litellm.callbacks = [customHandler_failure]
try:
response = await litellm.aembedding(
@ -956,6 +959,7 @@ async def test_async_embedding_bedrock():
assert len(customHandler_success.errors) == 0
assert len(customHandler_success.states) == 3 # pre, post, success
# test failure callback
litellm.logging_callback_manager._reset_all_callbacks()
litellm.callbacks = [customHandler_failure]
try:
response = await litellm.aembedding(
@ -1123,6 +1127,7 @@ def test_image_generation_openai():
assert len(customHandler_success.errors) == 0
assert len(customHandler_success.states) == 3 # pre, post, success
# test failure callback
litellm.logging_callback_manager._reset_all_callbacks()
litellm.callbacks = [customHandler_failure]
try:
response = litellm.image_generation(