forked from Archives/langchain
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
604 B
Python
23 lines
604 B
Python
from __future__ import annotations
|
|
|
|
from abc import abstractmethod
|
|
from typing import List
|
|
|
|
from langchain.output_parsers.base import BaseOutputParser
|
|
|
|
|
|
class ListOutputParser(BaseOutputParser):
|
|
"""Class to parse the output of an LLM call to a list."""
|
|
|
|
@abstractmethod
|
|
def parse(self, text: str) -> List[str]:
|
|
"""Parse the output of an LLM call."""
|
|
|
|
|
|
class CommaSeparatedListOutputParser(ListOutputParser):
|
|
"""Parse out comma separated lists."""
|
|
|
|
def parse(self, text: str) -> List[str]:
|
|
"""Parse the output of an LLM call."""
|
|
return text.strip().split(", ")
|