feat: add content parts to message schema (#1273)
Co-authored-by: Matt Zhou <mattzh1314@gmail.com>
This commit is contained in:
@@ -3,10 +3,12 @@ from marshmallow import fields
|
||||
from letta.helpers.converters import (
|
||||
deserialize_embedding_config,
|
||||
deserialize_llm_config,
|
||||
deserialize_message_content,
|
||||
deserialize_tool_calls,
|
||||
deserialize_tool_rules,
|
||||
serialize_embedding_config,
|
||||
serialize_llm_config,
|
||||
serialize_message_content,
|
||||
serialize_tool_calls,
|
||||
serialize_tool_rules,
|
||||
)
|
||||
@@ -67,3 +69,13 @@ class ToolCallField(fields.Field):
|
||||
|
||||
def _deserialize(self, value, attr, data, **kwargs):
|
||||
return deserialize_tool_calls(value)
|
||||
|
||||
|
||||
class MessageContentField(fields.Field):
|
||||
"""Marshmallow field for handling a list of Message Content Part objects."""
|
||||
|
||||
def _serialize(self, value, attr, obj, **kwargs):
|
||||
return serialize_message_content(value)
|
||||
|
||||
def _deserialize(self, value, attr, data, **kwargs):
|
||||
return deserialize_message_content(value)
|
||||
|
||||
@@ -3,6 +3,7 @@ from typing import Any, Dict, List, Optional
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
from letta.schemas.embedding_config import EmbeddingConfig
|
||||
from letta.schemas.letta_message_content import TextContent
|
||||
from letta.schemas.llm_config import LLMConfig
|
||||
|
||||
|
||||
@@ -27,7 +28,7 @@ class MessageSchema(BaseModel):
|
||||
model: Optional[str]
|
||||
name: Optional[str]
|
||||
role: str
|
||||
text: str
|
||||
content: List[TextContent] # TODO: Expand to more in the future
|
||||
tool_call_id: Optional[str]
|
||||
tool_calls: List[Any]
|
||||
tool_returns: List[Any]
|
||||
|
||||
Reference in New Issue
Block a user