Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,10 @@ def generate_history_ai_message(self, chat_record):
return chat_record.get_ai_message()
image_list = val['image_list']
return AIMessage(content=[
*[{'type': 'image_url', 'image_url': {'url': f'{file_url}'}} for file_url in image_list]
*[
{'type': 'image_url', 'image_url': {'url': image_url}}
for image_url in self.get_image_url_list(image_list)
]
])
return chat_record.get_ai_message()

Expand Down Expand Up @@ -116,6 +119,20 @@ def generate_message_list(self, question: str, history_message):
question
]

@staticmethod
def get_image_url_list(image_list):
image_url_list = []
for image in image_list or []:
if isinstance(image, dict):
image_url = image.get('url') or (
f"./oss/file/{image.get('file_id')}" if image.get('file_id') else None
)
else:
image_url = image
if image_url:
image_url_list.append(image_url)
return image_url_list

def upload_file(self, file):
if [WorkflowMode.KNOWLEDGE, WorkflowMode.KNOWLEDGE_LOOP].__contains__(
self.workflow_manage.flow.workflow_mode):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,10 @@ def generate_history_ai_message(self, chat_record):
return chat_record.get_ai_message()
image_list = val['image_list']
return AIMessage(content=[
*[{'type': 'image_url', 'image_url': {'url': f'{file_url}'}} for file_url in image_list]
*[
{'type': 'image_url', 'image_url': {'url': image_url}}
for image_url in self.get_image_url_list(image_list)
]
])
return chat_record.get_ai_message()

Expand Down Expand Up @@ -181,6 +184,20 @@ def generate_message_list(self, question: str, history_message):
question
]

@staticmethod
def get_image_url_list(image_list):
image_url_list = []
for image in image_list or []:
if isinstance(image, dict):
image_url = image.get('url') or (
f"./oss/file/{image.get('file_id')}" if image.get('file_id') else None
)
else:
image_url = image
if image_url:
image_url_list.append(image_url)
return image_url_list

@staticmethod
def reset_message_list(message_list: List[BaseMessage], answer_text):
result = [{'role': 'user' if isinstance(message, HumanMessage) else 'ai', 'content': message.content} for
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,10 @@ def generate_history_ai_message(self, chat_record):
return chat_record.get_ai_message()
image_list = val['image_list']
return AIMessage(content=[
*[{'type': 'image_url', 'image_url': {'url': f'{file_url}'}} for file_url in image_list]
*[
{'type': 'image_url', 'image_url': {'url': image_url}}
for image_url in self.get_image_url_list(image_list)
]
])
return chat_record.get_ai_message()

Expand Down Expand Up @@ -157,6 +160,20 @@ def generate_message_list(self, question: str, history_message):
question
]

@staticmethod
def get_image_url_list(image_list):
image_url_list = []
for image in image_list or []:
if isinstance(image, dict):
image_url = image.get('url') or (
f"./oss/file/{image.get('file_id')}" if image.get('file_id') else None
)
else:
image_url = image
if image_url:
image_url_list.append(image_url)
return image_url_list

@staticmethod
def reset_message_list(message_list: List[BaseMessage], answer_text):
result = [{'role': 'user' if isinstance(message, HumanMessage) else 'ai', 'content': message.content} for
Expand Down
Loading