From 4d5af35858d4f38ffc4e179ee2938de65abfaec8 Mon Sep 17 00:00:00 2001 From: Bagatur Date: Mon, 12 Feb 2024 12:45:34 -0800 Subject: [PATCH] RFC: ChatModel.as_str --- libs/core/langchain_core/language_models/chat_models.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libs/core/langchain_core/language_models/chat_models.py b/libs/core/langchain_core/language_models/chat_models.py index 6279116093e..cdfc8ef6213 100644 --- a/libs/core/langchain_core/language_models/chat_models.py +++ b/libs/core/langchain_core/language_models/chat_models.py @@ -37,6 +37,7 @@ from langchain_core.messages import ( convert_to_messages, message_chunk_to_message, ) +from langchain_core.output_parsers import StrOutputParser from langchain_core.outputs import ( ChatGeneration, ChatGenerationChunk, @@ -49,7 +50,7 @@ from langchain_core.pydantic_v1 import Field, root_validator from langchain_core.runnables.config import ensure_config, run_in_executor if TYPE_CHECKING: - from langchain_core.runnables import RunnableConfig + from langchain_core.runnables import Runnable, RunnableConfig def _get_verbosity() -> bool: @@ -311,6 +312,9 @@ class BaseChatModel(BaseLanguageModel[BaseMessage], ABC): LLMResult(generations=[[generation]]), ) + def as_str(self) -> Runnable[LanguageModelInput, str]: + return self | StrOutputParser() + # --- Custom methods --- def _combine_llm_outputs(self, llm_outputs: List[Optional[dict]]) -> dict: