(
self,
input: LanguageModelInput,
config: Optional[RunnableConfig] = None,
*,
stop: Optional[List[str]] = None,
**kwargs: Any,
)
| 460 | run_manager.on_llm_end(LLMResult(generations=[[generation]])) |
| 461 | |
| 462 | async def astream( |
| 463 | self, |
| 464 | input: LanguageModelInput, |
| 465 | config: Optional[RunnableConfig] = None, |
| 466 | *, |
| 467 | stop: Optional[List[str]] = None, |
| 468 | **kwargs: Any, |
| 469 | ) -> AsyncIterator[str]: |
| 470 | if ( |
| 471 | type(self)._astream is BaseLLM._astream |
| 472 | and type(self)._stream is BaseLLM._stream |
| 473 | ): |
| 474 | yield await self.ainvoke(input, config=config, stop=stop, **kwargs) |
| 475 | return |
| 476 | |
| 477 | prompt = self._convert_input(input).to_string() |
| 478 | config = ensure_config(config) |
| 479 | params = self.dict() |
| 480 | params["stop"] = stop |
| 481 | params = {**params, **kwargs} |
| 482 | options = {"stop": stop} |
| 483 | callback_manager = AsyncCallbackManager.configure( |
| 484 | config.get("callbacks"), |
| 485 | self.callbacks, |
| 486 | self.verbose, |
| 487 | config.get("tags"), |
| 488 | self.tags, |
| 489 | config.get("metadata"), |
| 490 | self.metadata, |
| 491 | ) |
| 492 | (run_manager,) = await callback_manager.on_llm_start( |
| 493 | dumpd(self), |
| 494 | [prompt], |
| 495 | invocation_params=params, |
| 496 | options=options, |
| 497 | name=config.get("run_name"), |
| 498 | run_id=config.pop("run_id", None), |
| 499 | batch_size=1, |
| 500 | ) |
| 501 | generation: Optional[GenerationChunk] = None |
| 502 | try: |
| 503 | async for chunk in self._astream( |
| 504 | prompt, |
| 505 | stop=stop, |
| 506 | run_manager=run_manager, |
| 507 | **kwargs, |
| 508 | ): |
| 509 | yield chunk.text |
| 510 | if generation is None: |
| 511 | generation = chunk |
| 512 | else: |
| 513 | generation += chunk |
| 514 | assert generation is not None |
| 515 | except BaseException as e: |
| 516 | await run_manager.on_llm_error( |
| 517 | e, |
| 518 | response=LLMResult(generations=[[generation]] if generation else []), |
| 519 | ) |
nothing calls this directly
no test coverage detected