From 02735a1f1e02c86d0a787363180daad047cee527 Mon Sep 17 00:00:00 2001 From: Henry Date: Sun, 3 Mar 2024 00:42:04 +0800 Subject: [PATCH] add image upload bugfix and import deps --- .../components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts | 6 +++--- .../components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts | 2 +- packages/components/nodes/chains/LLMChain/LLMChain.ts | 2 +- .../nodes/chatmodels/ChatOpenAI/FlowiseChatOpenAI.ts | 5 +++-- .../ConversationSummaryMemory/ConversationSummaryMemory.ts | 4 ++-- packages/components/src/multiModalUtils.ts | 4 ++-- 6 files changed, 12 insertions(+), 11 deletions(-) diff --git a/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts b/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts index d59de540..5923d77e 100644 --- a/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts +++ b/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts @@ -1,17 +1,17 @@ import { flatten } from 'lodash' import { AgentExecutor } from 'langchain/agents' -import { pull } from 'langchain/hub' +import { HumanMessage } from '@langchain/core/messages' +import { ChatPromptTemplate, HumanMessagePromptTemplate } from '@langchain/core/prompts' import { Tool } from '@langchain/core/tools' import type { PromptTemplate } from '@langchain/core/prompts' import { BaseChatModel } from '@langchain/core/language_models/chat_models' +import { pull } from 'langchain/hub' import { additionalCallbacks } from '../../../src/handler' import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeParams } from '../../../src/Interface' import { getBaseClasses } from '../../../src/utils' import { createReactAgent } from '../../../src/agents' import { ChatOpenAI } from '../../chatmodels/ChatOpenAI/FlowiseChatOpenAI' -import { HumanMessage } from '@langchain/core/messages' import { addImagesToMessages } from '../../../src/multiModalUtils' -import { ChatPromptTemplate, HumanMessagePromptTemplate } from 'langchain/prompts' class MRKLAgentChat_Agents implements INode { label: string diff --git a/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts b/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts index 596d20c5..452cf437 100644 --- a/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts +++ b/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts @@ -3,7 +3,7 @@ import { AgentExecutor } from 'langchain/agents' import { pull } from 'langchain/hub' import { Tool } from '@langchain/core/tools' import type { PromptTemplate } from '@langchain/core/prompts' -import { BaseLanguageModel } from 'langchain/base_language' +import { BaseLanguageModel } from '@langchain/core/language_models/base' import { additionalCallbacks } from '../../../src/handler' import { getBaseClasses } from '../../../src/utils' import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface' diff --git a/packages/components/nodes/chains/LLMChain/LLMChain.ts b/packages/components/nodes/chains/LLMChain/LLMChain.ts index c60b4b29..6adee1e1 100644 --- a/packages/components/nodes/chains/LLMChain/LLMChain.ts +++ b/packages/components/nodes/chains/LLMChain/LLMChain.ts @@ -1,5 +1,6 @@ import { BaseLanguageModel, BaseLanguageModelCallOptions } from '@langchain/core/language_models/base' import { BaseLLMOutputParser, BaseOutputParser } from '@langchain/core/output_parsers' +import { HumanMessage } from '@langchain/core/messages' import { ChatPromptTemplate, FewShotPromptTemplate, PromptTemplate, HumanMessagePromptTemplate } from '@langchain/core/prompts' import { OutputFixingParser } from 'langchain/output_parsers' import { LLMChain } from 'langchain/chains' @@ -10,7 +11,6 @@ import { checkInputs, Moderation, streamResponse } from '../../moderation/Modera import { formatResponse, injectOutputParser } from '../../outputparsers/OutputParserHelpers' import { ChatOpenAI } from '../../chatmodels/ChatOpenAI/FlowiseChatOpenAI' import { addImagesToMessages } from '../../../src/multiModalUtils' -import { HumanMessage } from 'langchain/schema' class LLMChain_Chains implements INode { label: string diff --git a/packages/components/nodes/chatmodels/ChatOpenAI/FlowiseChatOpenAI.ts b/packages/components/nodes/chatmodels/ChatOpenAI/FlowiseChatOpenAI.ts index 2fa65375..9049bb79 100644 --- a/packages/components/nodes/chatmodels/ChatOpenAI/FlowiseChatOpenAI.ts +++ b/packages/components/nodes/chatmodels/ChatOpenAI/FlowiseChatOpenAI.ts @@ -7,9 +7,10 @@ import { ChatOpenAICallOptions } from '@langchain/openai' import { BaseChatModelParams } from '@langchain/core/language_models/chat_models' -import { IMultiModalOption } from '../../../src' -import { BaseMessageLike, LLMResult } from 'langchain/schema' +import { BaseMessageLike } from '@langchain/core/messages' import { Callbacks } from '@langchain/core/callbacks/manager' +import { LLMResult } from '@langchain/core/outputs' +import { IMultiModalOption } from '../../../src' export class ChatOpenAI extends LangchainChatOpenAI { configuredModel: string diff --git a/packages/components/nodes/memory/ConversationSummaryMemory/ConversationSummaryMemory.ts b/packages/components/nodes/memory/ConversationSummaryMemory/ConversationSummaryMemory.ts index c3b3df91..88c8e34c 100644 --- a/packages/components/nodes/memory/ConversationSummaryMemory/ConversationSummaryMemory.ts +++ b/packages/components/nodes/memory/ConversationSummaryMemory/ConversationSummaryMemory.ts @@ -1,8 +1,8 @@ import { FlowiseSummaryMemory, IMessage, INode, INodeData, INodeParams, MemoryMethods } from '../../../src/Interface' import { convertBaseMessagetoIMessage, getBaseClasses } from '../../../src/utils' -import { ConversationSummaryMemory, ConversationSummaryMemoryInput } from 'langchain/memory' -import { BaseLanguageModel } from 'langchain/base_language' +import { BaseLanguageModel } from '@langchain/core/language_models/base' import { BaseMessage } from '@langchain/core/messages' +import { ConversationSummaryMemory, ConversationSummaryMemoryInput } from 'langchain/memory' class ConversationSummaryMemory_Memory implements INode { label: string diff --git a/packages/components/src/multiModalUtils.ts b/packages/components/src/multiModalUtils.ts index 94414e58..00cc5bf3 100644 --- a/packages/components/src/multiModalUtils.ts +++ b/packages/components/src/multiModalUtils.ts @@ -1,5 +1,5 @@ import { ICommonObject, IFileUpload, IMultiModalOption, INodeData, MessageContentImageUrl } from './Interface' -import { ChatOpenAI as LangchainChatOpenAI } from 'langchain/chat_models/openai' +import { ChatOpenAI } from '../nodes/chatmodels/ChatOpenAI/FlowiseChatOpenAI' import path from 'path' import { getStoragePath } from './utils' import fs from 'fs' @@ -12,7 +12,7 @@ export const addImagesToMessages = ( const imageContent: MessageContentImageUrl[] = [] let model = nodeData.inputs?.model - if (model instanceof LangchainChatOpenAI && multiModalOption) { + if (model instanceof ChatOpenAI && multiModalOption) { // Image Uploaded if (multiModalOption.image && multiModalOption.image.allowImageUploads && options?.uploads && options?.uploads.length > 0) { const imageUploads = getImageUploads(options.uploads)