🐛 (message.py): fix issue where message content was not being properly formatted and displayed in the HumanMessage object
📝 (message.py): improve the logic for handling message content and formatting to ensure correct display in the HumanMessage object
This commit is contained in:
parent
324b76d2d1
commit
ba343be992
1 changed files with 9 additions and 4 deletions
|
|
@ -80,7 +80,7 @@ class Message(Data):
|
|||
human_message = HumanMessage(content=contents) # type: ignore
|
||||
else:
|
||||
human_message = HumanMessage(
|
||||
content=[{"type": "text", "text": self.text}],
|
||||
content=self.text,
|
||||
)
|
||||
|
||||
return human_message
|
||||
|
|
@ -167,13 +167,18 @@ class Message(Data):
|
|||
@classmethod
|
||||
async def from_template_and_variables(cls, template: str, **variables):
|
||||
instance = cls(template=template, variables=variables)
|
||||
contents = [{"type": "text", "text": instance.format_text()}]
|
||||
text = instance.format_text()
|
||||
# Get all Message instances from the kwargs
|
||||
message = HumanMessage(content=text)
|
||||
contents = []
|
||||
for value in variables.values():
|
||||
if isinstance(value, cls):
|
||||
if isinstance(value, cls) and value.files:
|
||||
content_dicts = await value.get_file_content_dicts()
|
||||
contents.extend(content_dicts)
|
||||
prompt_template = ChatPromptTemplate.from_messages([HumanMessage(content=contents)]) # type: ignore
|
||||
if contents:
|
||||
message = HumanMessage(content=[{"type": "text", "text": text}] + contents)
|
||||
|
||||
prompt_template = ChatPromptTemplate.from_messages([message]) # type: ignore
|
||||
instance.prompt = jsonable_encoder(prompt_template.to_json())
|
||||
instance.messages = instance.prompt.get("kwargs", {}).get("messages", [])
|
||||
return instance
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue