Skip to content

Commit f31c8b6

Browse files
committed
fix(review-feedback-1284): address latest review comments
1 parent 6bafa97 commit f31c8b6

2 files changed

Lines changed: 32 additions & 1 deletion

File tree

src/analyzer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2183,7 +2183,7 @@ def _call_litellm(
21832183

21842184
content = self._extract_completion_text(response)
21852185
if content:
2186-
usage = self._normalize_usage(getattr(response, "usage", None))
2186+
usage = self._normalize_usage(self._get_response_field(response, "usage"))
21872187
last_response_text = content
21882188
last_model = model
21892189
last_usage = usage

tests/test_market_analyzer_generate_text.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,37 @@ def test_call_litellm_falls_back_to_message_content_when_blocks_empty(self):
200200
assert model_used == "openai/deepseek-chat"
201201
assert usage == {}
202202

203+
def test_call_litellm_extracts_list_message_content_from_dict_response(self):
204+
analyzer = self._make_analyzer()
205+
analyzer._config_override = SimpleNamespace(
206+
litellm_model="openai/list-content-provider",
207+
litellm_fallback_models=[],
208+
llm_model_list=[],
209+
)
210+
response = {
211+
"choices": [
212+
{
213+
"message": {
214+
"content": [
215+
{"type": "text", "text": "list "},
216+
{"type": "text", "text": "response"},
217+
],
218+
},
219+
}
220+
],
221+
"usage": {"prompt_tokens": 3, "completion_tokens": 4, "total_tokens": 7},
222+
}
223+
224+
with patch.object(analyzer, "_dispatch_litellm_completion", return_value=response):
225+
text, model_used, usage = analyzer._call_litellm(
226+
"prompt",
227+
{"max_tokens": 128, "temperature": 0.2},
228+
)
229+
230+
assert text == "list response"
231+
assert model_used == "openai/list-content-provider"
232+
assert usage == {"prompt_tokens": 3, "completion_tokens": 4, "total_tokens": 7}
233+
203234
def test_call_litellm_normalizes_kimi_k26_temperature(self):
204235
analyzer = self._make_analyzer()
205236
analyzer._config_override = SimpleNamespace(

0 commit comments

Comments
 (0)