(
normalized: NormalizedGenerationRequest,
base_url_override: Optional[str] = None,
)
| 718 | |
| 719 | |
| 720 | async def _iterate_openai_stream( |
| 721 | normalized: NormalizedGenerationRequest, |
| 722 | base_url_override: Optional[str] = None, |
| 723 | ): |
| 724 | handler = _ensure_generation_handler() |
| 725 | async for chunk in handler.handle_generation( |
| 726 | model=normalized.model, |
| 727 | prompt=normalized.prompt, |
| 728 | images=normalized.images if normalized.images else None, |
| 729 | stream=True, |
| 730 | base_url_override=base_url_override, |
| 731 | video_media_id=normalized.video_media_id, |
| 732 | ): |
| 733 | if chunk.startswith("data: "): |
| 734 | yield chunk |
| 735 | continue |
| 736 | |
| 737 | payload = _parse_handler_result(chunk) |
| 738 | yield f"data: {json.dumps(payload, ensure_ascii=False)}\n\n" |
| 739 | |
| 740 | yield "data: [DONE]\n\n" |
| 741 | |
| 742 | |
| 743 | async def _iterate_gemini_stream( |
no test coverage detected