Keep partial rewrite results from LLM batches
This commit is contained in:
@@ -107,6 +107,27 @@ class Stage4RewriteTests(unittest.TestCase):
|
||||
self.assertEqual([item.title for item in rewritten], ["OpenAI launches GPT-5 API", "OpenAI launches GPT-5 API"])
|
||||
self.assertEqual(report["fallback_count"], 2)
|
||||
|
||||
def test_rewrite_items_keeps_partial_batch_rewrites_when_some_ids_are_missing(self):
|
||||
items = [news_item("a"), news_item("b"), news_item("c")]
|
||||
|
||||
def llm_call(prompt):
|
||||
return json.dumps(
|
||||
{
|
||||
"rewrites": [
|
||||
{"id": "a", "title": "title a", "summary": "summary a", "flags": []},
|
||||
{"id": "c", "title": "title c", "summary": "summary c", "flags": []},
|
||||
]
|
||||
}
|
||||
)
|
||||
|
||||
rewritten, report = rewrite_items(items, llm_call=llm_call, batch_size=3, max_fallback_ratio=0.5)
|
||||
|
||||
self.assertEqual([item.title for item in rewritten], ["title a", "OpenAI launches GPT-5 API", "title c"])
|
||||
self.assertEqual(report["rewritten_count"], 2)
|
||||
self.assertEqual(report["fallback_count"], 1)
|
||||
self.assertEqual(report["missing_rewrite_count"], 1)
|
||||
self.assertEqual(report["blocking_errors"], [])
|
||||
|
||||
def test_rewrite_items_defaults_to_large_batches_to_reduce_llm_requests(self):
|
||||
items = [news_item(str(index)) for index in range(61)]
|
||||
batch_sizes = []
|
||||
|
||||
Reference in New Issue
Block a user