fix(converters): handle empty list content as null, clean up test

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
rayhpeng 2026-04-04 09:04:37 +08:00
parent bfbb3e1b8d
commit 17c8dbd9aa
2 changed files with 1 additions and 5 deletions

View File

@ -56,7 +56,7 @@ def langchain_to_openai_message(message: Any) -> dict:
},
})
# If no text content, set content to null per OpenAI spec
result["content"] = content if (isinstance(content, list) or content) else None
result["content"] = content if (isinstance(content, list) and content) or (isinstance(content, str) and content) else None
result["tool_calls"] = openai_tool_calls
else:
result["content"] = content

View File

@ -123,10 +123,6 @@ class TestLangchainToOpenaiMessage:
class TestLangchainToOpenaiCompletion:
def test_basic_completion(self):
usage = MagicMock()
usage.__getitem__ = lambda self, k: {"input_tokens": 10, "output_tokens": 20}[k]
usage.get = lambda k, d=None: {"input_tokens": 10, "output_tokens": 20}.get(k, d)
# Use a real dict for usage_metadata
usage_metadata = {"input_tokens": 10, "output_tokens": 20}
msg = _make_ai_message(
content="Hello",