mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-15 21:15:55 +08:00
fix: visioin model always with low quality (#5253)
This commit is contained in:
parent
37c87164dc
commit
3a423e8ce7
@ -12,7 +12,11 @@ from core.file.file_obj import FileVar
|
|||||||
from core.memory.token_buffer_memory import TokenBufferMemory
|
from core.memory.token_buffer_memory import TokenBufferMemory
|
||||||
from core.model_manager import ModelInstance, ModelManager
|
from core.model_manager import ModelInstance, ModelManager
|
||||||
from core.model_runtime.entities.llm_entities import LLMUsage
|
from core.model_runtime.entities.llm_entities import LLMUsage
|
||||||
from core.model_runtime.entities.message_entities import PromptMessage, PromptMessageContentType
|
from core.model_runtime.entities.message_entities import (
|
||||||
|
ImagePromptMessageContent,
|
||||||
|
PromptMessage,
|
||||||
|
PromptMessageContentType,
|
||||||
|
)
|
||||||
from core.model_runtime.entities.model_entities import ModelType
|
from core.model_runtime.entities.model_entities import ModelType
|
||||||
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel
|
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel
|
||||||
from core.model_runtime.utils.encoders import jsonable_encoder
|
from core.model_runtime.utils.encoders import jsonable_encoder
|
||||||
@ -548,6 +552,7 @@ class LLMNode(BaseNode):
|
|||||||
stop = model_config.stop
|
stop = model_config.stop
|
||||||
|
|
||||||
vision_enabled = node_data.vision.enabled
|
vision_enabled = node_data.vision.enabled
|
||||||
|
vision_detail = node_data.vision.configs.detail if node_data.vision.configs else None
|
||||||
filtered_prompt_messages = []
|
filtered_prompt_messages = []
|
||||||
for prompt_message in prompt_messages:
|
for prompt_message in prompt_messages:
|
||||||
if prompt_message.is_empty():
|
if prompt_message.is_empty():
|
||||||
@ -556,7 +561,10 @@ class LLMNode(BaseNode):
|
|||||||
if not isinstance(prompt_message.content, str):
|
if not isinstance(prompt_message.content, str):
|
||||||
prompt_message_content = []
|
prompt_message_content = []
|
||||||
for content_item in prompt_message.content:
|
for content_item in prompt_message.content:
|
||||||
if vision_enabled and content_item.type == PromptMessageContentType.IMAGE:
|
if vision_enabled and content_item.type == PromptMessageContentType.IMAGE and isinstance(content_item, ImagePromptMessageContent):
|
||||||
|
# Override vision config if LLM node has vision config
|
||||||
|
if vision_detail:
|
||||||
|
content_item.detail = ImagePromptMessageContent.DETAIL(vision_detail)
|
||||||
prompt_message_content.append(content_item)
|
prompt_message_content.append(content_item)
|
||||||
elif content_item.type == PromptMessageContentType.TEXT:
|
elif content_item.type == PromptMessageContentType.TEXT:
|
||||||
prompt_message_content.append(content_item)
|
prompt_message_content.append(content_item)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user