|
80 | 80 | from nemoguardrails.logging.verbose import set_verbose |
81 | 81 | from nemoguardrails.patch_asyncio import check_sync_call_from_async_loop |
82 | 82 | from nemoguardrails.rails.llm.buffer import get_buffer_strategy |
83 | | -from nemoguardrails.rails.llm.config import EmbeddingSearchProvider, RailsConfig |
| 83 | +from nemoguardrails.rails.llm.config import ( |
| 84 | + EmbeddingSearchProvider, |
| 85 | + OutputRailsStreamingConfig, |
| 86 | + RailsConfig, |
| 87 | +) |
84 | 88 | from nemoguardrails.rails.llm.options import ( |
85 | 89 | GenerationLog, |
86 | 90 | GenerationOptions, |
@@ -1348,6 +1352,7 @@ def stream_async( |
1348 | 1352 | ): |
1349 | 1353 | return self._run_output_rails_in_streaming( |
1350 | 1354 | streaming_handler=generator, |
| 1355 | + output_rails_streaming_config=self.config.rails.output.streaming, |
1351 | 1356 | messages=messages, |
1352 | 1357 | prompt=prompt, |
1353 | 1358 | ) |
@@ -1403,6 +1408,7 @@ def task_done_callback(task): |
1403 | 1408 | # returns an async generator |
1404 | 1409 | return self._run_output_rails_in_streaming( |
1405 | 1410 | streaming_handler=streaming_handler, |
| 1411 | + output_rails_streaming_config=self.config.rails.output.streaming, |
1406 | 1412 | messages=messages, |
1407 | 1413 | prompt=prompt, |
1408 | 1414 | ) |
@@ -1631,6 +1637,7 @@ def __setstate__(self, state): |
1631 | 1637 | async def _run_output_rails_in_streaming( |
1632 | 1638 | self, |
1633 | 1639 | streaming_handler: AsyncIterator[str], |
| 1640 | + output_rails_streaming_config: OutputRailsStreamingConfig, |
1634 | 1641 | prompt: Optional[str] = None, |
1635 | 1642 | messages: Optional[List[dict]] = None, |
1636 | 1643 | stream_first: Optional[bool] = None, |
@@ -1733,9 +1740,6 @@ def _prepare_params( |
1733 | 1740 | **action_params, |
1734 | 1741 | } |
1735 | 1742 |
|
1736 | | - output_rails_streaming_config = self.config.rails.output.streaming |
1737 | | - if output_rails_streaming_config is None: |
1738 | | - raise ValueError("Output rails streaming config is not available") |
1739 | 1743 | buffer_strategy = get_buffer_strategy(output_rails_streaming_config) |
1740 | 1744 | output_rails_flows_id = self.config.rails.output.flows |
1741 | 1745 | stream_first = stream_first or output_rails_streaming_config.stream_first |
|
0 commit comments