Source code for langchain.output_parsers.list

from __future__ import annotations

from abc import abstractmethod
from typing import List

from langchain.schema import BaseOutputParser


[docs]class ListOutputParser(BaseOutputParser): """Class to parse the output of an LLM call to a list.""" @property def _type(self) -> str: return "list"
[docs] @abstractmethod def parse(self, text: str) -> List[str]: """Parse the output of an LLM call."""
[docs]class CommaSeparatedListOutputParser(ListOutputParser): """Parse out comma separated lists."""
[docs] def get_format_instructions(self) -> str: return ( "Your response should be a list of comma separated values, " "eg: `foo, bar, baz`" )
[docs] def parse(self, text: str) -> List[str]: """Parse the output of an LLM call.""" return text.strip().split(", ")