rename to str output parser (#8373)

This commit is contained in:
Harrison Chase 2023-07-27 12:57:34 -07:00 committed by GitHub
parent 0e9e5b5202
commit f5bf893035
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 8 deletions

View File

@ -20,8 +20,8 @@ from langchain.schema import (
BaseLLMOutputParser, BaseLLMOutputParser,
BasePromptTemplate, BasePromptTemplate,
LLMResult, LLMResult,
NoOpOutputParser,
PromptValue, PromptValue,
StrOutputParser,
) )
from langchain.schema.language_model import BaseLanguageModel from langchain.schema.language_model import BaseLanguageModel
from langchain.utils.input import get_colored_text from langchain.utils.input import get_colored_text
@ -50,7 +50,7 @@ class LLMChain(Chain):
llm: BaseLanguageModel llm: BaseLanguageModel
"""Language model to call.""" """Language model to call."""
output_key: str = "text" #: :meta private: output_key: str = "text" #: :meta private:
output_parser: BaseLLMOutputParser = Field(default_factory=NoOpOutputParser) output_parser: BaseLLMOutputParser = Field(default_factory=StrOutputParser)
"""Output parser to use. """Output parser to use.
Defaults to one that takes the most likely string but does not change it Defaults to one that takes the most likely string but does not change it
otherwise.""" otherwise."""

View File

@ -10,7 +10,7 @@ import yaml
from langchain.output_parsers.regex import RegexParser from langchain.output_parsers.regex import RegexParser
from langchain.prompts.few_shot import FewShotPromptTemplate from langchain.prompts.few_shot import FewShotPromptTemplate
from langchain.prompts.prompt import PromptTemplate from langchain.prompts.prompt import PromptTemplate
from langchain.schema import BaseLLMOutputParser, BasePromptTemplate, NoOpOutputParser from langchain.schema import BaseLLMOutputParser, BasePromptTemplate, StrOutputParser
from langchain.utilities.loading import try_load_from_hub from langchain.utilities.loading import try_load_from_hub
URL_BASE = "https://raw.githubusercontent.com/hwchase17/langchain-hub/master/prompts/" URL_BASE = "https://raw.githubusercontent.com/hwchase17/langchain-hub/master/prompts/"
@ -80,7 +80,7 @@ def _load_output_parser(config: dict) -> dict:
if output_parser_type == "regex_parser": if output_parser_type == "regex_parser":
output_parser: BaseLLMOutputParser = RegexParser(**_config) output_parser: BaseLLMOutputParser = RegexParser(**_config)
elif output_parser_type == "default": elif output_parser_type == "default":
output_parser = NoOpOutputParser(**_config) output_parser = StrOutputParser(**_config)
else: else:
raise ValueError(f"Unsupported output parser {output_parser_type}") raise ValueError(f"Unsupported output parser {output_parser_type}")
config["output_parser"] = output_parser config["output_parser"] = output_parser

View File

@ -24,8 +24,8 @@ from langchain.schema.output import (
from langchain.schema.output_parser import ( from langchain.schema.output_parser import (
BaseLLMOutputParser, BaseLLMOutputParser,
BaseOutputParser, BaseOutputParser,
NoOpOutputParser,
OutputParserException, OutputParserException,
StrOutputParser,
) )
from langchain.schema.prompt import PromptValue from langchain.schema.prompt import PromptValue
from langchain.schema.prompt_template import BasePromptTemplate, format_document from langchain.schema.prompt_template import BasePromptTemplate, format_document
@ -62,7 +62,7 @@ __all__ = [
"RUN_KEY", "RUN_KEY",
"Memory", "Memory",
"OutputParserException", "OutputParserException",
"NoOpOutputParser", "StrOutputParser",
"BaseOutputParser", "BaseOutputParser",
"BaseLLMOutputParser", "BaseLLMOutputParser",
"BasePromptTemplate", "BasePromptTemplate",

View File

@ -137,8 +137,8 @@ class BaseOutputParser(BaseLLMOutputParser, Runnable[Union[str, BaseMessage], T]
return output_parser_dict return output_parser_dict
class NoOpOutputParser(BaseOutputParser[str]): class StrOutputParser(BaseOutputParser[str]):
"""'No operation' OutputParser that returns the text as is.""" """OutputParser that parses LLMResult into the top likely string.."""
@property @property
def lc_serializable(self) -> bool: def lc_serializable(self) -> bool:
@ -155,6 +155,10 @@ class NoOpOutputParser(BaseOutputParser[str]):
return text return text
# TODO: Deprecate
NoOpOutputParser = StrOutputParser
class OutputParserException(ValueError): class OutputParserException(ValueError):
"""Exception that output parsers should raise to signify a parsing error. """Exception that output parsers should raise to signify a parsing error.