Skip to content

Commit d28edff

Browse files
fix: add warning log for original error before JSON fallback
- Add import logging at top of file - Log error type and message before JSON fallback - Minimal change - only adds warning log (6 insertions, 1 deletion) - Addresses @TomeHirata feedback for clean diff Signed-off-by: Bhaskar <[email protected]>
1 parent 8a7bcfd commit d28edff

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

dspy/adapters/chat_adapter.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import re
22
import textwrap
33
from typing import Any, NamedTuple
4-
4+
import logging
55
from litellm import ContextWindowExceededError
66
from pydantic.fields import FieldInfo
77

@@ -64,6 +64,11 @@ async def acall(
6464
# On context window exceeded error or already using JSONAdapter, we don't want to retry with a different
6565
# adapter.
6666
raise e
67+
logger = logging.getLogger(__name__)
68+
logger.warning(
69+
f"Structured output failed with error: {type(e).__name__}: {str(e)[:200]}. "
70+
f"Falling back to JSON mode."
71+
)
6772
return await JSONAdapter().acall(lm, lm_kwargs, signature, demos, inputs)
6873

6974
def format_field_description(self, signature: type[Signature]) -> str:

0 commit comments

Comments
 (0)