> ## Documentation Index
> Fetch the complete documentation index at: https://docs.camel-ai.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Camel.utils.message summarizer

<a id="camel.utils.message_summarizer" />

<a id="camel.utils.message_summarizer.MessageSummary" />

## MessageSummary

```python theme={"system"}
class MessageSummary(BaseModel):
```

Schema for structured message summaries.

**Parameters:**

* **summary** (str): A brief, one-sentence summary of the conversation.
* **participants** (List\[str]): The roles of participants involved.
* **key\_topics\_and\_entities** (List\[str]): Important topics, concepts, and entities discussed.
* **decisions\_and\_outcomes** (List\[str]): Key decisions, conclusions, or outcomes reached.
* **action\_items** (List\[str]): A list of specific tasks or actions to be taken, with assignees if mentioned.
* **progress\_on\_main\_task** (str): A summary of progress made on the primary task.

<a id="camel.utils.message_summarizer.MessageSummarizer" />

## MessageSummarizer

```python theme={"system"}
class MessageSummarizer:
```

Utility class for generating structured summaries of chat messages.

**Parameters:**

* **model\_backend** (Optional\[BaseModelBackend], optional): The model backend to use for summarization. If not provided, a default model backend will be created.

<a id="camel.utils.message_summarizer.MessageSummarizer.__init__" />

### **init**

```python theme={"system"}
def __init__(self, model_backend: Optional[BaseModelBackend] = None):
```

<a id="camel.utils.message_summarizer.MessageSummarizer.summarize" />

### summarize

```python theme={"system"}
def summarize(self, messages: List[BaseMessage]):
```

Generate a structured summary of the provided messages.

**Parameters:**

* **messages** (List\[BaseMessage]): List of messages to summarize.

**Returns:**

MessageSummary: Structured summary of the conversation.
