Structural Changes to support expansion to other chat models.

This commit is contained in:
vinodkiran 2024-03-07 18:54:36 +05:30
parent da43fb7f44
commit a2caf3e265
2 changed files with 16 additions and 2 deletions

View File

@ -0,0 +1,12 @@
import { IMultiModalOption } from './Interface'
export interface IVisionChatModal {
id: string
configuredModel: string
configuredMaxToken: number
multiModalOption: IMultiModalOption
setVisionModel(): void
revertToOriginalModel(): void
setMultiModalOption(multiModalOption: IMultiModalOption): void
}

View File

@ -1,8 +1,8 @@
import { ICommonObject, IFileUpload, IMultiModalOption, INodeData, MessageContentImageUrl } from './Interface'
import { ChatOpenAI } from '../nodes/chatmodels/ChatOpenAI/FlowiseChatOpenAI'
import path from 'path'
import { getStoragePath } from './utils'
import fs from 'fs'
import { IVisionChatModal } from './IVisionChatModal'
export const addImagesToMessages = (
nodeData: INodeData,
@ -12,7 +12,7 @@ export const addImagesToMessages = (
const imageContent: MessageContentImageUrl[] = []
let model = nodeData.inputs?.model
if (model instanceof ChatOpenAI && multiModalOption) {
if (llmSupportsVision(model) && multiModalOption) {
// Image Uploaded
if (multiModalOption.image && multiModalOption.image.allowImageUploads && options?.uploads && options?.uploads.length > 0) {
const imageUploads = getImageUploads(options.uploads)
@ -46,3 +46,5 @@ export const getAudioUploads = (uploads: IFileUpload[]) => {
export const getImageUploads = (uploads: IFileUpload[]) => {
return uploads.filter((upload: IFileUpload) => upload.mime.startsWith('image/'))
}
export const llmSupportsVision = (value: any): value is IVisionChatModal => !!value?.multiModalOption