|
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, |
@@ -1350,6 +1354,7 @@ def stream_async( |
1350 | 1354 | ): |
1351 | 1355 | return self._run_output_rails_in_streaming( |
1352 | 1356 | streaming_handler=generator, |
| 1357 | + output_rails_streaming_config=self.config.rails.output.streaming, |
1353 | 1358 | messages=messages, |
1354 | 1359 | prompt=prompt, |
1355 | 1360 | ) |
@@ -1405,6 +1410,7 @@ def task_done_callback(task): |
1405 | 1410 | # returns an async generator |
1406 | 1411 | return self._run_output_rails_in_streaming( |
1407 | 1412 | streaming_handler=streaming_handler, |
| 1413 | + output_rails_streaming_config=self.config.rails.output.streaming, |
1408 | 1414 | messages=messages, |
1409 | 1415 | prompt=prompt, |
1410 | 1416 | ) |
@@ -1633,6 +1639,7 @@ def __setstate__(self, state): |
1633 | 1639 | async def _run_output_rails_in_streaming( |
1634 | 1640 | self, |
1635 | 1641 | streaming_handler: AsyncIterator[str], |
| 1642 | + output_rails_streaming_config: OutputRailsStreamingConfig, |
1636 | 1643 | prompt: Optional[str] = None, |
1637 | 1644 | messages: Optional[List[dict]] = None, |
1638 | 1645 | stream_first: Optional[bool] = None, |
@@ -1735,9 +1742,6 @@ def _prepare_params( |
1735 | 1742 | **action_params, |
1736 | 1743 | } |
1737 | 1744 |
|
1738 | | - output_rails_streaming_config = self.config.rails.output.streaming |
1739 | | - if output_rails_streaming_config is None: |
1740 | | - raise ValueError("Output rails streaming config is not available") |
1741 | 1745 | buffer_strategy = get_buffer_strategy(output_rails_streaming_config) |
1742 | 1746 | output_rails_flows_id = self.config.rails.output.flows |
1743 | 1747 | stream_first = stream_first or output_rails_streaming_config.stream_first |
|
0 commit comments