refactor: 处理多张图片的HumanMessage
This commit is contained in:
parent
547b2bdbaf
commit
b91d9fdaf0
@ -116,13 +116,17 @@ class BaseImageUnderstandNode(IImageUnderstandNode):
|
|||||||
|
|
||||||
def generate_message_list(self, image_model, system: str, prompt: str, history_message, image):
|
def generate_message_list(self, image_model, system: str, prompt: str, history_message, image):
|
||||||
if image is not None and len(image) > 0:
|
if image is not None and len(image) > 0:
|
||||||
file_id = image[0]['file_id']
|
# 处理多张图片
|
||||||
file = QuerySet(File).filter(id=file_id).first()
|
images = []
|
||||||
base64_image = base64.b64encode(file.get_byte()).decode("utf-8")
|
for img in image:
|
||||||
|
file_id = img['file_id']
|
||||||
|
file = QuerySet(File).filter(id=file_id).first()
|
||||||
|
base64_image = base64.b64encode(file.get_byte()).decode("utf-8")
|
||||||
|
images.append({'type': 'image_url', 'image_url': {'url': f'data:image/jpeg;base64,{base64_image}'}})
|
||||||
messages = [HumanMessage(
|
messages = [HumanMessage(
|
||||||
content=[
|
content=[
|
||||||
{'type': 'text', 'text': self.workflow_manage.generate_prompt(prompt)},
|
{'type': 'text', 'text': self.workflow_manage.generate_prompt(prompt)},
|
||||||
{'type': 'image_url', 'image_url': {'url': f'data:image/jpeg;base64,{base64_image}'}},
|
*images
|
||||||
])]
|
])]
|
||||||
else:
|
else:
|
||||||
messages = [HumanMessage(self.workflow_manage.generate_prompt(prompt))]
|
messages = [HumanMessage(self.workflow_manage.generate_prompt(prompt))]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user