# 07. EnumOutputParser

## EnumOutputParser <a href="#enumoutputparser" id="enumoutputparser"></a>

Let's find out how to use the Enum output parser!

```
from langchain.output_parsers.enum import EnumOutputParser
```

* `enum` Using module `Colors` Define the class.
* `Colors` Class `Enum` Inheritance, `RED` , `GREEN` , `BLUE` It has three color values.

```
from enum import Enum


class Colors(Enum):
    RED = "RED"
    GREEN = "GREEN"
    BLUE = "BLUE"
```

```
# EnumOutputParser create immediately
parser = EnumOutputParser(enum=Colors)
```

* People's information at the prompt ( `{person}` ) And parsing instructions ( `{instructions}` ).
* `parser.get_format_instructions()` Call the function to get the parsing instructions.
* prompt, `ChatOpenAI` The model, parser is connected to form a processing chain.

```
from langchain_core.prompts import PromptTemplate
from langchain_openai import ChatOpenAI

# Create a prompt template.
prompt = PromptTemplate.from_template(
    """What color is the following object?

Object: {object}

Instructions: {instructions}"""
    # Get the instruction format from the parser and apply it partially.
).partial(instructions=parser.get_format_instructions())
# Prompt and ChatOpenAI, Connect the parser.
chain = prompt | ChatOpenAI() | parser
```

* `chain.invoke` Use the function to request information about the "sky".

```
response = chain.invoke({"object": "sky"})  # "sky" Execute chain calls for
print(response)
```

```
Colors.BLUE
```

Check the results.
