|
78 | 78 | from nemoguardrails.logging.verbose import set_verbose |
79 | 79 | from nemoguardrails.patch_asyncio import check_sync_call_from_async_loop |
80 | 80 | from nemoguardrails.rails.llm.buffer import get_buffer_strategy |
81 | | -from nemoguardrails.rails.llm.config import EmbeddingSearchProvider, RailsConfig |
| 81 | +from nemoguardrails.rails.llm.config import ( |
| 82 | + EmbeddingSearchProvider, |
| 83 | + OutputRailsStreamingConfig, |
| 84 | + RailsConfig, |
| 85 | +) |
82 | 86 | from nemoguardrails.rails.llm.options import ( |
83 | 87 | GenerationLog, |
84 | 88 | GenerationOptions, |
@@ -1289,6 +1293,7 @@ def stream_async( |
1289 | 1293 | ): |
1290 | 1294 | return self._run_output_rails_in_streaming( |
1291 | 1295 | streaming_handler=generator, |
| 1296 | + output_rails_streaming_config=self.config.rails.output.streaming, |
1292 | 1297 | messages=messages, |
1293 | 1298 | prompt=prompt, |
1294 | 1299 | ) |
@@ -1344,6 +1349,7 @@ def task_done_callback(task): |
1344 | 1349 | # returns an async generator |
1345 | 1350 | return self._run_output_rails_in_streaming( |
1346 | 1351 | streaming_handler=streaming_handler, |
| 1352 | + output_rails_streaming_config=self.config.rails.output.streaming, |
1347 | 1353 | messages=messages, |
1348 | 1354 | prompt=prompt, |
1349 | 1355 | ) |
@@ -1572,6 +1578,7 @@ def __setstate__(self, state): |
1572 | 1578 | async def _run_output_rails_in_streaming( |
1573 | 1579 | self, |
1574 | 1580 | streaming_handler: AsyncIterator[str], |
| 1581 | + output_rails_streaming_config: OutputRailsStreamingConfig, |
1575 | 1582 | prompt: Optional[str] = None, |
1576 | 1583 | messages: Optional[List[dict]] = None, |
1577 | 1584 | stream_first: Optional[bool] = None, |
@@ -1674,9 +1681,6 @@ def _prepare_params( |
1674 | 1681 | **action_params, |
1675 | 1682 | } |
1676 | 1683 |
|
1677 | | - output_rails_streaming_config = self.config.rails.output.streaming |
1678 | | - if output_rails_streaming_config is None: |
1679 | | - raise ValueError("Output rails streaming config is not available") |
1680 | 1684 | buffer_strategy = get_buffer_strategy(output_rails_streaming_config) |
1681 | 1685 | output_rails_flows_id = self.config.rails.output.flows |
1682 | 1686 | stream_first = stream_first or output_rails_streaming_config.stream_first |
|
0 commit comments