mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 10:53:02 +00:00 
			
		
		
		
	 349c3cf7b8
			
		
	
	
		349c3cf7b8
		
			
		
	
	
	
	
		
			
			Enhance `LLMNode` with multimodal capability, introducing support for image outputs. This implementation extracts base64-encoded images from LLM responses, saves them to the storage service, and records the file metadata in the `ToolFile` table. In conversations, these images are rendered as markdown-based inline images. Additionally, the images are included in the LLMNode's output as file variables, enabling subsequent nodes in the workflow to utilize them. To integrate file outputs into workflows, adjustments to the frontend code are necessary. For multimodal output functionality, updates to related model configurations are required. Currently, this capability has been applied exclusively to Google's Gemini models. Close #15814. Signed-off-by: -LAN- <laipz8200@outlook.com> Co-authored-by: -LAN- <laipz8200@outlook.com>
		
			
				
	
	
		
			26 lines
		
	
	
		
			882 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			882 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from flask_sqlalchemy import SQLAlchemy
 | |
| from sqlalchemy import MetaData
 | |
| 
 | |
| POSTGRES_INDEXES_NAMING_CONVENTION = {
 | |
|     "ix": "%(column_0_label)s_idx",
 | |
|     "uq": "%(table_name)s_%(column_0_name)s_key",
 | |
|     "ck": "%(table_name)s_%(constraint_name)s_check",
 | |
|     "fk": "%(table_name)s_%(column_0_name)s_fkey",
 | |
|     "pk": "%(table_name)s_pkey",
 | |
| }
 | |
| 
 | |
| metadata = MetaData(naming_convention=POSTGRES_INDEXES_NAMING_CONVENTION)
 | |
| 
 | |
| # ****** IMPORTANT NOTICE ******
 | |
| #
 | |
| # NOTE(QuantumGhost): Avoid directly importing and using `db` in modules outside of the
 | |
| # `controllers` package.
 | |
| #
 | |
| # Instead, import `db` within the `controllers` package and pass it as an argument to
 | |
| # functions or class constructors.
 | |
| #
 | |
| # Directly importing `db` in other modules can make the code more difficult to read, test, and maintain.
 | |
| #
 | |
| # Whenever possible, avoid this pattern in new code.
 | |
| db = SQLAlchemy(metadata=metadata)
 |