diff --git a/CONTRIBUTING-ZH.md b/CONTRIBUTING-ZH.md
index 7e35d194..25f48387 100644
--- a/CONTRIBUTING-ZH.md
+++ b/CONTRIBUTING-ZH.md
@@ -30,7 +30,7 @@
不确定要贡献什么?一些想法:
-- 从 Langchain 创建新组件
+- 从 `packages/components` 创建新组件
- 更新现有组件,如扩展功能、修复错误
- 添加新的 Chatflow 想法
@@ -40,7 +40,7 @@ Flowise 在一个单一的单体存储库中有 3 个不同的模块。
- `server`:用于提供 API 逻辑的 Node 后端
- `ui`:React 前端
-- `components`:Langchain 组件
+- `components`:Langchain/LlamaIndex 组件
#### 先决条件
@@ -123,6 +123,7 @@ Flowise 支持不同的环境变量来配置您的实例。您可以在 `package
| PORT | Flowise 运行的 HTTP 端口 | 数字 | 3000 |
| FLOWISE_USERNAME | 登录用户名 | 字符串 | |
| FLOWISE_PASSWORD | 登录密码 | 字符串 | |
+| FLOWISE_FILE_SIZE_LIMIT | 上传文件大小限制 | 字符串 | 50mb |
| DEBUG | 打印组件的日志 | 布尔值 | |
| LOG_PATH | 存储日志文件的位置 | 字符串 | `your-path/Flowise/logs` |
| LOG_LEVEL | 日志的不同级别 | 枚举字符串: `error`, `info`, `verbose`, `debug` | `info` |
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 25a27e84..57fee8fc 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -30,7 +30,7 @@ Found an issue? [Report it](https://github.com/FlowiseAI/Flowise/issues/new/choo
Not sure what to contribute? Some ideas:
-- Create new components from Langchain
+- Create new components from `packages/components`
- Update existing components such as extending functionality, fixing bugs
- Add new chatflow ideas
@@ -40,7 +40,7 @@ Flowise has 3 different modules in a single mono repository.
- `server`: Node backend to serve API logics
- `ui`: React frontend
-- `components`: Langchain components
+- `components`: Third-party nodes integrations
#### Prerequisite
@@ -127,6 +127,7 @@ Flowise support different environment variables to configure your instance. You
| IFRAME_ORIGINS | The allowed origins for iframe src embedding | String | |
| FLOWISE_USERNAME | Username to login | String | |
| FLOWISE_PASSWORD | Password to login | String | |
+| FLOWISE_FILE_SIZE_LIMIT | Upload File Size Limit | String | 50mb |
| DEBUG | Print logs from components | Boolean | |
| LOG_PATH | Location where log files are stored | String | `your-path/Flowise/logs` |
| LOG_LEVEL | Different levels of logs | Enum String: `error`, `info`, `verbose`, `debug` | `info` |
diff --git a/README-ZH.md b/README-ZH.md
index 8750ebc7..b6f389ed 100644
--- a/README-ZH.md
+++ b/README-ZH.md
@@ -71,7 +71,7 @@ Flowise 在一个单一的代码库中有 3 个不同的模块。
- `server`:用于提供 API 逻辑的 Node 后端
- `ui`:React 前端
-- `components`:Langchain 组件
+- `components`:第三方节点集成
### 先决条件
diff --git a/README.md b/README.md
index 3e6b7e56..438647e8 100644
--- a/README.md
+++ b/README.md
@@ -71,7 +71,7 @@ Flowise has 3 different modules in a single mono repository.
- `server`: Node backend to serve API logics
- `ui`: React frontend
-- `components`: Langchain components
+- `components`: Third-party nodes integrations
### Prerequisite
diff --git a/docker/.env.example b/docker/.env.example
index a4beaf8a..84019299 100644
--- a/docker/.env.example
+++ b/docker/.env.example
@@ -21,6 +21,7 @@ LOG_PATH=/root/.flowise/logs
# FLOWISE_USERNAME=user
# FLOWISE_PASSWORD=1234
# FLOWISE_SECRETKEY_OVERWRITE=myencryptionkey
+# FLOWISE_FILE_SIZE_LIMIT=50mb
# DEBUG=true
# LOG_LEVEL=debug (error | warn | info | verbose | debug)
# TOOL_FUNCTION_BUILTIN_DEP=crypto,fs
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index 71bcfcfb..4da945fe 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -10,6 +10,7 @@ services:
- IFRAME_ORIGINS=${IFRAME_ORIGINS}
- FLOWISE_USERNAME=${FLOWISE_USERNAME}
- FLOWISE_PASSWORD=${FLOWISE_PASSWORD}
+ - FLOWISE_FILE_SIZE_LIMIT=${FLOWISE_FILE_SIZE_LIMIT}
- DEBUG=${DEBUG}
- DATABASE_PATH=${DATABASE_PATH}
- DATABASE_TYPE=${DATABASE_TYPE}
diff --git a/packages/components/credentials/LLMonitorApi.credential.ts b/packages/components/credentials/LunaryApi.credential.ts
similarity index 55%
rename from packages/components/credentials/LLMonitorApi.credential.ts
rename to packages/components/credentials/LunaryApi.credential.ts
index e5ecc8ab..b68b6750 100644
--- a/packages/components/credentials/LLMonitorApi.credential.ts
+++ b/packages/components/credentials/LunaryApi.credential.ts
@@ -1,6 +1,6 @@
import { INodeParams, INodeCredential } from '../src/Interface'
-class LLMonitorApi implements INodeCredential {
+class LunaryApi implements INodeCredential {
label: string
name: string
version: number
@@ -8,25 +8,25 @@ class LLMonitorApi implements INodeCredential {
inputs: INodeParams[]
constructor() {
- this.label = 'LLMonitor API'
- this.name = 'llmonitorApi'
+ this.label = 'Lunary API'
+ this.name = 'lunaryApi'
this.version = 1.0
- this.description = 'Refer to official guide to get APP ID'
+ this.description = 'Refer to official guide to get APP ID'
this.inputs = [
{
label: 'APP ID',
- name: 'llmonitorAppId',
+ name: 'lunaryAppId',
type: 'password',
- placeholder: ''
+ placeholder: ''
},
{
label: 'Endpoint',
- name: 'llmonitorEndpoint',
+ name: 'lunaryEndpoint',
type: 'string',
- default: 'https://app.llmonitor.com'
+ default: 'https://app.lunary.ai'
}
]
}
}
-module.exports = { credClass: LLMonitorApi }
+module.exports = { credClass: LunaryApi }
diff --git a/packages/components/nodes/agents/AirtableAgent/AirtableAgent.ts b/packages/components/nodes/agents/AirtableAgent/AirtableAgent.ts
index 7bdbb65a..3113cdfe 100644
--- a/packages/components/nodes/agents/AirtableAgent/AirtableAgent.ts
+++ b/packages/components/nodes/agents/AirtableAgent/AirtableAgent.ts
@@ -1,11 +1,11 @@
-import { ICommonObject, INode, INodeData, INodeParams, PromptTemplate } from '../../../src/Interface'
-import { AgentExecutor } from 'langchain/agents'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { LoadPyodide, finalSystemPrompt, systemPrompt } from './core'
-import { LLMChain } from 'langchain/chains'
-import { BaseLanguageModel } from 'langchain/base_language'
-import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
import axios from 'axios'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { AgentExecutor } from 'langchain/agents'
+import { LLMChain } from 'langchain/chains'
+import { ICommonObject, INode, INodeData, INodeParams, PromptTemplate } from '../../../src/Interface'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
+import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
+import { LoadPyodide, finalSystemPrompt, systemPrompt } from './core'
class Airtable_Agents implements INode {
label: string
diff --git a/packages/components/nodes/agents/AutoGPT/AutoGPT.ts b/packages/components/nodes/agents/AutoGPT/AutoGPT.ts
index 43b490f4..3689a7ea 100644
--- a/packages/components/nodes/agents/AutoGPT/AutoGPT.ts
+++ b/packages/components/nodes/agents/AutoGPT/AutoGPT.ts
@@ -1,13 +1,12 @@
-import { INode, INodeData, INodeParams } from '../../../src/Interface'
-import { BaseChatModel } from 'langchain/chat_models/base'
-import { AutoGPT } from 'langchain/experimental/autogpt'
-import { Tool } from 'langchain/tools'
-import { AIMessage, HumanMessage, SystemMessage } from 'langchain/schema'
-import { VectorStoreRetriever } from 'langchain/vectorstores/base'
import { flatten } from 'lodash'
-import { StructuredTool } from 'langchain/tools'
+import { Tool, StructuredTool } from '@langchain/core/tools'
+import { BaseChatModel } from '@langchain/core/language_models/chat_models'
+import { AIMessage, HumanMessage, SystemMessage } from '@langchain/core/messages'
+import { VectorStoreRetriever } from '@langchain/core/vectorstores'
+import { PromptTemplate } from '@langchain/core/prompts'
+import { AutoGPT } from 'langchain/experimental/autogpt'
import { LLMChain } from 'langchain/chains'
-import { PromptTemplate } from 'langchain/prompts'
+import { INode, INodeData, INodeParams } from '../../../src/Interface'
type ObjectTool = StructuredTool
const FINISH_NAME = 'finish'
diff --git a/packages/components/nodes/agents/BabyAGI/BabyAGI.ts b/packages/components/nodes/agents/BabyAGI/BabyAGI.ts
index f82f134b..c70cd800 100644
--- a/packages/components/nodes/agents/BabyAGI/BabyAGI.ts
+++ b/packages/components/nodes/agents/BabyAGI/BabyAGI.ts
@@ -1,7 +1,7 @@
+import { BaseChatModel } from '@langchain/core/language_models/chat_models'
+import { VectorStore } from '@langchain/core/vectorstores'
import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { BabyAGI } from './core'
-import { BaseChatModel } from 'langchain/chat_models/base'
-import { VectorStore } from 'langchain/vectorstores/base'
class BabyAGI_Agents implements INode {
label: string
diff --git a/packages/components/nodes/agents/BabyAGI/core.ts b/packages/components/nodes/agents/BabyAGI/core.ts
index 444aa3eb..5f7af2ca 100644
--- a/packages/components/nodes/agents/BabyAGI/core.ts
+++ b/packages/components/nodes/agents/BabyAGI/core.ts
@@ -1,8 +1,8 @@
+import { BaseChatModel } from '@langchain/core/language_models/chat_models'
+import { VectorStore } from '@langchain/core/vectorstores'
+import { Document } from '@langchain/core/documents'
+import { PromptTemplate } from '@langchain/core/prompts'
import { LLMChain } from 'langchain/chains'
-import { BaseChatModel } from 'langchain/chat_models/base'
-import { VectorStore } from 'langchain/dist/vectorstores/base'
-import { Document } from 'langchain/document'
-import { PromptTemplate } from 'langchain/prompts'
class TaskCreationChain extends LLMChain {
constructor(prompt: PromptTemplate, llm: BaseChatModel) {
diff --git a/packages/components/nodes/agents/CSVAgent/CSVAgent.ts b/packages/components/nodes/agents/CSVAgent/CSVAgent.ts
index 70996c4d..f55981ab 100644
--- a/packages/components/nodes/agents/CSVAgent/CSVAgent.ts
+++ b/packages/components/nodes/agents/CSVAgent/CSVAgent.ts
@@ -1,10 +1,10 @@
-import { ICommonObject, INode, INodeData, INodeParams, PromptTemplate } from '../../../src/Interface'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
import { AgentExecutor } from 'langchain/agents'
+import { LLMChain } from 'langchain/chains'
+import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
+import { ICommonObject, INode, INodeData, INodeParams, PromptTemplate } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
import { LoadPyodide, finalSystemPrompt, systemPrompt } from './core'
-import { LLMChain } from 'langchain/chains'
-import { BaseLanguageModel } from 'langchain/base_language'
-import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
class CSV_Agents implements INode {
label: string
diff --git a/packages/components/nodes/agents/ConversationalAgent/ConversationalAgent.ts b/packages/components/nodes/agents/ConversationalAgent/ConversationalAgent.ts
index 7f857b1c..e28a4a3f 100644
--- a/packages/components/nodes/agents/ConversationalAgent/ConversationalAgent.ts
+++ b/packages/components/nodes/agents/ConversationalAgent/ConversationalAgent.ts
@@ -1,14 +1,16 @@
-import { Tool } from 'langchain/tools'
-import { BaseChatModel } from 'langchain/chat_models/base'
import { flatten } from 'lodash'
-import { AgentStep, BaseMessage, ChainValues, AIMessage, HumanMessage } from 'langchain/schema'
-import { RunnableSequence } from 'langchain/schema/runnable'
+import { Tool } from '@langchain/core/tools'
+import { BaseChatModel } from '@langchain/core/language_models/chat_models'
+import { AIMessage, BaseMessage, HumanMessage } from '@langchain/core/messages'
+import { ChainValues } from '@langchain/core/utils/types'
+import { AgentStep } from '@langchain/core/agents'
+import { renderTemplate } from '@langchain/core/prompts'
+import { RunnableSequence } from '@langchain/core/runnables'
+import { ChatConversationalAgent } from 'langchain/agents'
import { getBaseClasses } from '../../../src/utils'
import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeParams } from '../../../src/Interface'
import { AgentExecutor } from '../../../src/agents'
-import { ChatConversationalAgent } from 'langchain/agents'
-import { renderTemplate } from '@langchain/core/prompts'
const DEFAULT_PREFIX = `Assistant is a large language model trained by OpenAI.
diff --git a/packages/components/nodes/agents/ConversationalRetrievalAgent/ConversationalRetrievalAgent.ts b/packages/components/nodes/agents/ConversationalRetrievalAgent/ConversationalRetrievalAgent.ts
index 406a156f..36bc6807 100644
--- a/packages/components/nodes/agents/ConversationalRetrievalAgent/ConversationalRetrievalAgent.ts
+++ b/packages/components/nodes/agents/ConversationalRetrievalAgent/ConversationalRetrievalAgent.ts
@@ -1,13 +1,14 @@
-import { ChainValues, AgentStep, BaseMessage } from 'langchain/schema'
import { flatten } from 'lodash'
-import { ChatOpenAI } from 'langchain/chat_models/openai'
-import { ChatPromptTemplate, MessagesPlaceholder } from 'langchain/prompts'
-import { formatToOpenAIFunction } from 'langchain/tools'
-import { RunnableSequence } from 'langchain/schema/runnable'
+import { BaseMessage } from '@langchain/core/messages'
+import { ChainValues } from '@langchain/core/utils/types'
+import { AgentStep } from '@langchain/core/agents'
+import { RunnableSequence } from '@langchain/core/runnables'
+import { ChatOpenAI, formatToOpenAIFunction } from '@langchain/openai'
+import { ChatPromptTemplate, MessagesPlaceholder } from '@langchain/core/prompts'
+import { OpenAIFunctionsAgentOutputParser } from 'langchain/agents/openai/output_parser'
import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
-import { OpenAIFunctionsAgentOutputParser } from 'langchain/agents/openai/output_parser'
import { AgentExecutor, formatAgentSteps } from '../../../src/agents'
const defaultMessage = `Do your best to answer the questions. Feel free to use any tools available to look up relevant information, only if necessary.`
diff --git a/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts b/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts
index 19835e36..9dce98af 100644
--- a/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts
+++ b/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts
@@ -1,10 +1,12 @@
-import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
-import { initializeAgentExecutorWithOptions, AgentExecutor } from 'langchain/agents'
-import { getBaseClasses } from '../../../src/utils'
-import { Tool } from 'langchain/tools'
-import { BaseLanguageModel } from 'langchain/base_language'
import { flatten } from 'lodash'
+import { AgentExecutor, createReactAgent } from 'langchain/agents'
+import { pull } from 'langchain/hub'
+import { Tool } from '@langchain/core/tools'
+import type { PromptTemplate } from '@langchain/core/prompts'
+import { BaseChatModel } from '@langchain/core/language_models/chat_models'
import { additionalCallbacks } from '../../../src/handler'
+import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
+import { getBaseClasses } from '../../../src/utils'
class MRKLAgentChat_Agents implements INode {
label: string
@@ -20,7 +22,7 @@ class MRKLAgentChat_Agents implements INode {
constructor() {
this.label = 'ReAct Agent for Chat Models'
this.name = 'mrklAgentChat'
- this.version = 1.0
+ this.version = 2.0
this.type = 'AgentExecutor'
this.category = 'Agents'
this.icon = 'agent.svg'
@@ -34,30 +36,42 @@ class MRKLAgentChat_Agents implements INode {
list: true
},
{
- label: 'Language Model',
+ label: 'Chat Model',
name: 'model',
- type: 'BaseLanguageModel'
+ type: 'BaseChatModel'
}
]
}
- async init(nodeData: INodeData): Promise {
- const model = nodeData.inputs?.model as BaseLanguageModel
- let tools = nodeData.inputs?.tools as Tool[]
- tools = flatten(tools)
- const executor = await initializeAgentExecutorWithOptions(tools, model, {
- agentType: 'chat-zero-shot-react-description',
- verbose: process.env.DEBUG === 'true' ? true : false
- })
- return executor
+ async init(): Promise {
+ return null
}
async run(nodeData: INodeData, input: string, options: ICommonObject): Promise {
- const executor = nodeData.instance as AgentExecutor
+ const model = nodeData.inputs?.model as BaseChatModel
+ let tools = nodeData.inputs?.tools as Tool[]
+ tools = flatten(tools)
+
+ const promptWithChat = await pull('hwchase17/react-chat')
+
+ const agent = await createReactAgent({
+ llm: model,
+ tools,
+ prompt: promptWithChat
+ })
+
+ const executor = new AgentExecutor({
+ agent,
+ tools,
+ verbose: process.env.DEBUG === 'true' ? true : false
+ })
const callbacks = await additionalCallbacks(nodeData, options)
- const result = await executor.call({ input }, [...callbacks])
+ const result = await executor.invoke({
+ input,
+ callbacks
+ })
return result?.output
}
diff --git a/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts b/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts
index 43a4dee2..3bd6ba1e 100644
--- a/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts
+++ b/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts
@@ -1,10 +1,12 @@
-import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
-import { initializeAgentExecutorWithOptions, AgentExecutor } from 'langchain/agents'
-import { Tool } from 'langchain/tools'
-import { getBaseClasses } from '../../../src/utils'
-import { BaseLanguageModel } from 'langchain/base_language'
import { flatten } from 'lodash'
+import { AgentExecutor, createReactAgent } 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 { additionalCallbacks } from '../../../src/handler'
+import { getBaseClasses } from '../../../src/utils'
+import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
class MRKLAgentLLM_Agents implements INode {
label: string
@@ -41,24 +43,35 @@ class MRKLAgentLLM_Agents implements INode {
]
}
- async init(nodeData: INodeData): Promise {
+ async init(): Promise {
+ return null
+ }
+
+ async run(nodeData: INodeData, input: string, options: ICommonObject): Promise {
const model = nodeData.inputs?.model as BaseLanguageModel
let tools = nodeData.inputs?.tools as Tool[]
tools = flatten(tools)
- const executor = await initializeAgentExecutorWithOptions(tools, model, {
- agentType: 'zero-shot-react-description',
+ const prompt = await pull('hwchase17/react')
+
+ const agent = await createReactAgent({
+ llm: model,
+ tools,
+ prompt
+ })
+
+ const executor = new AgentExecutor({
+ agent,
+ tools,
verbose: process.env.DEBUG === 'true' ? true : false
})
- return executor
- }
-
- async run(nodeData: INodeData, input: string, options: ICommonObject): Promise {
- const executor = nodeData.instance as AgentExecutor
const callbacks = await additionalCallbacks(nodeData, options)
- const result = await executor.call({ input }, [...callbacks])
+ const result = await executor.invoke({
+ input,
+ callbacks
+ })
return result?.output
}
diff --git a/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts b/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts
index 9c25b2a9..0acadca1 100644
--- a/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts
+++ b/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts
@@ -1,13 +1,14 @@
-import { ChainValues, AgentStep, BaseMessage } from 'langchain/schema'
-import { getBaseClasses } from '../../../src/utils'
import { flatten } from 'lodash'
-import { RunnableSequence } from 'langchain/schema/runnable'
-import { formatToOpenAIFunction } from 'langchain/tools'
-import { ChatOpenAI } from 'langchain/chat_models/openai'
+import { BaseMessage } from '@langchain/core/messages'
+import { ChainValues } from '@langchain/core/utils/types'
+import { AgentStep } from '@langchain/core/agents'
+import { RunnableSequence } from '@langchain/core/runnables'
+import { ChatOpenAI, formatToOpenAIFunction } from '@langchain/openai'
+import { ChatPromptTemplate, MessagesPlaceholder } from '@langchain/core/prompts'
+import { OpenAIFunctionsAgentOutputParser } from 'langchain/agents/openai/output_parser'
+import { getBaseClasses } from '../../../src/utils'
import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeParams } from '../../../src/Interface'
import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
-import { ChatPromptTemplate, MessagesPlaceholder } from 'langchain/prompts'
-import { OpenAIFunctionsAgentOutputParser } from 'langchain/agents/openai/output_parser'
import { AgentExecutor, formatAgentSteps } from '../../../src/agents'
class OpenAIFunctionAgent_Agents implements INode {
diff --git a/packages/components/nodes/analytic/LLMonitor/Lunary.svg b/packages/components/nodes/analytic/Lunary/Lunary.svg
similarity index 100%
rename from packages/components/nodes/analytic/LLMonitor/Lunary.svg
rename to packages/components/nodes/analytic/Lunary/Lunary.svg
diff --git a/packages/components/nodes/analytic/LLMonitor/LLMonitor.ts b/packages/components/nodes/analytic/Lunary/Lunary.ts
similarity index 71%
rename from packages/components/nodes/analytic/LLMonitor/LLMonitor.ts
rename to packages/components/nodes/analytic/Lunary/Lunary.ts
index 93bfbbf3..4a6217d3 100644
--- a/packages/components/nodes/analytic/LLMonitor/LLMonitor.ts
+++ b/packages/components/nodes/analytic/Lunary/Lunary.ts
@@ -1,6 +1,6 @@
import { INode, INodeParams } from '../../../src/Interface'
-class LLMonitor_Analytic implements INode {
+class Lunary_Analytic implements INode {
label: string
name: string
version: number
@@ -13,10 +13,10 @@ class LLMonitor_Analytic implements INode {
credential: INodeParams
constructor() {
- this.label = 'LLMonitor'
- this.name = 'llmonitor'
+ this.label = 'Lunary'
+ this.name = 'lunary'
this.version = 1.0
- this.type = 'LLMonitor'
+ this.type = 'Lunary'
this.icon = 'Lunary.svg'
this.category = 'Analytic'
this.baseClasses = [this.type]
@@ -25,9 +25,9 @@ class LLMonitor_Analytic implements INode {
label: 'Connect Credential',
name: 'credential',
type: 'credential',
- credentialNames: ['llmonitorApi']
+ credentialNames: ['lunaryApi']
}
}
}
-module.exports = { nodeClass: LLMonitor_Analytic }
+module.exports = { nodeClass: Lunary_Analytic }
diff --git a/packages/components/nodes/cache/InMemoryCache/InMemoryCache.ts b/packages/components/nodes/cache/InMemoryCache/InMemoryCache.ts
index a8aa9fd4..bddcfb70 100644
--- a/packages/components/nodes/cache/InMemoryCache/InMemoryCache.ts
+++ b/packages/components/nodes/cache/InMemoryCache/InMemoryCache.ts
@@ -1,6 +1,6 @@
-import { getBaseClasses, ICommonObject, INode, INodeData, INodeParams } from '../../../src'
-import { BaseCache } from 'langchain/schema'
+import { BaseCache } from '@langchain/core/caches'
import hash from 'object-hash'
+import { getBaseClasses, ICommonObject, INode, INodeData, INodeParams } from '../../../src'
class InMemoryCache implements INode {
label: string
diff --git a/packages/components/nodes/cache/InMemoryCache/InMemoryEmbeddingCache.ts b/packages/components/nodes/cache/InMemoryCache/InMemoryEmbeddingCache.ts
index f83fca3d..de426a72 100644
--- a/packages/components/nodes/cache/InMemoryCache/InMemoryEmbeddingCache.ts
+++ b/packages/components/nodes/cache/InMemoryCache/InMemoryEmbeddingCache.ts
@@ -1,7 +1,7 @@
-import { getBaseClasses, ICommonObject, INode, INodeData, INodeParams } from '../../../src'
+import { Embeddings } from '@langchain/core/embeddings'
+import { BaseStore } from '@langchain/core/stores'
import { CacheBackedEmbeddings } from 'langchain/embeddings/cache_backed'
-import { Embeddings } from 'langchain/embeddings/base'
-import { BaseStore } from 'langchain/schema/storage'
+import { getBaseClasses, ICommonObject, INode, INodeData, INodeParams } from '../../../src'
class InMemoryEmbeddingCache implements INode {
label: string
diff --git a/packages/components/nodes/cache/MomentoCache/MomentoCache.ts b/packages/components/nodes/cache/MomentoCache/MomentoCache.ts
index 8b4ce416..e30e8475 100644
--- a/packages/components/nodes/cache/MomentoCache/MomentoCache.ts
+++ b/packages/components/nodes/cache/MomentoCache/MomentoCache.ts
@@ -1,6 +1,6 @@
-import { getBaseClasses, getCredentialData, getCredentialParam, ICommonObject, INode, INodeData, INodeParams } from '../../../src'
-import { MomentoCache as LangchainMomentoCache } from 'langchain/cache/momento'
import { CacheClient, Configurations, CredentialProvider } from '@gomomento/sdk'
+import { MomentoCache as LangchainMomentoCache } from '@langchain/community/caches/momento'
+import { getBaseClasses, getCredentialData, getCredentialParam, ICommonObject, INode, INodeData, INodeParams } from '../../../src'
class MomentoCache implements INode {
label: string
diff --git a/packages/components/nodes/cache/RedisCache/RedisCache.ts b/packages/components/nodes/cache/RedisCache/RedisCache.ts
index cf7b43c9..c43a9562 100644
--- a/packages/components/nodes/cache/RedisCache/RedisCache.ts
+++ b/packages/components/nodes/cache/RedisCache/RedisCache.ts
@@ -1,9 +1,10 @@
-import { getBaseClasses, getCredentialData, getCredentialParam, ICommonObject, INode, INodeData, INodeParams } from '../../../src'
-import { RedisCache as LangchainRedisCache } from 'langchain/cache/ioredis'
import { Redis, RedisOptions } from 'ioredis'
import { isEqual } from 'lodash'
-import { Generation, ChatGeneration, StoredGeneration, mapStoredMessageToChatMessage } from 'langchain/schema'
import hash from 'object-hash'
+import { RedisCache as LangchainRedisCache } from '@langchain/community/caches/ioredis'
+import { StoredGeneration, mapStoredMessageToChatMessage } from '@langchain/core/messages'
+import { Generation, ChatGeneration } from '@langchain/core/outputs'
+import { getBaseClasses, getCredentialData, getCredentialParam, ICommonObject, INode, INodeData, INodeParams } from '../../../src'
let redisClientSingleton: Redis
let redisClientOption: RedisOptions
diff --git a/packages/components/nodes/cache/RedisCache/RedisEmbeddingsCache.ts b/packages/components/nodes/cache/RedisCache/RedisEmbeddingsCache.ts
index b74413fe..807d10b0 100644
--- a/packages/components/nodes/cache/RedisCache/RedisEmbeddingsCache.ts
+++ b/packages/components/nodes/cache/RedisCache/RedisEmbeddingsCache.ts
@@ -1,9 +1,9 @@
-import { getBaseClasses, getCredentialData, getCredentialParam, ICommonObject, INode, INodeData, INodeParams } from '../../../src'
import { Redis, RedisOptions } from 'ioredis'
import { isEqual } from 'lodash'
+import { RedisByteStore } from '@langchain/community/storage/ioredis'
+import { Embeddings } from '@langchain/core/embeddings'
import { CacheBackedEmbeddings } from 'langchain/embeddings/cache_backed'
-import { RedisByteStore } from 'langchain/storage/ioredis'
-import { Embeddings } from 'langchain/embeddings/base'
+import { getBaseClasses, getCredentialData, getCredentialParam, ICommonObject, INode, INodeData, INodeParams } from '../../../src'
let redisClientSingleton: Redis
let redisClientOption: RedisOptions
diff --git a/packages/components/nodes/cache/UpstashRedisCache/UpstashRedisCache.ts b/packages/components/nodes/cache/UpstashRedisCache/UpstashRedisCache.ts
index 311979c2..c50595d2 100644
--- a/packages/components/nodes/cache/UpstashRedisCache/UpstashRedisCache.ts
+++ b/packages/components/nodes/cache/UpstashRedisCache/UpstashRedisCache.ts
@@ -1,5 +1,5 @@
+import { UpstashRedisCache as LangchainUpstashRedisCache } from '@langchain/community/caches/upstash_redis'
import { getBaseClasses, getCredentialData, getCredentialParam, ICommonObject, INode, INodeData, INodeParams } from '../../../src'
-import { UpstashRedisCache as LangchainUpstashRedisCache } from 'langchain/cache/upstash_redis'
class UpstashRedisCache implements INode {
label: string
diff --git a/packages/components/nodes/chains/ApiChain/GETApiChain.ts b/packages/components/nodes/chains/ApiChain/GETApiChain.ts
index 3494fa1c..cdf78ffc 100644
--- a/packages/components/nodes/chains/ApiChain/GETApiChain.ts
+++ b/packages/components/nodes/chains/ApiChain/GETApiChain.ts
@@ -1,8 +1,8 @@
-import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { PromptTemplate } from '@langchain/core/prompts'
import { APIChain } from 'langchain/chains'
import { getBaseClasses } from '../../../src/utils'
-import { BaseLanguageModel } from 'langchain/base_language'
-import { PromptTemplate } from 'langchain/prompts'
+import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
export const API_URL_RAW_PROMPT_TEMPLATE = `You are given the below API Documentation:
diff --git a/packages/components/nodes/chains/ApiChain/OpenAPIChain.ts b/packages/components/nodes/chains/ApiChain/OpenAPIChain.ts
index 51459daa..d922a186 100644
--- a/packages/components/nodes/chains/ApiChain/OpenAPIChain.ts
+++ b/packages/components/nodes/chains/ApiChain/OpenAPIChain.ts
@@ -1,7 +1,7 @@
-import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
+import { ChatOpenAI } from '@langchain/openai'
import { APIChain, createOpenAPIChain } from 'langchain/chains'
+import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { ChatOpenAI } from 'langchain/chat_models/openai'
import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
class OpenApiChain_Chains implements INode {
diff --git a/packages/components/nodes/chains/ApiChain/POSTApiChain.ts b/packages/components/nodes/chains/ApiChain/POSTApiChain.ts
index 309b3310..e6f0bd34 100644
--- a/packages/components/nodes/chains/ApiChain/POSTApiChain.ts
+++ b/packages/components/nodes/chains/ApiChain/POSTApiChain.ts
@@ -1,9 +1,9 @@
-import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
-import { getBaseClasses } from '../../../src/utils'
-import { BaseLanguageModel } from 'langchain/base_language'
-import { PromptTemplate } from 'langchain/prompts'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { PromptTemplate } from '@langchain/core/prompts'
import { API_RESPONSE_RAW_PROMPT_TEMPLATE, API_URL_RAW_PROMPT_TEMPLATE, APIChain } from './postCore'
import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
+import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
+import { getBaseClasses } from '../../../src/utils'
class POSTApiChain_Chains implements INode {
label: string
diff --git a/packages/components/nodes/chains/ApiChain/postCore.ts b/packages/components/nodes/chains/ApiChain/postCore.ts
index de7215d9..d7ac7cb1 100644
--- a/packages/components/nodes/chains/ApiChain/postCore.ts
+++ b/packages/components/nodes/chains/ApiChain/postCore.ts
@@ -1,8 +1,8 @@
-import { BaseLanguageModel } from 'langchain/base_language'
-import { CallbackManagerForChainRun } from 'langchain/callbacks'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { CallbackManagerForChainRun } from '@langchain/core/callbacks/manager'
import { BaseChain, ChainInputs, LLMChain, SerializedAPIChain } from 'langchain/chains'
-import { BasePromptTemplate, PromptTemplate } from 'langchain/prompts'
-import { ChainValues } from 'langchain/schema'
+import { BasePromptTemplate, PromptTemplate } from '@langchain/core/prompts'
+import { ChainValues } from '@langchain/core/utils/types'
import fetch from 'node-fetch'
export const API_URL_RAW_PROMPT_TEMPLATE = `You are given the below API Documentation:
diff --git a/packages/components/nodes/chains/ConversationChain/ConversationChain.ts b/packages/components/nodes/chains/ConversationChain/ConversationChain.ts
index fd5a4fff..e82d6804 100644
--- a/packages/components/nodes/chains/ConversationChain/ConversationChain.ts
+++ b/packages/components/nodes/chains/ConversationChain/ConversationChain.ts
@@ -1,12 +1,12 @@
-import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeParams } from '../../../src/Interface'
-import { ConversationChain } from 'langchain/chains'
-import { getBaseClasses, handleEscapeCharacters } from '../../../src/utils'
-import { ChatPromptTemplate, HumanMessagePromptTemplate, MessagesPlaceholder, SystemMessagePromptTemplate } from 'langchain/prompts'
-import { BaseChatModel } from 'langchain/chat_models/base'
-import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
-import { RunnableSequence } from 'langchain/schema/runnable'
-import { StringOutputParser } from 'langchain/schema/output_parser'
+import { ChatPromptTemplate, HumanMessagePromptTemplate, MessagesPlaceholder, SystemMessagePromptTemplate } from '@langchain/core/prompts'
+import { BaseChatModel } from '@langchain/core/language_models/chat_models'
+import { RunnableSequence } from '@langchain/core/runnables'
+import { StringOutputParser } from '@langchain/core/output_parsers'
import { ConsoleCallbackHandler as LCConsoleCallbackHandler } from '@langchain/core/tracers/console'
+import { ConversationChain } from 'langchain/chains'
+import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeParams } from '../../../src/Interface'
+import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
+import { getBaseClasses, handleEscapeCharacters } from '../../../src/utils'
import { checkInputs, Moderation, streamResponse } from '../../moderation/Moderation'
import { formatResponse } from '../../outputparsers/OutputParserHelpers'
diff --git a/packages/components/nodes/chains/ConversationalRetrievalQAChain/ConversationalRetrievalQAChain.ts b/packages/components/nodes/chains/ConversationalRetrievalQAChain/ConversationalRetrievalQAChain.ts
index 964543de..46d739d1 100644
--- a/packages/components/nodes/chains/ConversationalRetrievalQAChain/ConversationalRetrievalQAChain.ts
+++ b/packages/components/nodes/chains/ConversationalRetrievalQAChain/ConversationalRetrievalQAChain.ts
@@ -1,19 +1,18 @@
-import { BaseLanguageModel } from 'langchain/base_language'
-import { ConversationalRetrievalQAChain } from 'langchain/chains'
-import { BaseRetriever } from 'langchain/schema/retriever'
-import { BufferMemoryInput } from 'langchain/memory'
-import { PromptTemplate } from 'langchain/prompts'
-import { QA_TEMPLATE, REPHRASE_TEMPLATE, RESPONSE_TEMPLATE } from './prompts'
-import { Runnable, RunnableSequence, RunnableMap, RunnableBranch, RunnableLambda } from 'langchain/schema/runnable'
-import { BaseMessage, HumanMessage, AIMessage } from 'langchain/schema'
-import { StringOutputParser } from 'langchain/schema/output_parser'
-import type { Document } from 'langchain/document'
-import { ChatPromptTemplate, MessagesPlaceholder } from 'langchain/prompts'
import { applyPatch } from 'fast-json-patch'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { BaseRetriever } from '@langchain/core/retrievers'
+import { PromptTemplate, ChatPromptTemplate, MessagesPlaceholder } from '@langchain/core/prompts'
+import { Runnable, RunnableSequence, RunnableMap, RunnableBranch, RunnableLambda } from '@langchain/core/runnables'
+import { BaseMessage, HumanMessage, AIMessage } from '@langchain/core/messages'
+import { ConsoleCallbackHandler as LCConsoleCallbackHandler } from '@langchain/core/tracers/console'
+import { StringOutputParser } from '@langchain/core/output_parsers'
+import type { Document } from '@langchain/core/documents'
+import { BufferMemoryInput } from 'langchain/memory'
+import { ConversationalRetrievalQAChain } from 'langchain/chains'
import { convertBaseMessagetoIMessage, getBaseClasses } from '../../../src/utils'
import { ConsoleCallbackHandler, additionalCallbacks } from '../../../src/handler'
import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeParams, MemoryMethods } from '../../../src/Interface'
-import { ConsoleCallbackHandler as LCConsoleCallbackHandler } from '@langchain/core/tracers/console'
+import { QA_TEMPLATE, REPHRASE_TEMPLATE, RESPONSE_TEMPLATE } from './prompts'
type RetrievalChainInput = {
chat_history: string
diff --git a/packages/components/nodes/chains/LLMChain/LLMChain.ts b/packages/components/nodes/chains/LLMChain/LLMChain.ts
index f83fc36a..6ad8d526 100644
--- a/packages/components/nodes/chains/LLMChain/LLMChain.ts
+++ b/packages/components/nodes/chains/LLMChain/LLMChain.ts
@@ -1,13 +1,12 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { getBaseClasses, handleEscapeCharacters } from '../../../src/utils'
-import { LLMChain } from 'langchain/chains'
-import { BaseLanguageModel, BaseLanguageModelCallOptions } from 'langchain/base_language'
-import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
-import { BaseOutputParser } from 'langchain/schema/output_parser'
-import { formatResponse, injectOutputParser } from '../../outputparsers/OutputParserHelpers'
-import { BaseLLMOutputParser } from 'langchain/schema/output_parser'
+import { BaseLanguageModel, BaseLanguageModelCallOptions } from '@langchain/core/language_models/base'
+import { BaseLLMOutputParser, BaseOutputParser } from '@langchain/core/output_parsers'
import { OutputFixingParser } from 'langchain/output_parsers'
+import { LLMChain } from 'langchain/chains'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
+import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
+import { getBaseClasses, handleEscapeCharacters } from '../../../src/utils'
import { checkInputs, Moderation, streamResponse } from '../../moderation/Moderation'
+import { formatResponse, injectOutputParser } from '../../outputparsers/OutputParserHelpers'
class LLMChain_Chains implements INode {
label: string
diff --git a/packages/components/nodes/chains/MultiPromptChain/MultiPromptChain.ts b/packages/components/nodes/chains/MultiPromptChain/MultiPromptChain.ts
index 72c25566..c4c1d372 100644
--- a/packages/components/nodes/chains/MultiPromptChain/MultiPromptChain.ts
+++ b/packages/components/nodes/chains/MultiPromptChain/MultiPromptChain.ts
@@ -1,7 +1,7 @@
-import { BaseLanguageModel } from 'langchain/base_language'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { MultiPromptChain } from 'langchain/chains'
import { ICommonObject, INode, INodeData, INodeParams, PromptRetriever } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { MultiPromptChain } from 'langchain/chains'
import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
class MultiPromptChain_Chains implements INode {
diff --git a/packages/components/nodes/chains/MultiRetrievalQAChain/MultiRetrievalQAChain.ts b/packages/components/nodes/chains/MultiRetrievalQAChain/MultiRetrievalQAChain.ts
index a2cfc309..3cb78ce8 100644
--- a/packages/components/nodes/chains/MultiRetrievalQAChain/MultiRetrievalQAChain.ts
+++ b/packages/components/nodes/chains/MultiRetrievalQAChain/MultiRetrievalQAChain.ts
@@ -1,7 +1,7 @@
-import { BaseLanguageModel } from 'langchain/base_language'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { MultiRetrievalQAChain } from 'langchain/chains'
import { ICommonObject, INode, INodeData, INodeParams, VectorStoreRetriever } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { MultiRetrievalQAChain } from 'langchain/chains'
import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
class MultiRetrievalQAChain_Chains implements INode {
diff --git a/packages/components/nodes/chains/RetrievalQAChain/RetrievalQAChain.ts b/packages/components/nodes/chains/RetrievalQAChain/RetrievalQAChain.ts
index 7f13fcfd..3968d3c0 100644
--- a/packages/components/nodes/chains/RetrievalQAChain/RetrievalQAChain.ts
+++ b/packages/components/nodes/chains/RetrievalQAChain/RetrievalQAChain.ts
@@ -1,9 +1,9 @@
-import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
+import { BaseRetriever } from '@langchain/core/retrievers'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
import { RetrievalQAChain } from 'langchain/chains'
-import { BaseRetriever } from 'langchain/schema/retriever'
-import { getBaseClasses } from '../../../src/utils'
-import { BaseLanguageModel } from 'langchain/base_language'
import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
+import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
+import { getBaseClasses } from '../../../src/utils'
class RetrievalQAChain_Chains implements INode {
label: string
diff --git a/packages/components/nodes/chains/SqlDatabaseChain/SqlDatabaseChain.ts b/packages/components/nodes/chains/SqlDatabaseChain/SqlDatabaseChain.ts
index ac33fa0e..2c9f3813 100644
--- a/packages/components/nodes/chains/SqlDatabaseChain/SqlDatabaseChain.ts
+++ b/packages/components/nodes/chains/SqlDatabaseChain/SqlDatabaseChain.ts
@@ -1,12 +1,12 @@
-import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
-import { SqlDatabaseChain, SqlDatabaseChainInput, DEFAULT_SQL_DATABASE_PROMPT } from 'langchain/chains/sql_db'
-import { getBaseClasses, getInputVariables } from '../../../src/utils'
-import { DataSource } from 'typeorm'
-import { SqlDatabase } from 'langchain/sql_db'
-import { BaseLanguageModel } from 'langchain/base_language'
-import { PromptTemplate, PromptTemplateInput } from 'langchain/prompts'
-import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
import { DataSourceOptions } from 'typeorm/data-source'
+import { DataSource } from 'typeorm'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { PromptTemplate, PromptTemplateInput } from '@langchain/core/prompts'
+import { SqlDatabaseChain, SqlDatabaseChainInput, DEFAULT_SQL_DATABASE_PROMPT } from 'langchain/chains/sql_db'
+import { SqlDatabase } from 'langchain/sql_db'
+import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
+import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
+import { getBaseClasses, getInputVariables } from '../../../src/utils'
type DatabaseType = 'sqlite' | 'postgres' | 'mssql' | 'mysql'
diff --git a/packages/components/nodes/chains/VectaraChain/VectaraChain.ts b/packages/components/nodes/chains/VectaraChain/VectaraChain.ts
index 7d65c9cd..97bbaa67 100644
--- a/packages/components/nodes/chains/VectaraChain/VectaraChain.ts
+++ b/packages/components/nodes/chains/VectaraChain/VectaraChain.ts
@@ -1,9 +1,9 @@
+import fetch from 'node-fetch'
+import { Document } from '@langchain/core/documents'
+import { VectaraStore } from '@langchain/community/vectorstores/vectara'
+import { VectorDBQAChain } from 'langchain/chains'
import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { VectorDBQAChain } from 'langchain/chains'
-import { Document } from 'langchain/document'
-import { VectaraStore } from 'langchain/vectorstores/vectara'
-import fetch from 'node-fetch'
// functionality based on https://github.com/vectara/vectara-answer
const reorderCitations = (unorderedSummary: string) => {
diff --git a/packages/components/nodes/chains/VectorDBQAChain/VectorDBQAChain.ts b/packages/components/nodes/chains/VectorDBQAChain/VectorDBQAChain.ts
index 594ed921..ef0df01a 100644
--- a/packages/components/nodes/chains/VectorDBQAChain/VectorDBQAChain.ts
+++ b/packages/components/nodes/chains/VectorDBQAChain/VectorDBQAChain.ts
@@ -1,9 +1,9 @@
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { VectorStore } from '@langchain/core/vectorstores'
+import { VectorDBQAChain } from 'langchain/chains'
+import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { VectorDBQAChain } from 'langchain/chains'
-import { BaseLanguageModel } from 'langchain/base_language'
-import { VectorStore } from 'langchain/vectorstores/base'
-import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler'
class VectorDBQAChain_Chains implements INode {
label: string
diff --git a/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts b/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts
index fedd731d..85586d14 100644
--- a/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts
+++ b/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts
@@ -1,9 +1,9 @@
+import { BedrockChat } from '@langchain/community/chat_models/bedrock'
+import { BaseCache } from '@langchain/core/caches'
+import { BaseChatModelParams } from '@langchain/core/language_models/chat_models'
+import { BaseBedrockInput } from 'langchain/dist/util/bedrock'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { BedrockChat } from 'langchain/chat_models/bedrock'
-import { BaseBedrockInput } from 'langchain/dist/util/bedrock'
-import { BaseCache } from 'langchain/schema'
-import { BaseChatModelParams } from 'langchain/chat_models/base'
/**
* I had to run the following to build the component
diff --git a/packages/components/nodes/chatmodels/AzureChatOpenAI/AzureChatOpenAI.ts b/packages/components/nodes/chatmodels/AzureChatOpenAI/AzureChatOpenAI.ts
index 9b7b724a..ea924fd0 100644
--- a/packages/components/nodes/chatmodels/AzureChatOpenAI/AzureChatOpenAI.ts
+++ b/packages/components/nodes/chatmodels/AzureChatOpenAI/AzureChatOpenAI.ts
@@ -1,8 +1,8 @@
+import { AzureOpenAIInput, ChatOpenAI, OpenAIChatInput } from '@langchain/openai'
+import { BaseCache } from '@langchain/core/caches'
+import { BaseLLMParams } from '@langchain/core/language_models/llms'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { AzureOpenAIInput, ChatOpenAI, OpenAIChatInput } from 'langchain/chat_models/openai'
-import { BaseCache } from 'langchain/schema'
-import { BaseLLMParams } from 'langchain/llms/base'
class AzureChatOpenAI_ChatModels implements INode {
label: string
diff --git a/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts b/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts
index 9563ea43..838592f4 100644
--- a/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts
+++ b/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts
@@ -1,7 +1,7 @@
+import { BaseCache } from '@langchain/core/caches'
+import { NIBittensorChatModel, BittensorInput } from 'langchain/experimental/chat_models/bittensor'
import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { NIBittensorChatModel, BittensorInput } from 'langchain/experimental/chat_models/bittensor'
-import { BaseCache } from 'langchain/schema'
class Bittensor_ChatModels implements INode {
label: string
diff --git a/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic.ts b/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic.ts
index 599578f5..8b4f7c0e 100644
--- a/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic.ts
+++ b/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic.ts
@@ -1,8 +1,8 @@
+import { AnthropicInput, ChatAnthropic } from '@langchain/anthropic'
+import { BaseCache } from '@langchain/core/caches'
+import { BaseLLMParams } from '@langchain/core/language_models/llms'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { AnthropicInput, ChatAnthropic } from 'langchain/chat_models/anthropic'
-import { BaseCache } from 'langchain/schema'
-import { BaseLLMParams } from 'langchain/llms/base'
class ChatAnthropic_ChatModels implements INode {
label: string
diff --git a/packages/components/nodes/chatmodels/ChatGoogleGenerativeAI/ChatGoogleGenerativeAI.ts b/packages/components/nodes/chatmodels/ChatGoogleGenerativeAI/ChatGoogleGenerativeAI.ts
index 9a4b8891..19029467 100644
--- a/packages/components/nodes/chatmodels/ChatGoogleGenerativeAI/ChatGoogleGenerativeAI.ts
+++ b/packages/components/nodes/chatmodels/ChatGoogleGenerativeAI/ChatGoogleGenerativeAI.ts
@@ -1,9 +1,9 @@
-import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
-import { convertMultiOptionsToStringArray, getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { BaseCache } from 'langchain/schema'
-import { ChatGoogleGenerativeAI, GoogleGenerativeAIChatInput } from '@langchain/google-genai'
import { HarmBlockThreshold, HarmCategory } from '@google/generative-ai'
import type { SafetySetting } from '@google/generative-ai'
+import { ChatGoogleGenerativeAI, GoogleGenerativeAIChatInput } from '@langchain/google-genai'
+import { BaseCache } from '@langchain/core/caches'
+import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
+import { convertMultiOptionsToStringArray, getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
class GoogleGenerativeAI_ChatModels implements INode {
label: string
diff --git a/packages/components/nodes/chatmodels/ChatGooglePaLM/ChatGooglePaLM.ts b/packages/components/nodes/chatmodels/ChatGooglePaLM/ChatGooglePaLM.ts
index ab7a6169..5e55cfdd 100644
--- a/packages/components/nodes/chatmodels/ChatGooglePaLM/ChatGooglePaLM.ts
+++ b/packages/components/nodes/chatmodels/ChatGooglePaLM/ChatGooglePaLM.ts
@@ -1,7 +1,7 @@
+import { ChatGooglePaLM, GooglePaLMChatInput } from '@langchain/community/chat_models/googlepalm'
+import { BaseCache } from '@langchain/core/caches'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { ChatGooglePaLM, GooglePaLMChatInput } from 'langchain/chat_models/googlepalm'
-import { BaseCache } from 'langchain/schema'
class ChatGooglePaLM_ChatModels implements INode {
label: string
diff --git a/packages/components/nodes/chatmodels/ChatGoogleVertexAI/ChatGoogleVertexAI.ts b/packages/components/nodes/chatmodels/ChatGoogleVertexAI/ChatGoogleVertexAI.ts
index 4c961853..782a4aec 100644
--- a/packages/components/nodes/chatmodels/ChatGoogleVertexAI/ChatGoogleVertexAI.ts
+++ b/packages/components/nodes/chatmodels/ChatGoogleVertexAI/ChatGoogleVertexAI.ts
@@ -1,8 +1,8 @@
+import { GoogleAuthOptions } from 'google-auth-library'
+import { BaseCache } from '@langchain/core/caches'
+import { ChatGoogleVertexAI, GoogleVertexAIChatInput } from '@langchain/community/chat_models/googlevertexai'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { ChatGoogleVertexAI, GoogleVertexAIChatInput } from 'langchain/chat_models/googlevertexai'
-import { GoogleAuthOptions } from 'google-auth-library'
-import { BaseCache } from 'langchain/schema'
class GoogleVertexAI_ChatModels implements INode {
label: string
diff --git a/packages/components/nodes/chatmodels/ChatHuggingFace/ChatHuggingFace.ts b/packages/components/nodes/chatmodels/ChatHuggingFace/ChatHuggingFace.ts
index dff78193..4d29a7db 100644
--- a/packages/components/nodes/chatmodels/ChatHuggingFace/ChatHuggingFace.ts
+++ b/packages/components/nodes/chatmodels/ChatHuggingFace/ChatHuggingFace.ts
@@ -1,7 +1,7 @@
+import { BaseCache } from '@langchain/core/caches'
+import { HFInput, HuggingFaceInference } from './core'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { HFInput, HuggingFaceInference } from './core'
-import { BaseCache } from 'langchain/schema'
class ChatHuggingFace_ChatModels implements INode {
label: string
diff --git a/packages/components/nodes/chatmodels/ChatHuggingFace/core.ts b/packages/components/nodes/chatmodels/ChatHuggingFace/core.ts
index 416567f0..0d74bbe7 100644
--- a/packages/components/nodes/chatmodels/ChatHuggingFace/core.ts
+++ b/packages/components/nodes/chatmodels/ChatHuggingFace/core.ts
@@ -1,5 +1,5 @@
+import { LLM, BaseLLMParams } from '@langchain/core/language_models/llms'
import { getEnvironmentVariable } from '../../../src/utils'
-import { LLM, BaseLLMParams } from 'langchain/llms/base'
export interface HFInput {
/** Model to use */
diff --git a/packages/components/nodes/chatmodels/ChatLocalAI/ChatLocalAI.ts b/packages/components/nodes/chatmodels/ChatLocalAI/ChatLocalAI.ts
index f2825d0d..e8516ac4 100644
--- a/packages/components/nodes/chatmodels/ChatLocalAI/ChatLocalAI.ts
+++ b/packages/components/nodes/chatmodels/ChatLocalAI/ChatLocalAI.ts
@@ -1,9 +1,8 @@
+import { OpenAIChatInput, ChatOpenAI } from '@langchain/openai'
+import { BaseCache } from '@langchain/core/caches'
+import { BaseLLMParams } from '@langchain/core/language_models/llms'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { OpenAIChat } from 'langchain/llms/openai'
-import { OpenAIChatInput } from 'langchain/chat_models/openai'
-import { BaseCache } from 'langchain/schema'
-import { BaseLLMParams } from 'langchain/llms/base'
class ChatLocalAI_ChatModels implements INode {
label: string
@@ -25,7 +24,7 @@ class ChatLocalAI_ChatModels implements INode {
this.icon = 'localai.png'
this.category = 'Chat Models'
this.description = 'Use local LLMs like llama.cpp, gpt4all using LocalAI'
- this.baseClasses = [this.type, 'BaseChatModel', ...getBaseClasses(OpenAIChat)]
+ this.baseClasses = [this.type, 'BaseChatModel', ...getBaseClasses(ChatOpenAI)]
this.credential = {
label: 'Connect Credential',
name: 'credential',
@@ -111,7 +110,7 @@ class ChatLocalAI_ChatModels implements INode {
if (cache) obj.cache = cache
if (localAIApiKey) obj.openAIApiKey = localAIApiKey
- const model = new OpenAIChat(obj, { basePath })
+ const model = new ChatOpenAI(obj, { basePath })
return model
}
diff --git a/packages/components/nodes/chatmodels/ChatMistral/ChatMistral.ts b/packages/components/nodes/chatmodels/ChatMistral/ChatMistral.ts
index 4524db46..87ad240a 100644
--- a/packages/components/nodes/chatmodels/ChatMistral/ChatMistral.ts
+++ b/packages/components/nodes/chatmodels/ChatMistral/ChatMistral.ts
@@ -1,7 +1,7 @@
+import { BaseCache } from '@langchain/core/caches'
+import { ChatMistralAI, ChatMistralAIInput } from '@langchain/mistralai'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { BaseCache } from 'langchain/schema'
-import { ChatMistralAI, ChatMistralAIInput } from '@langchain/mistralai'
class ChatMistral_ChatModels implements INode {
label: string
diff --git a/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts b/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts
index d445c7e1..09c3da42 100644
--- a/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts
+++ b/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts
@@ -1,8 +1,8 @@
+import { ChatOllama, ChatOllamaInput } from '@langchain/community/chat_models/ollama'
+import { BaseCache } from '@langchain/core/caches'
+import { BaseLLMParams } from '@langchain/core/language_models/llms'
import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { ChatOllama, ChatOllamaInput } from 'langchain/chat_models/ollama'
-import { BaseCache } from 'langchain/schema'
-import { BaseLLMParams } from 'langchain/llms/base'
class ChatOllama_ChatModels implements INode {
label: string
diff --git a/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI.ts b/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI.ts
index a0d0bd6e..922dfac1 100644
--- a/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI.ts
+++ b/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI.ts
@@ -1,8 +1,8 @@
+import { ChatOpenAI, OpenAIChatInput } from '@langchain/openai'
+import { BaseCache } from '@langchain/core/caches'
+import { BaseLLMParams } from '@langchain/core/language_models/llms'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { ChatOpenAI, OpenAIChatInput } from 'langchain/chat_models/openai'
-import { BaseCache } from 'langchain/schema'
-import { BaseLLMParams } from 'langchain/llms/base'
class ChatOpenAI_ChatModels implements INode {
label: string
@@ -59,6 +59,10 @@ class ChatOpenAI_ChatModels implements INode {
label: 'gpt-4-1106-preview',
name: 'gpt-4-1106-preview'
},
+ {
+ label: 'gpt-4-1106-vision-preview',
+ name: 'gpt-4-1106-vision-preview'
+ },
{
label: 'gpt-4-vision-preview',
name: 'gpt-4-vision-preview'
diff --git a/packages/components/nodes/chatmodels/ChatOpenAICustom/ChatOpenAICustom.ts b/packages/components/nodes/chatmodels/ChatOpenAICustom/ChatOpenAICustom.ts
index e80f17b7..c84f4c1e 100644
--- a/packages/components/nodes/chatmodels/ChatOpenAICustom/ChatOpenAICustom.ts
+++ b/packages/components/nodes/chatmodels/ChatOpenAICustom/ChatOpenAICustom.ts
@@ -1,8 +1,8 @@
+import { ChatOpenAI, OpenAIChatInput } from '@langchain/openai'
+import { BaseCache } from '@langchain/core/caches'
+import { BaseLLMParams } from '@langchain/core/language_models/llms'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { ChatOpenAI, OpenAIChatInput } from 'langchain/chat_models/openai'
-import { BaseCache } from 'langchain/schema'
-import { BaseLLMParams } from 'langchain/llms/base'
class ChatOpenAICustom_ChatModels implements INode {
label: string
diff --git a/packages/components/nodes/documentloaders/API/APILoader.ts b/packages/components/nodes/documentloaders/API/APILoader.ts
index e2212366..ebe4f368 100644
--- a/packages/components/nodes/documentloaders/API/APILoader.ts
+++ b/packages/components/nodes/documentloaders/API/APILoader.ts
@@ -1,8 +1,8 @@
-import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
+import axios, { AxiosRequestConfig } from 'axios'
+import { Document } from '@langchain/core/documents'
import { TextSplitter } from 'langchain/text_splitter'
import { BaseDocumentLoader } from 'langchain/document_loaders/base'
-import { Document } from 'langchain/document'
-import axios, { AxiosRequestConfig } from 'axios'
+import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
class API_DocumentLoaders implements INode {
label: string
diff --git a/packages/components/nodes/documentloaders/Airtable/Airtable.ts b/packages/components/nodes/documentloaders/Airtable/Airtable.ts
index 14815297..b179dc20 100644
--- a/packages/components/nodes/documentloaders/Airtable/Airtable.ts
+++ b/packages/components/nodes/documentloaders/Airtable/Airtable.ts
@@ -1,9 +1,9 @@
-import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
+import axios from 'axios'
+import { Document } from '@langchain/core/documents'
import { TextSplitter } from 'langchain/text_splitter'
import { BaseDocumentLoader } from 'langchain/document_loaders/base'
-import { Document } from 'langchain/document'
-import axios from 'axios'
import { getCredentialData, getCredentialParam } from '../../../src/utils'
+import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
class Airtable_DocumentLoaders implements INode {
label: string
diff --git a/packages/components/nodes/documentloaders/ApifyWebsiteContentCrawler/ApifyWebsiteContentCrawler.ts b/packages/components/nodes/documentloaders/ApifyWebsiteContentCrawler/ApifyWebsiteContentCrawler.ts
index 9ecaa594..c29a6bdf 100644
--- a/packages/components/nodes/documentloaders/ApifyWebsiteContentCrawler/ApifyWebsiteContentCrawler.ts
+++ b/packages/components/nodes/documentloaders/ApifyWebsiteContentCrawler/ApifyWebsiteContentCrawler.ts
@@ -2,7 +2,7 @@ import { INode, INodeData, INodeParams, ICommonObject } from '../../../src/Inter
import { getCredentialData, getCredentialParam } from '../../../src/utils'
import { TextSplitter } from 'langchain/text_splitter'
import { ApifyDatasetLoader } from 'langchain/document_loaders/web/apify_dataset'
-import { Document } from 'langchain/document'
+import { Document } from '@langchain/core/documents'
class ApifyWebsiteContentCrawler_DocumentLoaders implements INode {
label: string
diff --git a/packages/components/nodes/documentloaders/Cheerio/Cheerio.ts b/packages/components/nodes/documentloaders/Cheerio/Cheerio.ts
index 3eba0ece..48ae85bc 100644
--- a/packages/components/nodes/documentloaders/Cheerio/Cheerio.ts
+++ b/packages/components/nodes/documentloaders/Cheerio/Cheerio.ts
@@ -126,7 +126,9 @@ class Cheerio_DocumentLoaders implements INode {
let docs = []
if (relativeLinksMethod) {
if (process.env.DEBUG === 'true') options.logger.info(`Start ${relativeLinksMethod}`)
- if (!limit) limit = 10
+ // if limit is 0 we don't want it to default to 10 so we check explicitly for null or undefined
+ // so when limit is 0 we can fetch all the links
+ if (limit === null || limit === undefined) limit = 10
else if (limit < 0) throw new Error('Limit cannot be less than 0')
const pages: string[] =
selectedLinks && selectedLinks.length > 0
@@ -143,7 +145,7 @@ class Cheerio_DocumentLoaders implements INode {
} else if (selectedLinks && selectedLinks.length > 0) {
if (process.env.DEBUG === 'true')
options.logger.info(`pages: ${JSON.stringify(selectedLinks)}, length: ${selectedLinks.length}`)
- for (const page of selectedLinks) {
+ for (const page of selectedLinks.slice(0, limit)) {
docs.push(...(await cheerioLoader(page)))
}
} else {
diff --git a/packages/components/nodes/documentloaders/PlainText/PlainText.ts b/packages/components/nodes/documentloaders/PlainText/PlainText.ts
index c0c697a3..efff5870 100644
--- a/packages/components/nodes/documentloaders/PlainText/PlainText.ts
+++ b/packages/components/nodes/documentloaders/PlainText/PlainText.ts
@@ -1,6 +1,6 @@
import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { TextSplitter } from 'langchain/text_splitter'
-import { Document } from 'langchain/document'
+import { Document } from '@langchain/core/documents'
import { handleEscapeCharacters } from '../../../src'
class PlainText_DocumentLoaders implements INode {
diff --git a/packages/components/nodes/documentloaders/Playwright/Playwright.ts b/packages/components/nodes/documentloaders/Playwright/Playwright.ts
index 2de166ce..55fa9608 100644
--- a/packages/components/nodes/documentloaders/Playwright/Playwright.ts
+++ b/packages/components/nodes/documentloaders/Playwright/Playwright.ts
@@ -167,7 +167,9 @@ class Playwright_DocumentLoaders implements INode {
let docs = []
if (relativeLinksMethod) {
if (process.env.DEBUG === 'true') options.logger.info(`Start ${relativeLinksMethod}`)
- if (!limit) limit = 10
+ // if limit is 0 we don't want it to default to 10 so we check explicitly for null or undefined
+ // so when limit is 0 we can fetch all the links
+ if (limit === null || limit === undefined) limit = 10
else if (limit < 0) throw new Error('Limit cannot be less than 0')
const pages: string[] =
selectedLinks && selectedLinks.length > 0
@@ -184,7 +186,7 @@ class Playwright_DocumentLoaders implements INode {
} else if (selectedLinks && selectedLinks.length > 0) {
if (process.env.DEBUG === 'true')
options.logger.info(`pages: ${JSON.stringify(selectedLinks)}, length: ${selectedLinks.length}`)
- for (const page of selectedLinks) {
+ for (const page of selectedLinks.slice(0, limit)) {
docs.push(...(await playwrightLoader(page)))
}
} else {
diff --git a/packages/components/nodes/documentloaders/Puppeteer/Puppeteer.ts b/packages/components/nodes/documentloaders/Puppeteer/Puppeteer.ts
index 3d28f310..90b5a277 100644
--- a/packages/components/nodes/documentloaders/Puppeteer/Puppeteer.ts
+++ b/packages/components/nodes/documentloaders/Puppeteer/Puppeteer.ts
@@ -168,7 +168,9 @@ class Puppeteer_DocumentLoaders implements INode {
let docs = []
if (relativeLinksMethod) {
if (process.env.DEBUG === 'true') options.logger.info(`Start ${relativeLinksMethod}`)
- if (!limit) limit = 10
+ // if limit is 0 we don't want it to default to 10 so we check explicitly for null or undefined
+ // so when limit is 0 we can fetch all the links
+ if (limit === null || limit === undefined) limit = 10
else if (limit < 0) throw new Error('Limit cannot be less than 0')
const pages: string[] =
selectedLinks && selectedLinks.length > 0
@@ -185,7 +187,7 @@ class Puppeteer_DocumentLoaders implements INode {
} else if (selectedLinks && selectedLinks.length > 0) {
if (process.env.DEBUG === 'true')
options.logger.info(`pages: ${JSON.stringify(selectedLinks)}, length: ${selectedLinks.length}`)
- for (const page of selectedLinks) {
+ for (const page of selectedLinks.slice(0, limit)) {
docs.push(...(await puppeteerLoader(page)))
}
} else {
diff --git a/packages/components/nodes/documentloaders/Subtitles/Subtitles.ts b/packages/components/nodes/documentloaders/Subtitles/Subtitles.ts
deleted file mode 100644
index f85898b3..00000000
--- a/packages/components/nodes/documentloaders/Subtitles/Subtitles.ts
+++ /dev/null
@@ -1,97 +0,0 @@
-import { INode, INodeData, INodeParams } from '../../../src/Interface'
-import { TextSplitter } from 'langchain/text_splitter'
-import { SRTLoader } from 'langchain/document_loaders/fs/srt'
-
-class Subtitles_DocumentLoaders implements INode {
- label: string
- name: string
- version: number
- description: string
- type: string
- icon: string
- category: string
- baseClasses: string[]
- inputs: INodeParams[]
-
- constructor() {
- this.label = 'Subtitles File'
- this.name = 'subtitlesFile'
- this.version = 1.0
- this.type = 'Document'
- this.icon = 'subtitlesFile.svg'
- this.category = 'Document Loaders'
- this.description = `Load data from subtitles files`
- this.baseClasses = [this.type]
- this.inputs = [
- {
- label: 'Subtitles File',
- name: 'subtitlesFile',
- type: 'file',
- fileType: '.srt'
- },
- {
- label: 'Text Splitter',
- name: 'textSplitter',
- type: 'TextSplitter',
- optional: true
- },
- {
- label: 'Metadata',
- name: 'metadata',
- type: 'json',
- optional: true,
- additionalParams: true
- }
- ]
- }
-
- async init(nodeData: INodeData): Promise {
- const textSplitter = nodeData.inputs?.textSplitter as TextSplitter
- const subtitlesFileBase64 = nodeData.inputs?.subtitlesFile as string
- const metadata = nodeData.inputs?.metadata
-
- let alldocs = []
- let files: string[] = []
-
- if (subtitlesFileBase64.startsWith('[') && subtitlesFileBase64.endsWith(']')) {
- files = JSON.parse(subtitlesFileBase64)
- } else {
- files = [subtitlesFileBase64]
- }
-
- for (const file of files) {
- const splitDataURI = file.split(',')
- splitDataURI.pop()
- const bf = Buffer.from(splitDataURI.pop() || '', 'base64')
- const blob = new Blob([bf])
- const loader = new SRTLoader(blob)
-
- if (textSplitter) {
- const docs = await loader.loadAndSplit(textSplitter)
- alldocs.push(...docs)
- } else {
- const docs = await loader.load()
- alldocs.push(...docs)
- }
- }
-
- if (metadata) {
- const parsedMetadata = typeof metadata === 'object' ? metadata : JSON.parse(metadata)
- let finaldocs = []
- for (const doc of alldocs) {
- const newdoc = {
- ...doc,
- metadata: {
- ...doc.metadata,
- ...parsedMetadata
- }
- }
- finaldocs.push(newdoc)
- }
- return finaldocs
- }
- return alldocs
- }
-}
-
-module.exports = { nodeClass: Subtitles_DocumentLoaders }
diff --git a/packages/components/nodes/documentloaders/Subtitles/subtitlesFile.svg b/packages/components/nodes/documentloaders/Subtitles/subtitlesFile.svg
deleted file mode 100644
index 251f51e4..00000000
--- a/packages/components/nodes/documentloaders/Subtitles/subtitlesFile.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/packages/components/nodes/documentloaders/Text/Text.ts b/packages/components/nodes/documentloaders/Text/Text.ts
index 1eea709e..c43f913c 100644
--- a/packages/components/nodes/documentloaders/Text/Text.ts
+++ b/packages/components/nodes/documentloaders/Text/Text.ts
@@ -1,7 +1,7 @@
import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { TextSplitter } from 'langchain/text_splitter'
import { TextLoader } from 'langchain/document_loaders/fs/text'
-import { Document } from 'langchain/document'
+import { Document } from '@langchain/core/documents'
import { handleEscapeCharacters } from '../../../src'
class Text_DocumentLoaders implements INode {
diff --git a/packages/components/nodes/documentloaders/VectorStoreToDocument/VectorStoreToDocument.ts b/packages/components/nodes/documentloaders/VectorStoreToDocument/VectorStoreToDocument.ts
index 27ef36f5..366f9122 100644
--- a/packages/components/nodes/documentloaders/VectorStoreToDocument/VectorStoreToDocument.ts
+++ b/packages/components/nodes/documentloaders/VectorStoreToDocument/VectorStoreToDocument.ts
@@ -1,4 +1,4 @@
-import { VectorStore } from 'langchain/vectorstores/base'
+import { VectorStore } from '@langchain/core/vectorstores'
import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { handleEscapeCharacters } from '../../../src/utils'
diff --git a/packages/components/nodes/embeddings/AWSBedrockEmbedding/AWSBedrockEmbedding.ts b/packages/components/nodes/embeddings/AWSBedrockEmbedding/AWSBedrockEmbedding.ts
index d7445c30..21a2840c 100644
--- a/packages/components/nodes/embeddings/AWSBedrockEmbedding/AWSBedrockEmbedding.ts
+++ b/packages/components/nodes/embeddings/AWSBedrockEmbedding/AWSBedrockEmbedding.ts
@@ -1,7 +1,7 @@
+import { BedrockRuntimeClient, InvokeModelCommand } from '@aws-sdk/client-bedrock-runtime'
+import { BedrockEmbeddings, BedrockEmbeddingsParams } from '@langchain/community/embeddings/bedrock'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { BedrockEmbeddings, BedrockEmbeddingsParams } from 'langchain/embeddings/bedrock'
-import { BedrockRuntimeClient, InvokeModelCommand } from '@aws-sdk/client-bedrock-runtime'
class AWSBedrockEmbedding_Embeddings implements INode {
label: string
diff --git a/packages/components/nodes/embeddings/AzureOpenAIEmbedding/AzureOpenAIEmbedding.ts b/packages/components/nodes/embeddings/AzureOpenAIEmbedding/AzureOpenAIEmbedding.ts
index 75897e6c..df98c3d4 100644
--- a/packages/components/nodes/embeddings/AzureOpenAIEmbedding/AzureOpenAIEmbedding.ts
+++ b/packages/components/nodes/embeddings/AzureOpenAIEmbedding/AzureOpenAIEmbedding.ts
@@ -1,7 +1,6 @@
-import { AzureOpenAIInput } from 'langchain/chat_models/openai'
+import { AzureOpenAIInput, OpenAIEmbeddings, OpenAIEmbeddingsParams } from '@langchain/openai'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { OpenAIEmbeddings, OpenAIEmbeddingsParams } from 'langchain/embeddings/openai'
class AzureOpenAIEmbedding_Embeddings implements INode {
label: string
diff --git a/packages/components/nodes/embeddings/CohereEmbedding/CohereEmbedding.ts b/packages/components/nodes/embeddings/CohereEmbedding/CohereEmbedding.ts
index 92d0fe7d..ac249460 100644
--- a/packages/components/nodes/embeddings/CohereEmbedding/CohereEmbedding.ts
+++ b/packages/components/nodes/embeddings/CohereEmbedding/CohereEmbedding.ts
@@ -1,6 +1,6 @@
+import { CohereEmbeddings, CohereEmbeddingsParams } from '@langchain/cohere'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { CohereEmbeddings, CohereEmbeddingsParams } from 'langchain/embeddings/cohere'
class CohereEmbedding_Embeddings implements INode {
label: string
@@ -64,7 +64,7 @@ class CohereEmbedding_Embeddings implements INode {
apiKey: cohereApiKey
}
- if (modelName) obj.modelName = modelName
+ if (modelName) obj.model = modelName
const model = new CohereEmbeddings(obj)
return model
diff --git a/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLMEmbedding.ts b/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLMEmbedding.ts
index d003a928..01087161 100644
--- a/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLMEmbedding.ts
+++ b/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLMEmbedding.ts
@@ -1,6 +1,6 @@
+import { GooglePaLMEmbeddings, GooglePaLMEmbeddingsParams } from '@langchain/community/embeddings/googlepalm'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { GooglePaLMEmbeddings, GooglePaLMEmbeddingsParams } from 'langchain/embeddings/googlepalm'
class GooglePaLMEmbedding_Embeddings implements INode {
label: string
diff --git a/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertexAIEmbedding.ts b/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertexAIEmbedding.ts
index e60f688d..b6da7ded 100644
--- a/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertexAIEmbedding.ts
+++ b/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertexAIEmbedding.ts
@@ -1,7 +1,7 @@
-import { GoogleVertexAIEmbeddings, GoogleVertexAIEmbeddingsParams } from 'langchain/embeddings/googlevertexai'
+import { GoogleAuthOptions } from 'google-auth-library'
+import { GoogleVertexAIEmbeddings, GoogleVertexAIEmbeddingsParams } from '@langchain/community/embeddings/googlevertexai'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { GoogleAuthOptions } from 'google-auth-library'
class GoogleVertexAIEmbedding_Embeddings implements INode {
label: string
diff --git a/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/core.ts b/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/core.ts
index c75658d4..49e6efa4 100644
--- a/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/core.ts
+++ b/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/core.ts
@@ -1,5 +1,5 @@
import { HfInference } from '@huggingface/inference'
-import { Embeddings, EmbeddingsParams } from 'langchain/embeddings/base'
+import { Embeddings, EmbeddingsParams } from '@langchain/core/embeddings'
import { getEnvironmentVariable } from '../../../src/utils'
export interface HuggingFaceInferenceEmbeddingsParams extends EmbeddingsParams {
diff --git a/packages/components/nodes/embeddings/LocalAIEmbedding/LocalAIEmbedding.ts b/packages/components/nodes/embeddings/LocalAIEmbedding/LocalAIEmbedding.ts
index 24efaf8c..46820c21 100644
--- a/packages/components/nodes/embeddings/LocalAIEmbedding/LocalAIEmbedding.ts
+++ b/packages/components/nodes/embeddings/LocalAIEmbedding/LocalAIEmbedding.ts
@@ -1,6 +1,6 @@
+import { OpenAIEmbeddings, OpenAIEmbeddingsParams } from '@langchain/openai'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getCredentialData, getCredentialParam } from '../../../src/utils'
-import { OpenAIEmbeddings, OpenAIEmbeddingsParams } from 'langchain/embeddings/openai'
class LocalAIEmbedding_Embeddings implements INode {
label: string
diff --git a/packages/components/nodes/embeddings/MistralEmbedding/MistralEmbedding.ts b/packages/components/nodes/embeddings/MistralEmbedding/MistralEmbedding.ts
index 9ad63533..a5574788 100644
--- a/packages/components/nodes/embeddings/MistralEmbedding/MistralEmbedding.ts
+++ b/packages/components/nodes/embeddings/MistralEmbedding/MistralEmbedding.ts
@@ -1,6 +1,6 @@
+import { MistralAIEmbeddings, MistralAIEmbeddingsParams } from '@langchain/mistralai'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { MistralAIEmbeddings, MistralAIEmbeddingsParams } from '@langchain/mistralai'
class MistralEmbedding_Embeddings implements INode {
label: string
diff --git a/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts b/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts
index 8892b03f..690a1c0c 100644
--- a/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts
+++ b/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts
@@ -1,7 +1,7 @@
+import { OllamaEmbeddings } from '@langchain/community/embeddings/ollama'
+import { OllamaInput } from 'langchain/llms/ollama'
import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { OllamaInput } from 'langchain/llms/ollama'
-import { OllamaEmbeddings } from 'langchain/embeddings/ollama'
class OllamaEmbedding_Embeddings implements INode {
label: string
diff --git a/packages/components/nodes/embeddings/OpenAIEmbedding/OpenAIEmbedding.ts b/packages/components/nodes/embeddings/OpenAIEmbedding/OpenAIEmbedding.ts
index 7deec67e..b34e4ae5 100644
--- a/packages/components/nodes/embeddings/OpenAIEmbedding/OpenAIEmbedding.ts
+++ b/packages/components/nodes/embeddings/OpenAIEmbedding/OpenAIEmbedding.ts
@@ -1,6 +1,6 @@
+import { OpenAIEmbeddings, OpenAIEmbeddingsParams } from '@langchain/openai'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { OpenAIEmbeddings, OpenAIEmbeddingsParams } from 'langchain/embeddings/openai'
class OpenAIEmbedding_Embeddings implements INode {
label: string
diff --git a/packages/components/nodes/embeddings/OpenAIEmbeddingCustom/OpenAIEmbeddingCustom.ts b/packages/components/nodes/embeddings/OpenAIEmbeddingCustom/OpenAIEmbeddingCustom.ts
index 9bf87f6b..421f1a2d 100644
--- a/packages/components/nodes/embeddings/OpenAIEmbeddingCustom/OpenAIEmbeddingCustom.ts
+++ b/packages/components/nodes/embeddings/OpenAIEmbeddingCustom/OpenAIEmbeddingCustom.ts
@@ -1,6 +1,6 @@
+import { OpenAIEmbeddings, OpenAIEmbeddingsParams } from '@langchain/openai'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { OpenAIEmbeddings, OpenAIEmbeddingsParams } from 'langchain/embeddings/openai'
class OpenAIEmbeddingCustom_Embeddings implements INode {
label: string
diff --git a/packages/components/nodes/engine/QueryEngine/QueryEngine.ts b/packages/components/nodes/engine/QueryEngine/QueryEngine.ts
index bd6e040d..8ced3fcc 100644
--- a/packages/components/nodes/engine/QueryEngine/QueryEngine.ts
+++ b/packages/components/nodes/engine/QueryEngine/QueryEngine.ts
@@ -28,12 +28,12 @@ class QueryEngine_LlamaIndex implements INode {
constructor(fields?: { sessionId?: string }) {
this.label = 'Query Engine'
this.name = 'queryEngine'
- this.version = 1.0
+ this.version = 2.0
this.type = 'QueryEngine'
this.icon = 'query-engine.png'
this.category = 'Engine'
this.description = 'Simple query engine built to answer question over your data, without memory'
- this.baseClasses = [this.type]
+ this.baseClasses = [this.type, 'BaseQueryEngine']
this.tags = ['LlamaIndex']
this.inputs = [
{
@@ -59,52 +59,13 @@ class QueryEngine_LlamaIndex implements INode {
this.sessionId = fields?.sessionId
}
- async init(): Promise {
- return null
+ async init(nodeData: INodeData): Promise {
+ return prepareEngine(nodeData)
}
async run(nodeData: INodeData, input: string, options: ICommonObject): Promise {
const returnSourceDocuments = nodeData.inputs?.returnSourceDocuments as boolean
- const vectorStoreRetriever = nodeData.inputs?.vectorStoreRetriever
- const responseSynthesizerObj = nodeData.inputs?.responseSynthesizer
-
- let queryEngine = new RetrieverQueryEngine(vectorStoreRetriever)
-
- if (responseSynthesizerObj) {
- if (responseSynthesizerObj.type === 'TreeSummarize') {
- const responseSynthesizer = new ResponseSynthesizer({
- responseBuilder: new TreeSummarize(vectorStoreRetriever.serviceContext, responseSynthesizerObj.textQAPromptTemplate),
- serviceContext: vectorStoreRetriever.serviceContext
- })
- queryEngine = new RetrieverQueryEngine(vectorStoreRetriever, responseSynthesizer)
- } else if (responseSynthesizerObj.type === 'CompactAndRefine') {
- const responseSynthesizer = new ResponseSynthesizer({
- responseBuilder: new CompactAndRefine(
- vectorStoreRetriever.serviceContext,
- responseSynthesizerObj.textQAPromptTemplate,
- responseSynthesizerObj.refinePromptTemplate
- ),
- serviceContext: vectorStoreRetriever.serviceContext
- })
- queryEngine = new RetrieverQueryEngine(vectorStoreRetriever, responseSynthesizer)
- } else if (responseSynthesizerObj.type === 'Refine') {
- const responseSynthesizer = new ResponseSynthesizer({
- responseBuilder: new Refine(
- vectorStoreRetriever.serviceContext,
- responseSynthesizerObj.textQAPromptTemplate,
- responseSynthesizerObj.refinePromptTemplate
- ),
- serviceContext: vectorStoreRetriever.serviceContext
- })
- queryEngine = new RetrieverQueryEngine(vectorStoreRetriever, responseSynthesizer)
- } else if (responseSynthesizerObj.type === 'SimpleResponseBuilder') {
- const responseSynthesizer = new ResponseSynthesizer({
- responseBuilder: new SimpleResponseBuilder(vectorStoreRetriever.serviceContext),
- serviceContext: vectorStoreRetriever.serviceContext
- })
- queryEngine = new RetrieverQueryEngine(vectorStoreRetriever, responseSynthesizer)
- }
- }
+ const queryEngine = prepareEngine(nodeData)
let text = ''
let sourceDocuments: ICommonObject[] = []
@@ -140,4 +101,49 @@ class QueryEngine_LlamaIndex implements INode {
}
}
+const prepareEngine = (nodeData: INodeData) => {
+ const vectorStoreRetriever = nodeData.inputs?.vectorStoreRetriever
+ const responseSynthesizerObj = nodeData.inputs?.responseSynthesizer
+
+ let queryEngine = new RetrieverQueryEngine(vectorStoreRetriever)
+
+ if (responseSynthesizerObj) {
+ if (responseSynthesizerObj.type === 'TreeSummarize') {
+ const responseSynthesizer = new ResponseSynthesizer({
+ responseBuilder: new TreeSummarize(vectorStoreRetriever.serviceContext, responseSynthesizerObj.textQAPromptTemplate),
+ serviceContext: vectorStoreRetriever.serviceContext
+ })
+ queryEngine = new RetrieverQueryEngine(vectorStoreRetriever, responseSynthesizer)
+ } else if (responseSynthesizerObj.type === 'CompactAndRefine') {
+ const responseSynthesizer = new ResponseSynthesizer({
+ responseBuilder: new CompactAndRefine(
+ vectorStoreRetriever.serviceContext,
+ responseSynthesizerObj.textQAPromptTemplate,
+ responseSynthesizerObj.refinePromptTemplate
+ ),
+ serviceContext: vectorStoreRetriever.serviceContext
+ })
+ queryEngine = new RetrieverQueryEngine(vectorStoreRetriever, responseSynthesizer)
+ } else if (responseSynthesizerObj.type === 'Refine') {
+ const responseSynthesizer = new ResponseSynthesizer({
+ responseBuilder: new Refine(
+ vectorStoreRetriever.serviceContext,
+ responseSynthesizerObj.textQAPromptTemplate,
+ responseSynthesizerObj.refinePromptTemplate
+ ),
+ serviceContext: vectorStoreRetriever.serviceContext
+ })
+ queryEngine = new RetrieverQueryEngine(vectorStoreRetriever, responseSynthesizer)
+ } else if (responseSynthesizerObj.type === 'SimpleResponseBuilder') {
+ const responseSynthesizer = new ResponseSynthesizer({
+ responseBuilder: new SimpleResponseBuilder(vectorStoreRetriever.serviceContext),
+ serviceContext: vectorStoreRetriever.serviceContext
+ })
+ queryEngine = new RetrieverQueryEngine(vectorStoreRetriever, responseSynthesizer)
+ }
+ }
+
+ return queryEngine
+}
+
module.exports = { nodeClass: QueryEngine_LlamaIndex }
diff --git a/packages/components/nodes/engine/SubQuestionQueryEngine/SubQuestionQueryEngine.ts b/packages/components/nodes/engine/SubQuestionQueryEngine/SubQuestionQueryEngine.ts
index a872c0a2..a2a1e029 100644
--- a/packages/components/nodes/engine/SubQuestionQueryEngine/SubQuestionQueryEngine.ts
+++ b/packages/components/nodes/engine/SubQuestionQueryEngine/SubQuestionQueryEngine.ts
@@ -33,13 +33,13 @@ class SubQuestionQueryEngine_LlamaIndex implements INode {
constructor(fields?: { sessionId?: string }) {
this.label = 'Sub Question Query Engine'
this.name = 'subQuestionQueryEngine'
- this.version = 1.0
+ this.version = 2.0
this.type = 'SubQuestionQueryEngine'
this.icon = 'subQueryEngine.svg'
this.category = 'Engine'
this.description =
'Breaks complex query into sub questions for each relevant data source, then gather all the intermediate reponses and synthesizes a final response'
- this.baseClasses = [this.type]
+ this.baseClasses = [this.type, 'BaseQueryEngine']
this.tags = ['LlamaIndex']
this.inputs = [
{
@@ -76,85 +76,13 @@ class SubQuestionQueryEngine_LlamaIndex implements INode {
this.sessionId = fields?.sessionId
}
- async init(): Promise {
- return null
+ async init(nodeData: INodeData): Promise {
+ return prepareEngine(nodeData)
}
async run(nodeData: INodeData, input: string, options: ICommonObject): Promise {
const returnSourceDocuments = nodeData.inputs?.returnSourceDocuments as boolean
- const embeddings = nodeData.inputs?.embeddings as BaseEmbedding
- const model = nodeData.inputs?.model
-
- const serviceContext = serviceContextFromDefaults({
- llm: model,
- embedModel: embeddings
- })
-
- let queryEngineTools = nodeData.inputs?.queryEngineTools as QueryEngineTool[]
- queryEngineTools = flatten(queryEngineTools)
-
- let queryEngine = SubQuestionQueryEngine.fromDefaults({
- serviceContext,
- queryEngineTools,
- questionGen: new LLMQuestionGenerator({ llm: model })
- })
-
- const responseSynthesizerObj = nodeData.inputs?.responseSynthesizer
- if (responseSynthesizerObj) {
- if (responseSynthesizerObj.type === 'TreeSummarize') {
- const responseSynthesizer = new ResponseSynthesizer({
- responseBuilder: new TreeSummarize(serviceContext, responseSynthesizerObj.textQAPromptTemplate),
- serviceContext
- })
- queryEngine = SubQuestionQueryEngine.fromDefaults({
- responseSynthesizer,
- serviceContext,
- queryEngineTools,
- questionGen: new LLMQuestionGenerator({ llm: model })
- })
- } else if (responseSynthesizerObj.type === 'CompactAndRefine') {
- const responseSynthesizer = new ResponseSynthesizer({
- responseBuilder: new CompactAndRefine(
- serviceContext,
- responseSynthesizerObj.textQAPromptTemplate,
- responseSynthesizerObj.refinePromptTemplate
- ),
- serviceContext
- })
- queryEngine = SubQuestionQueryEngine.fromDefaults({
- responseSynthesizer,
- serviceContext,
- queryEngineTools,
- questionGen: new LLMQuestionGenerator({ llm: model })
- })
- } else if (responseSynthesizerObj.type === 'Refine') {
- const responseSynthesizer = new ResponseSynthesizer({
- responseBuilder: new Refine(
- serviceContext,
- responseSynthesizerObj.textQAPromptTemplate,
- responseSynthesizerObj.refinePromptTemplate
- ),
- serviceContext
- })
- queryEngine = SubQuestionQueryEngine.fromDefaults({
- responseSynthesizer,
- serviceContext,
- queryEngineTools,
- questionGen: new LLMQuestionGenerator({ llm: model })
- })
- } else if (responseSynthesizerObj.type === 'SimpleResponseBuilder') {
- const responseSynthesizer = new ResponseSynthesizer({
- responseBuilder: new SimpleResponseBuilder(serviceContext),
- serviceContext
- })
- queryEngine = SubQuestionQueryEngine.fromDefaults({
- responseSynthesizer,
- serviceContext,
- queryEngineTools,
- questionGen: new LLMQuestionGenerator({ llm: model })
- })
- }
- }
+ const queryEngine = prepareEngine(nodeData)
let text = ''
let sourceDocuments: ICommonObject[] = []
@@ -190,4 +118,82 @@ class SubQuestionQueryEngine_LlamaIndex implements INode {
}
}
+const prepareEngine = (nodeData: INodeData) => {
+ const embeddings = nodeData.inputs?.embeddings as BaseEmbedding
+ const model = nodeData.inputs?.model
+
+ const serviceContext = serviceContextFromDefaults({
+ llm: model,
+ embedModel: embeddings
+ })
+
+ let queryEngineTools = nodeData.inputs?.queryEngineTools as QueryEngineTool[]
+ queryEngineTools = flatten(queryEngineTools)
+
+ let queryEngine = SubQuestionQueryEngine.fromDefaults({
+ serviceContext,
+ queryEngineTools,
+ questionGen: new LLMQuestionGenerator({ llm: model })
+ })
+
+ const responseSynthesizerObj = nodeData.inputs?.responseSynthesizer
+ if (responseSynthesizerObj) {
+ if (responseSynthesizerObj.type === 'TreeSummarize') {
+ const responseSynthesizer = new ResponseSynthesizer({
+ responseBuilder: new TreeSummarize(serviceContext, responseSynthesizerObj.textQAPromptTemplate),
+ serviceContext
+ })
+ queryEngine = SubQuestionQueryEngine.fromDefaults({
+ responseSynthesizer,
+ serviceContext,
+ queryEngineTools,
+ questionGen: new LLMQuestionGenerator({ llm: model })
+ })
+ } else if (responseSynthesizerObj.type === 'CompactAndRefine') {
+ const responseSynthesizer = new ResponseSynthesizer({
+ responseBuilder: new CompactAndRefine(
+ serviceContext,
+ responseSynthesizerObj.textQAPromptTemplate,
+ responseSynthesizerObj.refinePromptTemplate
+ ),
+ serviceContext
+ })
+ queryEngine = SubQuestionQueryEngine.fromDefaults({
+ responseSynthesizer,
+ serviceContext,
+ queryEngineTools,
+ questionGen: new LLMQuestionGenerator({ llm: model })
+ })
+ } else if (responseSynthesizerObj.type === 'Refine') {
+ const responseSynthesizer = new ResponseSynthesizer({
+ responseBuilder: new Refine(
+ serviceContext,
+ responseSynthesizerObj.textQAPromptTemplate,
+ responseSynthesizerObj.refinePromptTemplate
+ ),
+ serviceContext
+ })
+ queryEngine = SubQuestionQueryEngine.fromDefaults({
+ responseSynthesizer,
+ serviceContext,
+ queryEngineTools,
+ questionGen: new LLMQuestionGenerator({ llm: model })
+ })
+ } else if (responseSynthesizerObj.type === 'SimpleResponseBuilder') {
+ const responseSynthesizer = new ResponseSynthesizer({
+ responseBuilder: new SimpleResponseBuilder(serviceContext),
+ serviceContext
+ })
+ queryEngine = SubQuestionQueryEngine.fromDefaults({
+ responseSynthesizer,
+ serviceContext,
+ queryEngineTools,
+ questionGen: new LLMQuestionGenerator({ llm: model })
+ })
+ }
+ }
+
+ return queryEngine
+}
+
module.exports = { nodeClass: SubQuestionQueryEngine_LlamaIndex }
diff --git a/packages/components/nodes/llms/AWSBedrock/AWSBedrock.ts b/packages/components/nodes/llms/AWSBedrock/AWSBedrock.ts
index 0fa417b4..a22265e3 100644
--- a/packages/components/nodes/llms/AWSBedrock/AWSBedrock.ts
+++ b/packages/components/nodes/llms/AWSBedrock/AWSBedrock.ts
@@ -1,9 +1,9 @@
+import { Bedrock } from '@langchain/community/llms/bedrock'
+import { BaseCache } from '@langchain/core/caches'
+import { BaseLLMParams } from '@langchain/core/language_models/llms'
+import { BaseBedrockInput } from 'langchain/dist/util/bedrock'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { Bedrock } from 'langchain/llms/bedrock'
-import { BaseBedrockInput } from 'langchain/dist/util/bedrock'
-import { BaseCache } from 'langchain/schema'
-import { BaseLLMParams } from 'langchain/llms/base'
/**
* I had to run the following to build the component
diff --git a/packages/components/nodes/llms/Azure OpenAI/AzureOpenAI.ts b/packages/components/nodes/llms/Azure OpenAI/AzureOpenAI.ts
index a8ac8830..6badb4ec 100644
--- a/packages/components/nodes/llms/Azure OpenAI/AzureOpenAI.ts
+++ b/packages/components/nodes/llms/Azure OpenAI/AzureOpenAI.ts
@@ -1,8 +1,9 @@
+import { AzureOpenAIInput, OpenAI, OpenAIInput } from '@langchain/openai'
+import { BaseCache } from '@langchain/core/caches'
+import { BaseLLMParams } from '@langchain/core/language_models/llms'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { AzureOpenAIInput, OpenAI, OpenAIInput } from 'langchain/llms/openai'
-import { BaseCache } from 'langchain/schema'
-import { BaseLLMParams } from 'langchain/llms/base'
+
class AzureOpenAI_LLMs implements INode {
label: string
name: string
diff --git a/packages/components/nodes/llms/Bittensor/Bittensor.ts b/packages/components/nodes/llms/Bittensor/Bittensor.ts
index 68652828..3641a720 100644
--- a/packages/components/nodes/llms/Bittensor/Bittensor.ts
+++ b/packages/components/nodes/llms/Bittensor/Bittensor.ts
@@ -1,8 +1,8 @@
+import { BaseCache } from '@langchain/core/caches'
+import { BaseLLMParams } from '@langchain/core/language_models/llms'
+import { NIBittensorLLM, BittensorInput } from 'langchain/experimental/llms/bittensor'
import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { NIBittensorLLM, BittensorInput } from 'langchain/experimental/llms/bittensor'
-import { BaseCache } from 'langchain/schema'
-import { BaseLLMParams } from 'langchain/llms/base'
class Bittensor_LLMs implements INode {
label: string
diff --git a/packages/components/nodes/llms/Cohere/Cohere.ts b/packages/components/nodes/llms/Cohere/Cohere.ts
index 1760b10d..d3b0dc49 100644
--- a/packages/components/nodes/llms/Cohere/Cohere.ts
+++ b/packages/components/nodes/llms/Cohere/Cohere.ts
@@ -1,7 +1,7 @@
+import { BaseCache } from '@langchain/core/caches'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { Cohere, CohereInput } from './core'
-import { BaseCache } from 'langchain/schema'
class Cohere_LLMs implements INode {
label: string
diff --git a/packages/components/nodes/llms/Cohere/core.ts b/packages/components/nodes/llms/Cohere/core.ts
index 97c81571..30c5e240 100644
--- a/packages/components/nodes/llms/Cohere/core.ts
+++ b/packages/components/nodes/llms/Cohere/core.ts
@@ -1,4 +1,4 @@
-import { LLM, BaseLLMParams } from 'langchain/llms/base'
+import { LLM, BaseLLMParams } from '@langchain/core/language_models/llms'
export interface CohereInput extends BaseLLMParams {
/** Sampling temperature to use */
diff --git a/packages/components/nodes/llms/GooglePaLM/GooglePaLM.ts b/packages/components/nodes/llms/GooglePaLM/GooglePaLM.ts
index d22b70f7..4dfa626a 100644
--- a/packages/components/nodes/llms/GooglePaLM/GooglePaLM.ts
+++ b/packages/components/nodes/llms/GooglePaLM/GooglePaLM.ts
@@ -1,7 +1,8 @@
+import { GooglePaLM, GooglePaLMTextInput } from '@langchain/community/llms/googlepalm'
+import { BaseCache } from '@langchain/core/caches'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { GooglePaLM, GooglePaLMTextInput } from 'langchain/llms/googlepalm'
-import { BaseCache } from 'langchain/schema'
+
class GooglePaLM_LLMs implements INode {
label: string
name: string
diff --git a/packages/components/nodes/llms/GoogleVertexAI/GoogleVertexAI.ts b/packages/components/nodes/llms/GoogleVertexAI/GoogleVertexAI.ts
index f3f807f8..634212d3 100644
--- a/packages/components/nodes/llms/GoogleVertexAI/GoogleVertexAI.ts
+++ b/packages/components/nodes/llms/GoogleVertexAI/GoogleVertexAI.ts
@@ -1,8 +1,8 @@
+import { GoogleAuthOptions } from 'google-auth-library'
+import { BaseCache } from '@langchain/core/caches'
+import { GoogleVertexAI, GoogleVertexAITextInput } from '@langchain/community/llms/googlevertexai'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { GoogleVertexAI, GoogleVertexAITextInput } from 'langchain/llms/googlevertexai'
-import { GoogleAuthOptions } from 'google-auth-library'
-import { BaseCache } from 'langchain/schema'
class GoogleVertexAI_LLMs implements INode {
label: string
diff --git a/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts b/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts
index 17260e9b..92d9d723 100644
--- a/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts
+++ b/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts
@@ -1,7 +1,7 @@
+import { BaseCache } from '@langchain/core/caches'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { HFInput, HuggingFaceInference } from './core'
-import { BaseCache } from 'langchain/schema'
class HuggingFaceInference_LLMs implements INode {
label: string
diff --git a/packages/components/nodes/llms/HuggingFaceInference/core.ts b/packages/components/nodes/llms/HuggingFaceInference/core.ts
index 416567f0..0d74bbe7 100644
--- a/packages/components/nodes/llms/HuggingFaceInference/core.ts
+++ b/packages/components/nodes/llms/HuggingFaceInference/core.ts
@@ -1,5 +1,5 @@
+import { LLM, BaseLLMParams } from '@langchain/core/language_models/llms'
import { getEnvironmentVariable } from '../../../src/utils'
-import { LLM, BaseLLMParams } from 'langchain/llms/base'
export interface HFInput {
/** Model to use */
diff --git a/packages/components/nodes/llms/Ollama/Ollama.ts b/packages/components/nodes/llms/Ollama/Ollama.ts
index 385890c9..e87d08a1 100644
--- a/packages/components/nodes/llms/Ollama/Ollama.ts
+++ b/packages/components/nodes/llms/Ollama/Ollama.ts
@@ -1,8 +1,8 @@
+import { Ollama, OllamaInput } from '@langchain/community/llms/ollama'
+import { BaseCache } from '@langchain/core/caches'
+import { BaseLLMParams } from '@langchain/core/language_models/llms'
import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { Ollama, OllamaInput } from 'langchain/llms/ollama'
-import { BaseCache } from 'langchain/schema'
-import { BaseLLMParams } from 'langchain/llms/base'
class Ollama_LLMs implements INode {
label: string
diff --git a/packages/components/nodes/llms/OpenAI/OpenAI.ts b/packages/components/nodes/llms/OpenAI/OpenAI.ts
index f2a2a85f..d777e817 100644
--- a/packages/components/nodes/llms/OpenAI/OpenAI.ts
+++ b/packages/components/nodes/llms/OpenAI/OpenAI.ts
@@ -1,8 +1,8 @@
+import { OpenAI, OpenAIInput } from '@langchain/openai'
+import { BaseCache } from '@langchain/core/caches'
+import { BaseLLMParams } from '@langchain/core/language_models/llms'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { OpenAI, OpenAIInput } from 'langchain/llms/openai'
-import { BaseLLMParams } from 'langchain/llms/base'
-import { BaseCache } from 'langchain/schema'
class OpenAI_LLMs implements INode {
label: string
diff --git a/packages/components/nodes/llms/Replicate/Replicate.ts b/packages/components/nodes/llms/Replicate/Replicate.ts
index fd5373a1..bd6df3d2 100644
--- a/packages/components/nodes/llms/Replicate/Replicate.ts
+++ b/packages/components/nodes/llms/Replicate/Replicate.ts
@@ -1,8 +1,8 @@
+import { Replicate, ReplicateInput } from '@langchain/community/llms/replicate'
+import { BaseCache } from '@langchain/core/caches'
+import { BaseLLMParams } from '@langchain/core/language_models/llms'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { Replicate, ReplicateInput } from 'langchain/llms/replicate'
-import { BaseCache } from 'langchain/schema'
-import { BaseLLMParams } from 'langchain/llms/base'
class Replicate_LLMs implements INode {
label: string
diff --git a/packages/components/nodes/memory/BufferMemory/BufferMemory.ts b/packages/components/nodes/memory/BufferMemory/BufferMemory.ts
index 4a6252b5..620183fa 100644
--- a/packages/components/nodes/memory/BufferMemory/BufferMemory.ts
+++ b/packages/components/nodes/memory/BufferMemory/BufferMemory.ts
@@ -1,7 +1,7 @@
import { FlowiseMemory, IMessage, INode, INodeData, INodeParams, MemoryMethods } from '../../../src/Interface'
import { convertBaseMessagetoIMessage, getBaseClasses } from '../../../src/utils'
import { BufferMemory, BufferMemoryInput } from 'langchain/memory'
-import { BaseMessage } from 'langchain/schema'
+import { BaseMessage } from '@langchain/core/messages'
class BufferMemory_Memory implements INode {
label: string
diff --git a/packages/components/nodes/memory/BufferWindowMemory/BufferWindowMemory.ts b/packages/components/nodes/memory/BufferWindowMemory/BufferWindowMemory.ts
index c21405a4..754c2e8a 100644
--- a/packages/components/nodes/memory/BufferWindowMemory/BufferWindowMemory.ts
+++ b/packages/components/nodes/memory/BufferWindowMemory/BufferWindowMemory.ts
@@ -1,7 +1,7 @@
import { FlowiseWindowMemory, IMessage, INode, INodeData, INodeParams, MemoryMethods } from '../../../src/Interface'
import { convertBaseMessagetoIMessage, getBaseClasses } from '../../../src/utils'
import { BufferWindowMemory, BufferWindowMemoryInput } from 'langchain/memory'
-import { BaseMessage } from 'langchain/schema'
+import { BaseMessage } from '@langchain/core/messages'
class BufferWindowMemory_Memory implements INode {
label: string
diff --git a/packages/components/nodes/memory/ConversationSummaryMemory/ConversationSummaryMemory.ts b/packages/components/nodes/memory/ConversationSummaryMemory/ConversationSummaryMemory.ts
index 45d39326..c3b3df91 100644
--- a/packages/components/nodes/memory/ConversationSummaryMemory/ConversationSummaryMemory.ts
+++ b/packages/components/nodes/memory/ConversationSummaryMemory/ConversationSummaryMemory.ts
@@ -2,7 +2,7 @@ import { FlowiseSummaryMemory, IMessage, INode, INodeData, INodeParams, MemoryMe
import { convertBaseMessagetoIMessage, getBaseClasses } from '../../../src/utils'
import { ConversationSummaryMemory, ConversationSummaryMemoryInput } from 'langchain/memory'
import { BaseLanguageModel } from 'langchain/base_language'
-import { BaseMessage } from 'langchain/schema'
+import { BaseMessage } from '@langchain/core/messages'
class ConversationSummaryMemory_Memory implements INode {
label: string
diff --git a/packages/components/nodes/memory/DynamoDb/DynamoDb.ts b/packages/components/nodes/memory/DynamoDb/DynamoDb.ts
index 22da396e..24fa3750 100644
--- a/packages/components/nodes/memory/DynamoDb/DynamoDb.ts
+++ b/packages/components/nodes/memory/DynamoDb/DynamoDb.ts
@@ -9,9 +9,9 @@ import {
DeleteItemCommandInput,
AttributeValue
} from '@aws-sdk/client-dynamodb'
-import { DynamoDBChatMessageHistory } from 'langchain/stores/message/dynamodb'
+import { DynamoDBChatMessageHistory } from '@langchain/community/stores/message/dynamodb'
+import { mapStoredMessageToChatMessage, AIMessage, HumanMessage, StoredMessage, BaseMessage } from '@langchain/core/messages'
import { BufferMemory, BufferMemoryInput } from 'langchain/memory'
-import { mapStoredMessageToChatMessage, AIMessage, HumanMessage, StoredMessage, BaseMessage } from 'langchain/schema'
import { convertBaseMessagetoIMessage, getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeParams, MemoryMethods, MessageType } from '../../../src/Interface'
diff --git a/packages/components/nodes/memory/MongoDBMemory/MongoDBMemory.ts b/packages/components/nodes/memory/MongoDBMemory/MongoDBMemory.ts
index e2ee9f44..87a05bf8 100644
--- a/packages/components/nodes/memory/MongoDBMemory/MongoDBMemory.ts
+++ b/packages/components/nodes/memory/MongoDBMemory/MongoDBMemory.ts
@@ -1,7 +1,7 @@
import { MongoClient, Collection, Document } from 'mongodb'
-import { MongoDBChatMessageHistory } from 'langchain/stores/message/mongodb'
+import { MongoDBChatMessageHistory } from '@langchain/community/stores/message/mongodb'
import { BufferMemory, BufferMemoryInput } from 'langchain/memory'
-import { mapStoredMessageToChatMessage, AIMessage, HumanMessage, BaseMessage } from 'langchain/schema'
+import { mapStoredMessageToChatMessage, AIMessage, HumanMessage, BaseMessage } from '@langchain/core/messages'
import { convertBaseMessagetoIMessage, getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeParams, MemoryMethods, MessageType } from '../../../src/Interface'
diff --git a/packages/components/nodes/memory/MotorheadMemory/MotorheadMemory.ts b/packages/components/nodes/memory/MotorheadMemory/MotorheadMemory.ts
index 0b8f3800..c53376c0 100644
--- a/packages/components/nodes/memory/MotorheadMemory/MotorheadMemory.ts
+++ b/packages/components/nodes/memory/MotorheadMemory/MotorheadMemory.ts
@@ -3,7 +3,7 @@ import { convertBaseMessagetoIMessage, getBaseClasses, getCredentialData, getCre
import { ICommonObject } from '../../../src'
import { MotorheadMemory, MotorheadMemoryInput, InputValues, OutputValues } from 'langchain/memory'
import fetch from 'node-fetch'
-import { AIMessage, BaseMessage, ChatMessage, HumanMessage } from 'langchain/schema'
+import { AIMessage, BaseMessage, ChatMessage, HumanMessage } from '@langchain/core/messages'
type MotorheadMessage = {
content: string
diff --git a/packages/components/nodes/memory/RedisBackedChatMemory/RedisBackedChatMemory.ts b/packages/components/nodes/memory/RedisBackedChatMemory/RedisBackedChatMemory.ts
index 965b6760..7cd6d5f1 100644
--- a/packages/components/nodes/memory/RedisBackedChatMemory/RedisBackedChatMemory.ts
+++ b/packages/components/nodes/memory/RedisBackedChatMemory/RedisBackedChatMemory.ts
@@ -1,8 +1,8 @@
import { Redis, RedisOptions } from 'ioredis'
import { isEqual } from 'lodash'
import { BufferMemory, BufferMemoryInput } from 'langchain/memory'
-import { RedisChatMessageHistory, RedisChatMessageHistoryInput } from 'langchain/stores/message/ioredis'
-import { mapStoredMessageToChatMessage, BaseMessage, AIMessage, HumanMessage } from 'langchain/schema'
+import { RedisChatMessageHistory, RedisChatMessageHistoryInput } from '@langchain/community/stores/message/ioredis'
+import { mapStoredMessageToChatMessage, BaseMessage, AIMessage, HumanMessage } from '@langchain/core/messages'
import { INode, INodeData, INodeParams, ICommonObject, MessageType, IMessage, MemoryMethods, FlowiseMemory } from '../../../src/Interface'
import { convertBaseMessagetoIMessage, getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
diff --git a/packages/components/nodes/memory/UpstashRedisBackedChatMemory/UpstashRedisBackedChatMemory.ts b/packages/components/nodes/memory/UpstashRedisBackedChatMemory/UpstashRedisBackedChatMemory.ts
index 98a704ab..0f26fa33 100644
--- a/packages/components/nodes/memory/UpstashRedisBackedChatMemory/UpstashRedisBackedChatMemory.ts
+++ b/packages/components/nodes/memory/UpstashRedisBackedChatMemory/UpstashRedisBackedChatMemory.ts
@@ -1,7 +1,7 @@
import { Redis } from '@upstash/redis'
import { BufferMemory, BufferMemoryInput } from 'langchain/memory'
-import { UpstashRedisChatMessageHistory } from 'langchain/stores/message/upstash_redis'
-import { mapStoredMessageToChatMessage, AIMessage, HumanMessage, StoredMessage, BaseMessage } from 'langchain/schema'
+import { UpstashRedisChatMessageHistory } from '@langchain/community/stores/message/upstash_redis'
+import { mapStoredMessageToChatMessage, AIMessage, HumanMessage, StoredMessage, BaseMessage } from '@langchain/core/messages'
import { FlowiseMemory, IMessage, INode, INodeData, INodeParams, MemoryMethods, MessageType } from '../../../src/Interface'
import { convertBaseMessagetoIMessage, getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { ICommonObject } from '../../../src/Interface'
diff --git a/packages/components/nodes/memory/ZepMemory/ZepMemory.ts b/packages/components/nodes/memory/ZepMemory/ZepMemory.ts
index 360a76d4..d511e7b2 100644
--- a/packages/components/nodes/memory/ZepMemory/ZepMemory.ts
+++ b/packages/components/nodes/memory/ZepMemory/ZepMemory.ts
@@ -1,9 +1,8 @@
-import { IMessage, INode, INodeData, INodeParams, MemoryMethods, MessageType } from '../../../src/Interface'
-import { convertBaseMessagetoIMessage, getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { ZepMemory, ZepMemoryInput } from 'langchain/memory/zep'
-import { ICommonObject } from '../../../src'
+import { ZepMemory, ZepMemoryInput } from '@langchain/community/memory/zep'
+import { BaseMessage } from '@langchain/core/messages'
import { InputValues, MemoryVariables, OutputValues } from 'langchain/memory'
-import { BaseMessage } from 'langchain/schema'
+import { IMessage, INode, INodeData, INodeParams, MemoryMethods, MessageType, ICommonObject } from '../../../src/Interface'
+import { convertBaseMessagetoIMessage, getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
class ZepMemory_Memory implements INode {
label: string
diff --git a/packages/components/nodes/moderation/OpenAIModeration/OpenAIModeration.ts b/packages/components/nodes/moderation/OpenAIModeration/OpenAIModeration.ts
index 8f780605..734c57ec 100644
--- a/packages/components/nodes/moderation/OpenAIModeration/OpenAIModeration.ts
+++ b/packages/components/nodes/moderation/OpenAIModeration/OpenAIModeration.ts
@@ -1,7 +1,7 @@
-import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src'
import { Moderation } from '../Moderation'
import { OpenAIModerationRunner } from './OpenAIModerationRunner'
+import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src'
class OpenAIModeration implements INode {
label: string
diff --git a/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModeration.ts b/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModeration.ts
index ad3cfadd..af7458c0 100644
--- a/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModeration.ts
+++ b/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModeration.ts
@@ -2,7 +2,7 @@ import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src'
import { Moderation } from '../Moderation'
import { SimplePromptModerationRunner } from './SimplePromptModerationRunner'
-import { BaseChatModel } from 'langchain/chat_models/base'
+import { BaseChatModel } from '@langchain/core/language_models/chat_models'
class SimplePromptModeration implements INode {
label: string
diff --git a/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModerationRunner.ts b/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModerationRunner.ts
index c9a11643..65726afb 100644
--- a/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModerationRunner.ts
+++ b/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModerationRunner.ts
@@ -1,5 +1,5 @@
import { Moderation } from '../Moderation'
-import { BaseChatModel } from 'langchain/chat_models/base'
+import { BaseChatModel } from '@langchain/core/language_models/chat_models'
export class SimplePromptModerationRunner implements Moderation {
private readonly denyList: string = ''
diff --git a/packages/components/nodes/outputparsers/CSVListOutputParser/CSVListOutputParser.ts b/packages/components/nodes/outputparsers/CSVListOutputParser/CSVListOutputParser.ts
index 7b3e7e67..00528a5f 100644
--- a/packages/components/nodes/outputparsers/CSVListOutputParser/CSVListOutputParser.ts
+++ b/packages/components/nodes/outputparsers/CSVListOutputParser/CSVListOutputParser.ts
@@ -1,6 +1,5 @@
+import { BaseOutputParser, CommaSeparatedListOutputParser } from '@langchain/core/output_parsers'
import { getBaseClasses, INode, INodeData, INodeParams } from '../../../src'
-import { BaseOutputParser } from 'langchain/schema/output_parser'
-import { CommaSeparatedListOutputParser } from 'langchain/output_parsers'
import { CATEGORY } from '../OutputParserHelpers'
class CSVListOutputParser implements INode {
diff --git a/packages/components/nodes/outputparsers/CustomListOutputParser/CustomListOutputParser.ts b/packages/components/nodes/outputparsers/CustomListOutputParser/CustomListOutputParser.ts
index 1e44acdb..c49226d4 100644
--- a/packages/components/nodes/outputparsers/CustomListOutputParser/CustomListOutputParser.ts
+++ b/packages/components/nodes/outputparsers/CustomListOutputParser/CustomListOutputParser.ts
@@ -1,7 +1,6 @@
-import { getBaseClasses, INode, INodeData, INodeParams } from '../../../src'
-import { BaseOutputParser } from 'langchain/schema/output_parser'
-import { CustomListOutputParser as LangchainCustomListOutputParser } from 'langchain/output_parsers'
+import { BaseOutputParser, CustomListOutputParser as LangchainCustomListOutputParser } from '@langchain/core/output_parsers'
import { CATEGORY } from '../OutputParserHelpers'
+import { getBaseClasses, INode, INodeData, INodeParams } from '../../../src'
class CustomListOutputParser implements INode {
label: string
diff --git a/packages/components/nodes/outputparsers/OutputParserHelpers.ts b/packages/components/nodes/outputparsers/OutputParserHelpers.ts
index 8ea77e6b..f68b3c42 100644
--- a/packages/components/nodes/outputparsers/OutputParserHelpers.ts
+++ b/packages/components/nodes/outputparsers/OutputParserHelpers.ts
@@ -1,8 +1,8 @@
-import { BaseOutputParser } from 'langchain/schema/output_parser'
+import { BaseOutputParser } from '@langchain/core/output_parsers'
+import { ChatPromptTemplate, FewShotPromptTemplate, PromptTemplate, SystemMessagePromptTemplate } from '@langchain/core/prompts'
+import { BaseLanguageModel, BaseLanguageModelCallOptions } from '@langchain/core/language_models/base'
import { LLMChain } from 'langchain/chains'
-import { BaseLanguageModel, BaseLanguageModelCallOptions } from 'langchain/base_language'
import { ICommonObject } from '../../src'
-import { ChatPromptTemplate, FewShotPromptTemplate, PromptTemplate, SystemMessagePromptTemplate } from 'langchain/prompts'
export const CATEGORY = 'Output Parsers'
diff --git a/packages/components/nodes/outputparsers/StructuredOutputParser/StructuredOutputParser.ts b/packages/components/nodes/outputparsers/StructuredOutputParser/StructuredOutputParser.ts
index fc28fd1c..2d12a4f5 100644
--- a/packages/components/nodes/outputparsers/StructuredOutputParser/StructuredOutputParser.ts
+++ b/packages/components/nodes/outputparsers/StructuredOutputParser/StructuredOutputParser.ts
@@ -1,8 +1,8 @@
-import { convertSchemaToZod, getBaseClasses, INode, INodeData, INodeParams } from '../../../src'
-import { BaseOutputParser } from 'langchain/schema/output_parser'
+import { z } from 'zod'
+import { BaseOutputParser } from '@langchain/core/output_parsers'
import { StructuredOutputParser as LangchainStructuredOutputParser } from 'langchain/output_parsers'
import { CATEGORY } from '../OutputParserHelpers'
-import { z } from 'zod'
+import { convertSchemaToZod, getBaseClasses, INode, INodeData, INodeParams } from '../../../src'
class StructuredOutputParser implements INode {
label: string
diff --git a/packages/components/nodes/prompts/ChatPromptTemplate/ChatPromptTemplate.ts b/packages/components/nodes/prompts/ChatPromptTemplate/ChatPromptTemplate.ts
index de86413c..5d84b451 100644
--- a/packages/components/nodes/prompts/ChatPromptTemplate/ChatPromptTemplate.ts
+++ b/packages/components/nodes/prompts/ChatPromptTemplate/ChatPromptTemplate.ts
@@ -1,6 +1,6 @@
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { ChatPromptTemplate, SystemMessagePromptTemplate, HumanMessagePromptTemplate } from 'langchain/prompts'
+import { ChatPromptTemplate, SystemMessagePromptTemplate, HumanMessagePromptTemplate } from '@langchain/core/prompts'
class ChatPromptTemplate_Prompts implements INode {
label: string
diff --git a/packages/components/nodes/prompts/FewShotPromptTemplate/FewShotPromptTemplate.ts b/packages/components/nodes/prompts/FewShotPromptTemplate/FewShotPromptTemplate.ts
index a1a2afc2..f2d9c0fa 100644
--- a/packages/components/nodes/prompts/FewShotPromptTemplate/FewShotPromptTemplate.ts
+++ b/packages/components/nodes/prompts/FewShotPromptTemplate/FewShotPromptTemplate.ts
@@ -1,8 +1,7 @@
import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getInputVariables } from '../../../src/utils'
-import { FewShotPromptTemplate, FewShotPromptTemplateInput, PromptTemplate } from 'langchain/prompts'
-import { Example } from 'langchain/schema'
-import { TemplateFormat } from 'langchain/dist/prompts/template'
+import { FewShotPromptTemplate, FewShotPromptTemplateInput, PromptTemplate, TemplateFormat } from '@langchain/core/prompts'
+import type { Example } from '@langchain/core/prompts'
class FewShotPromptTemplate_Prompts implements INode {
label: string
diff --git a/packages/components/nodes/prompts/PromptTemplate/PromptTemplate.ts b/packages/components/nodes/prompts/PromptTemplate/PromptTemplate.ts
index f28d6976..7ecf37d1 100644
--- a/packages/components/nodes/prompts/PromptTemplate/PromptTemplate.ts
+++ b/packages/components/nodes/prompts/PromptTemplate/PromptTemplate.ts
@@ -1,6 +1,6 @@
import { ICommonObject, INode, INodeData, INodeParams, PromptTemplate } from '../../../src/Interface'
import { getBaseClasses, getInputVariables } from '../../../src/utils'
-import { PromptTemplateInput } from 'langchain/prompts'
+import { PromptTemplateInput } from '@langchain/core/prompts'
class PromptTemplate_Prompts implements INode {
label: string
diff --git a/packages/components/nodes/retrievers/CohereRerankRetriever/CohereRerank.ts b/packages/components/nodes/retrievers/CohereRerankRetriever/CohereRerank.ts
index f12d1026..a4544595 100644
--- a/packages/components/nodes/retrievers/CohereRerankRetriever/CohereRerank.ts
+++ b/packages/components/nodes/retrievers/CohereRerankRetriever/CohereRerank.ts
@@ -1,7 +1,8 @@
-import { Callbacks } from 'langchain/callbacks'
-import { Document } from 'langchain/document'
-import { BaseDocumentCompressor } from 'langchain/retrievers/document_compressors'
import axios from 'axios'
+import { Callbacks } from '@langchain/core/callbacks/manager'
+import { Document } from '@langchain/core/documents'
+import { BaseDocumentCompressor } from 'langchain/retrievers/document_compressors'
+
export class CohereRerank extends BaseDocumentCompressor {
private cohereAPIKey: any
private COHERE_API_URL = 'https://api.cohere.ai/v1/rerank'
diff --git a/packages/components/nodes/retrievers/CohereRerankRetriever/CohereRerankRetriever.ts b/packages/components/nodes/retrievers/CohereRerankRetriever/CohereRerankRetriever.ts
index 5e92505e..ecffdfa8 100644
--- a/packages/components/nodes/retrievers/CohereRerankRetriever/CohereRerankRetriever.ts
+++ b/packages/components/nodes/retrievers/CohereRerankRetriever/CohereRerankRetriever.ts
@@ -1,9 +1,9 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { BaseRetriever } from 'langchain/schema/retriever'
+import { BaseRetriever } from '@langchain/core/retrievers'
+import { VectorStoreRetriever } from '@langchain/core/vectorstores'
import { ContextualCompressionRetriever } from 'langchain/retrievers/contextual_compression'
-import { getCredentialData, getCredentialParam, handleEscapeCharacters } from '../../../src'
import { CohereRerank } from './CohereRerank'
-import { VectorStoreRetriever } from 'langchain/vectorstores/base'
+import { getCredentialData, getCredentialParam, handleEscapeCharacters } from '../../../src'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class CohereRerankRetriever_Retrievers implements INode {
label: string
diff --git a/packages/components/nodes/retrievers/EmbeddingsFilterRetriever/EmbeddingsFilterRetriever.ts b/packages/components/nodes/retrievers/EmbeddingsFilterRetriever/EmbeddingsFilterRetriever.ts
index 16d40790..5c57abaf 100644
--- a/packages/components/nodes/retrievers/EmbeddingsFilterRetriever/EmbeddingsFilterRetriever.ts
+++ b/packages/components/nodes/retrievers/EmbeddingsFilterRetriever/EmbeddingsFilterRetriever.ts
@@ -1,9 +1,9 @@
-import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { BaseRetriever } from 'langchain/schema/retriever'
-import { Embeddings } from 'langchain/embeddings/base'
+import { BaseRetriever } from '@langchain/core/retrievers'
+import { Embeddings } from '@langchain/core/embeddings'
import { ContextualCompressionRetriever } from 'langchain/retrievers/contextual_compression'
import { EmbeddingsFilter } from 'langchain/retrievers/document_compressors/embeddings_filter'
import { handleEscapeCharacters } from '../../../src/utils'
+import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class EmbeddingsFilterRetriever_Retrievers implements INode {
label: string
diff --git a/packages/components/nodes/retrievers/HydeRetriever/HydeRetriever.ts b/packages/components/nodes/retrievers/HydeRetriever/HydeRetriever.ts
index a7cd9829..0a4d6988 100644
--- a/packages/components/nodes/retrievers/HydeRetriever/HydeRetriever.ts
+++ b/packages/components/nodes/retrievers/HydeRetriever/HydeRetriever.ts
@@ -1,9 +1,9 @@
-import { VectorStore } from 'langchain/vectorstores/base'
-import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
+import { VectorStore } from '@langchain/core/vectorstores'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { PromptTemplate } from '@langchain/core/prompts'
import { HydeRetriever, HydeRetrieverOptions, PromptKey } from 'langchain/retrievers/hyde'
-import { BaseLanguageModel } from 'langchain/base_language'
-import { PromptTemplate } from 'langchain/prompts'
import { handleEscapeCharacters } from '../../../src/utils'
+import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class HydeRetriever_Retrievers implements INode {
label: string
diff --git a/packages/components/nodes/retrievers/LLMFilterRetriever/LLMFilterCompressionRetriever.ts b/packages/components/nodes/retrievers/LLMFilterRetriever/LLMFilterCompressionRetriever.ts
index 9bace712..5786ed6f 100644
--- a/packages/components/nodes/retrievers/LLMFilterRetriever/LLMFilterCompressionRetriever.ts
+++ b/packages/components/nodes/retrievers/LLMFilterRetriever/LLMFilterCompressionRetriever.ts
@@ -1,9 +1,9 @@
-import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { BaseRetriever } from 'langchain/schema/retriever'
+import { BaseRetriever } from '@langchain/core/retrievers'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
import { ContextualCompressionRetriever } from 'langchain/retrievers/contextual_compression'
-import { BaseLanguageModel } from 'langchain/base_language'
import { LLMChainExtractor } from 'langchain/retrievers/document_compressors/chain_extract'
import { handleEscapeCharacters } from '../../../src/utils'
+import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class LLMFilterCompressionRetriever_Retrievers implements INode {
label: string
diff --git a/packages/components/nodes/retrievers/RRFRetriever/RRFRetriever.ts b/packages/components/nodes/retrievers/RRFRetriever/RRFRetriever.ts
index 9788f095..6862aff3 100644
--- a/packages/components/nodes/retrievers/RRFRetriever/RRFRetriever.ts
+++ b/packages/components/nodes/retrievers/RRFRetriever/RRFRetriever.ts
@@ -1,10 +1,10 @@
-import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { BaseLanguageModel } from 'langchain/base_language'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { BaseRetriever } from '@langchain/core/retrievers'
+import { VectorStoreRetriever } from '@langchain/core/vectorstores'
import { ContextualCompressionRetriever } from 'langchain/retrievers/contextual_compression'
-import { BaseRetriever } from 'langchain/schema/retriever'
import { ReciprocalRankFusion } from './ReciprocalRankFusion'
-import { VectorStoreRetriever } from 'langchain/vectorstores/base'
import { handleEscapeCharacters } from '../../../src/utils'
+import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class RRFRetriever_Retrievers implements INode {
label: string
diff --git a/packages/components/nodes/retrievers/RRFRetriever/ReciprocalRankFusion.ts b/packages/components/nodes/retrievers/RRFRetriever/ReciprocalRankFusion.ts
index 0789ca17..36141c5c 100644
--- a/packages/components/nodes/retrievers/RRFRetriever/ReciprocalRankFusion.ts
+++ b/packages/components/nodes/retrievers/RRFRetriever/ReciprocalRankFusion.ts
@@ -1,10 +1,10 @@
-import { BaseDocumentCompressor } from 'langchain/retrievers/document_compressors'
-import { Document } from 'langchain/document'
-import { Callbacks } from 'langchain/callbacks'
-import { BaseLanguageModel } from 'langchain/base_language'
-import { ChatPromptTemplate, HumanMessagePromptTemplate, SystemMessagePromptTemplate } from 'langchain/prompts'
+import { Document } from '@langchain/core/documents'
+import { Callbacks } from '@langchain/core/callbacks/manager'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { VectorStoreRetriever } from '@langchain/core/vectorstores'
+import { ChatPromptTemplate, HumanMessagePromptTemplate, SystemMessagePromptTemplate } from '@langchain/core/prompts'
import { LLMChain } from 'langchain/chains'
-import { VectorStoreRetriever } from 'langchain/vectorstores/base'
+import { BaseDocumentCompressor } from 'langchain/retrievers/document_compressors'
export class ReciprocalRankFusion extends BaseDocumentCompressor {
private readonly llm: BaseLanguageModel
diff --git a/packages/components/nodes/retrievers/SimilarityThresholdRetriever/SimilarityThresholdRetriever.ts b/packages/components/nodes/retrievers/SimilarityThresholdRetriever/SimilarityThresholdRetriever.ts
index 6a6976a5..bdfb10d9 100644
--- a/packages/components/nodes/retrievers/SimilarityThresholdRetriever/SimilarityThresholdRetriever.ts
+++ b/packages/components/nodes/retrievers/SimilarityThresholdRetriever/SimilarityThresholdRetriever.ts
@@ -1,7 +1,7 @@
-import { VectorStore } from 'langchain/vectorstores/base'
+import { VectorStore } from '@langchain/core/vectorstores'
+import { ScoreThresholdRetriever } from 'langchain/retrievers/score_threshold'
import { INode, INodeData, INodeParams, INodeOutputsValue } from '../../../src/Interface'
import { handleEscapeCharacters } from '../../../src'
-import { ScoreThresholdRetriever } from 'langchain/retrievers/score_threshold'
class SimilarityThresholdRetriever_Retrievers implements INode {
label: string
diff --git a/packages/components/nodes/retrievers/VectorStoreRetriever/VectorStoreRetriever.ts b/packages/components/nodes/retrievers/VectorStoreRetriever/VectorStoreRetriever.ts
index 41f66571..071e327b 100644
--- a/packages/components/nodes/retrievers/VectorStoreRetriever/VectorStoreRetriever.ts
+++ b/packages/components/nodes/retrievers/VectorStoreRetriever/VectorStoreRetriever.ts
@@ -1,4 +1,4 @@
-import { VectorStore } from 'langchain/vectorstores/base'
+import { VectorStore } from '@langchain/core/vectorstores'
import { INode, INodeData, INodeParams, VectorStoreRetriever, VectorStoreRetrieverInput } from '../../../src/Interface'
class VectorStoreRetriever_Retrievers implements INode {
diff --git a/packages/components/nodes/tools/AIPlugin/AIPlugin.ts b/packages/components/nodes/tools/AIPlugin/AIPlugin.ts
index e9c0fa3d..ac1427f7 100644
--- a/packages/components/nodes/tools/AIPlugin/AIPlugin.ts
+++ b/packages/components/nodes/tools/AIPlugin/AIPlugin.ts
@@ -1,5 +1,5 @@
+import { AIPluginTool } from '@langchain/community/tools/aiplugin'
import { INode, INodeData, INodeParams } from '../../../src/Interface'
-import { AIPluginTool } from 'langchain/tools'
import { getBaseClasses } from '../../../src/utils'
class AIPlugin implements INode {
diff --git a/packages/components/nodes/tools/BraveSearchAPI/BraveSearchAPI.ts b/packages/components/nodes/tools/BraveSearchAPI/BraveSearchAPI.ts
index 9e9c760d..34564f2c 100644
--- a/packages/components/nodes/tools/BraveSearchAPI/BraveSearchAPI.ts
+++ b/packages/components/nodes/tools/BraveSearchAPI/BraveSearchAPI.ts
@@ -1,6 +1,6 @@
+import { BraveSearch } from '@langchain/community/tools/brave_search'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { BraveSearch } from 'langchain/tools'
class BraveSearchAPI_Tools implements INode {
label: string
diff --git a/packages/components/nodes/tools/ChainTool/ChainTool.ts b/packages/components/nodes/tools/ChainTool/ChainTool.ts
index 42b5e6e1..a79a8b4a 100644
--- a/packages/components/nodes/tools/ChainTool/ChainTool.ts
+++ b/packages/components/nodes/tools/ChainTool/ChainTool.ts
@@ -1,6 +1,6 @@
+import { BaseChain } from 'langchain/chains'
import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { BaseChain } from 'langchain/chains'
import { ChainTool } from './core'
class ChainTool_Tools implements INode {
diff --git a/packages/components/nodes/tools/ChainTool/core.ts b/packages/components/nodes/tools/ChainTool/core.ts
index 5520d6df..60ba5977 100644
--- a/packages/components/nodes/tools/ChainTool/core.ts
+++ b/packages/components/nodes/tools/ChainTool/core.ts
@@ -1,4 +1,4 @@
-import { DynamicTool, DynamicToolInput } from 'langchain/tools'
+import { DynamicTool, DynamicToolInput } from '@langchain/core/tools'
import { BaseChain } from 'langchain/chains'
import { handleEscapeCharacters } from '../../../src/utils'
diff --git a/packages/components/nodes/tools/CustomTool/core.ts b/packages/components/nodes/tools/CustomTool/core.ts
index 19be88f1..86addc6b 100644
--- a/packages/components/nodes/tools/CustomTool/core.ts
+++ b/packages/components/nodes/tools/CustomTool/core.ts
@@ -1,9 +1,9 @@
import { z } from 'zod'
import { NodeVM } from 'vm2'
-import { availableDependencies, defaultAllowBuiltInDep, prepareSandboxVars } from '../../../src/utils'
import { RunnableConfig } from '@langchain/core/runnables'
import { StructuredTool, ToolParams } from '@langchain/core/tools'
import { CallbackManagerForToolRun, Callbacks, CallbackManager, parseCallbackConfigArg } from '@langchain/core/callbacks/manager'
+import { availableDependencies, defaultAllowBuiltInDep, prepareSandboxVars } from '../../../src/utils'
class ToolInputParsingException extends Error {
output?: string
@@ -100,6 +100,7 @@ export class DynamicStructuredTool<
return result
}
+ // @ts-ignore
protected async _call(
arg: z.output,
_?: CallbackManagerForToolRun,
diff --git a/packages/components/nodes/tools/GoogleSearchAPI/GoogleSearchAPI.ts b/packages/components/nodes/tools/GoogleSearchAPI/GoogleSearchAPI.ts
index 78fe8e73..b60186c4 100644
--- a/packages/components/nodes/tools/GoogleSearchAPI/GoogleSearchAPI.ts
+++ b/packages/components/nodes/tools/GoogleSearchAPI/GoogleSearchAPI.ts
@@ -1,6 +1,6 @@
+import { GoogleCustomSearch } from '@langchain/community/tools/google_custom_search'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { GoogleCustomSearch } from 'langchain/tools'
class GoogleCustomSearchAPI_Tools implements INode {
label: string
diff --git a/packages/components/nodes/tools/OpenAPIToolkit/OpenAPIToolkit.ts b/packages/components/nodes/tools/OpenAPIToolkit/OpenAPIToolkit.ts
index 1dc0705b..0537ae67 100644
--- a/packages/components/nodes/tools/OpenAPIToolkit/OpenAPIToolkit.ts
+++ b/packages/components/nodes/tools/OpenAPIToolkit/OpenAPIToolkit.ts
@@ -1,8 +1,8 @@
-import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
-import { OpenApiToolkit } from 'langchain/agents'
-import { JsonSpec, JsonObject } from 'langchain/tools'
-import { BaseLanguageModel } from 'langchain/base_language'
import { load } from 'js-yaml'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { OpenApiToolkit } from 'langchain/agents'
+import { JsonSpec, JsonObject } from './core'
+import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getCredentialData, getCredentialParam } from '../../../src'
class OpenAPIToolkit_Tools implements INode {
diff --git a/packages/components/nodes/tools/OpenAPIToolkit/core.ts b/packages/components/nodes/tools/OpenAPIToolkit/core.ts
new file mode 100644
index 00000000..7e332db2
--- /dev/null
+++ b/packages/components/nodes/tools/OpenAPIToolkit/core.ts
@@ -0,0 +1,140 @@
+import jsonpointer from 'jsonpointer'
+import { Serializable } from '@langchain/core/load/serializable'
+import { Tool, ToolParams } from '@langchain/core/tools'
+
+export type Json = string | number | boolean | null | { [key: string]: Json } | Json[]
+
+export type JsonObject = { [key: string]: Json }
+
+/**
+ * Represents a JSON object in the LangChain framework. Provides methods
+ * to get keys and values from the JSON object.
+ */
+export class JsonSpec extends Serializable {
+ lc_namespace = ['langchain', 'tools', 'json']
+
+ obj: JsonObject
+
+ maxValueLength = 4000
+
+ constructor(obj: JsonObject, max_value_length = 4000) {
+ super(...arguments)
+ this.obj = obj
+ this.maxValueLength = max_value_length
+ }
+
+ /**
+ * Retrieves all keys at a given path in the JSON object.
+ * @param input The path to the keys in the JSON object, provided as a string in JSON pointer syntax.
+ * @returns A string containing all keys at the given path, separated by commas.
+ */
+ public getKeys(input: string): string {
+ const pointer = jsonpointer.compile(input)
+ const res = pointer.get(this.obj) as Json
+ if (typeof res === 'object' && !Array.isArray(res) && res !== null) {
+ return Object.keys(res)
+ .map((i) => i.replaceAll('~', '~0').replaceAll('/', '~1'))
+ .join(', ')
+ }
+
+ throw new Error(`Value at ${input} is not a dictionary, get the value directly instead.`)
+ }
+
+ /**
+ * Retrieves the value at a given path in the JSON object.
+ * @param input The path to the value in the JSON object, provided as a string in JSON pointer syntax.
+ * @returns The value at the given path in the JSON object, as a string. If the value is a large dictionary or exceeds the maximum length, a message is returned instead.
+ */
+ public getValue(input: string): string {
+ const pointer = jsonpointer.compile(input)
+ const res = pointer.get(this.obj) as Json
+
+ if (res === null || res === undefined) {
+ throw new Error(`Value at ${input} is null or undefined.`)
+ }
+
+ const str = typeof res === 'object' ? JSON.stringify(res) : res.toString()
+ if (typeof res === 'object' && !Array.isArray(res) && str.length > this.maxValueLength) {
+ return `Value is a large dictionary, should explore its keys directly.`
+ }
+
+ if (str.length > this.maxValueLength) {
+ return `${str.slice(0, this.maxValueLength)}...`
+ }
+ return str
+ }
+}
+
+export interface JsonToolFields extends ToolParams {
+ jsonSpec: JsonSpec
+}
+
+/**
+ * A tool in the LangChain framework that lists all keys at a given path
+ * in a JSON object.
+ */
+export class JsonListKeysTool extends Tool {
+ static lc_name() {
+ return 'JsonListKeysTool'
+ }
+
+ name = 'json_list_keys'
+
+ jsonSpec: JsonSpec
+
+ constructor(jsonSpec: JsonSpec)
+
+ constructor(fields: JsonToolFields)
+
+ constructor(fields: JsonSpec | JsonToolFields) {
+ if (!('jsonSpec' in fields)) {
+ // eslint-disable-next-line no-param-reassign
+ fields = { jsonSpec: fields }
+ }
+ super(fields)
+
+ this.jsonSpec = fields.jsonSpec
+ }
+
+ /** @ignore */
+ async _call(input: string) {
+ try {
+ return this.jsonSpec.getKeys(input)
+ } catch (error) {
+ return `${error}`
+ }
+ }
+
+ description = `Can be used to list all keys at a given path.
+ Before calling this you should be SURE that the path to this exists.
+ The input is a text representation of the path to the json as json pointer syntax (e.g. /key1/0/key2).`
+}
+
+/**
+ * A tool in the LangChain framework that retrieves the value at a given
+ * path in a JSON object.
+ */
+export class JsonGetValueTool extends Tool {
+ static lc_name() {
+ return 'JsonGetValueTool'
+ }
+
+ name = 'json_get_value'
+
+ constructor(public jsonSpec: JsonSpec) {
+ super()
+ }
+
+ /** @ignore */
+ async _call(input: string) {
+ try {
+ return this.jsonSpec.getValue(input)
+ } catch (error) {
+ return `${error}`
+ }
+ }
+
+ description = `Can be used to see value in string format at a given path.
+ Before calling this you should be SURE that the path to this exists.
+ The input is a text representation of the path to the json as json pointer syntax (e.g. /key1/0/key2).`
+}
diff --git a/packages/components/nodes/tools/QueryEngineTool/QueryEngineTool.ts b/packages/components/nodes/tools/QueryEngineTool/QueryEngineTool.ts
index 163eff76..cc25fa6f 100644
--- a/packages/components/nodes/tools/QueryEngineTool/QueryEngineTool.ts
+++ b/packages/components/nodes/tools/QueryEngineTool/QueryEngineTool.ts
@@ -1,5 +1,5 @@
import { INode, INodeData, INodeParams } from '../../../src/Interface'
-import { VectorStoreIndex } from 'llamaindex'
+import { BaseQueryEngine } from 'llamaindex'
class QueryEngine_Tools implements INode {
label: string
@@ -16,7 +16,7 @@ class QueryEngine_Tools implements INode {
constructor() {
this.label = 'QueryEngine Tool'
this.name = 'queryEngineToolLlamaIndex'
- this.version = 1.0
+ this.version = 2.0
this.type = 'QueryEngineTool'
this.icon = 'queryEngineTool.svg'
this.category = 'Tools'
@@ -25,9 +25,9 @@ class QueryEngine_Tools implements INode {
this.baseClasses = [this.type]
this.inputs = [
{
- label: 'Vector Store Index',
- name: 'vectorStoreIndex',
- type: 'VectorStoreIndex'
+ label: 'Base QueryEngine',
+ name: 'baseQueryEngine',
+ type: 'BaseQueryEngine'
},
{
label: 'Tool Name',
@@ -45,20 +45,15 @@ class QueryEngine_Tools implements INode {
}
async init(nodeData: INodeData): Promise {
- const vectorStoreIndex = nodeData.inputs?.vectorStoreIndex as VectorStoreIndex
+ const baseQueryEngine = nodeData.inputs?.baseQueryEngine as BaseQueryEngine
const toolName = nodeData.inputs?.toolName as string
const toolDesc = nodeData.inputs?.toolDesc as string
const queryEngineTool = {
- queryEngine: vectorStoreIndex.asQueryEngine({
- preFilters: {
- ...(vectorStoreIndex as any).metadatafilter
- }
- }),
+ queryEngine: baseQueryEngine,
metadata: {
name: toolName,
description: toolDesc
- },
- vectorStoreIndex
+ }
}
return queryEngineTool
diff --git a/packages/components/nodes/tools/ReadFile/ReadFile.ts b/packages/components/nodes/tools/ReadFile/ReadFile.ts
index 2aa2c66e..68c0d38a 100644
--- a/packages/components/nodes/tools/ReadFile/ReadFile.ts
+++ b/packages/components/nodes/tools/ReadFile/ReadFile.ts
@@ -1,7 +1,14 @@
+import { z } from 'zod'
+import { StructuredTool, ToolParams } from '@langchain/core/tools'
+import { Serializable } from '@langchain/core/load/serializable'
+import { NodeFileStore } from 'langchain/stores/file/node'
import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { ReadFileTool } from 'langchain/tools'
-import { NodeFileStore } from 'langchain/stores/file/node'
+
+abstract class BaseFileStore extends Serializable {
+ abstract readFile(path: string): Promise
+ abstract writeFile(path: string, contents: string): Promise
+}
class ReadFile_Tools implements INode {
label: string
@@ -41,4 +48,38 @@ class ReadFile_Tools implements INode {
}
}
+interface ReadFileParams extends ToolParams {
+ store: BaseFileStore
+}
+
+/**
+ * Class for reading files from the disk. Extends the StructuredTool
+ * class.
+ */
+export class ReadFileTool extends StructuredTool {
+ static lc_name() {
+ return 'ReadFileTool'
+ }
+
+ schema = z.object({
+ file_path: z.string().describe('name of file')
+ })
+
+ name = 'read_file'
+
+ description = 'Read file from disk'
+
+ store: BaseFileStore
+
+ constructor({ store }: ReadFileParams) {
+ super(...arguments)
+
+ this.store = store
+ }
+
+ async _call({ file_path }: z.infer) {
+ return await this.store.readFile(file_path)
+ }
+}
+
module.exports = { nodeClass: ReadFile_Tools }
diff --git a/packages/components/nodes/tools/RequestsGet/core.ts b/packages/components/nodes/tools/RequestsGet/core.ts
index 14bc07f3..ea97cdf2 100644
--- a/packages/components/nodes/tools/RequestsGet/core.ts
+++ b/packages/components/nodes/tools/RequestsGet/core.ts
@@ -1,5 +1,5 @@
import fetch from 'node-fetch'
-import { Tool } from 'langchain/tools'
+import { Tool } from '@langchain/core/tools'
export const desc = `A portal to the internet. Use this when you need to get specific content from a website.
Input should be a url (i.e. https://www.google.com). The output will be the text response of the GET request.`
diff --git a/packages/components/nodes/tools/RequestsPost/core.ts b/packages/components/nodes/tools/RequestsPost/core.ts
index 403ba42b..a380f167 100644
--- a/packages/components/nodes/tools/RequestsPost/core.ts
+++ b/packages/components/nodes/tools/RequestsPost/core.ts
@@ -1,4 +1,4 @@
-import { Tool } from 'langchain/tools'
+import { Tool } from '@langchain/core/tools'
import fetch from 'node-fetch'
export const desc = `Use this when you want to POST to a website.
diff --git a/packages/components/nodes/tools/RetrieverTool/RetrieverTool.ts b/packages/components/nodes/tools/RetrieverTool/RetrieverTool.ts
index 4e4a4af8..c2322ddb 100644
--- a/packages/components/nodes/tools/RetrieverTool/RetrieverTool.ts
+++ b/packages/components/nodes/tools/RetrieverTool/RetrieverTool.ts
@@ -1,10 +1,10 @@
-import { INode, INodeData, INodeParams } from '../../../src/Interface'
-import { getBaseClasses } from '../../../src/utils'
-import { DynamicTool } from 'langchain/tools'
+import { z } from 'zod'
import { DynamicStructuredTool } from '@langchain/core/tools'
import { CallbackManagerForToolRun } from '@langchain/core/callbacks/manager'
-import { BaseRetriever } from 'langchain/schema/retriever'
-import { z } from 'zod'
+import { DynamicTool } from '@langchain/core/tools'
+import { BaseRetriever } from '@langchain/core/retrievers'
+import { INode, INodeData, INodeParams } from '../../../src/Interface'
+import { getBaseClasses } from '../../../src/utils'
import { SOURCE_DOCUMENTS_PREFIX } from '../../../src/agents'
class Retriever_Tools implements INode {
diff --git a/packages/components/nodes/tools/SearchApi/SearchAPI.ts b/packages/components/nodes/tools/SearchApi/SearchAPI.ts
index 3f760087..410f142a 100644
--- a/packages/components/nodes/tools/SearchApi/SearchAPI.ts
+++ b/packages/components/nodes/tools/SearchApi/SearchAPI.ts
@@ -1,6 +1,6 @@
+import { SearchApi } from '@langchain/community/tools/searchapi'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { SearchApi } from 'langchain/tools'
class SearchAPI_Tools implements INode {
label: string
diff --git a/packages/components/nodes/tools/SerpAPI/SerpAPI.ts b/packages/components/nodes/tools/SerpAPI/SerpAPI.ts
index 184dc1c4..b4940f45 100644
--- a/packages/components/nodes/tools/SerpAPI/SerpAPI.ts
+++ b/packages/components/nodes/tools/SerpAPI/SerpAPI.ts
@@ -1,6 +1,6 @@
+import { SerpAPI } from '@langchain/community/tools/serpapi'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { SerpAPI } from 'langchain/tools'
class SerpAPI_Tools implements INode {
label: string
diff --git a/packages/components/nodes/tools/Serper/Serper.ts b/packages/components/nodes/tools/Serper/Serper.ts
index 2e67a61d..2dbefafa 100644
--- a/packages/components/nodes/tools/Serper/Serper.ts
+++ b/packages/components/nodes/tools/Serper/Serper.ts
@@ -1,6 +1,6 @@
+import { Serper } from '@langchain/community/tools/serper'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { Serper } from 'langchain/tools'
class Serper_Tools implements INode {
label: string
diff --git a/packages/components/nodes/tools/WebBrowser/WebBrowser.ts b/packages/components/nodes/tools/WebBrowser/WebBrowser.ts
index 64a093d0..874051c7 100644
--- a/packages/components/nodes/tools/WebBrowser/WebBrowser.ts
+++ b/packages/components/nodes/tools/WebBrowser/WebBrowser.ts
@@ -1,8 +1,8 @@
-import { BaseLanguageModel } from 'langchain/base_language'
+import { BaseLanguageModel } from '@langchain/core/language_models/base'
+import { Embeddings } from '@langchain/core/embeddings'
+import { WebBrowser } from 'langchain/tools/webbrowser'
import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { WebBrowser } from 'langchain/tools/webbrowser'
-import { Embeddings } from 'langchain/embeddings/base'
class WebBrowser_Tools implements INode {
label: string
diff --git a/packages/components/nodes/tools/WriteFile/WriteFile.ts b/packages/components/nodes/tools/WriteFile/WriteFile.ts
index 2eb7843f..22d58e42 100644
--- a/packages/components/nodes/tools/WriteFile/WriteFile.ts
+++ b/packages/components/nodes/tools/WriteFile/WriteFile.ts
@@ -1,7 +1,14 @@
+import { z } from 'zod'
+import { StructuredTool, ToolParams } from '@langchain/core/tools'
+import { Serializable } from '@langchain/core/load/serializable'
+import { NodeFileStore } from 'langchain/stores/file/node'
import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
-import { WriteFileTool } from 'langchain/tools'
-import { NodeFileStore } from 'langchain/stores/file/node'
+
+abstract class BaseFileStore extends Serializable {
+ abstract readFile(path: string): Promise
+ abstract writeFile(path: string, contents: string): Promise
+}
class WriteFile_Tools implements INode {
label: string
@@ -41,4 +48,40 @@ class WriteFile_Tools implements INode {
}
}
+interface WriteFileParams extends ToolParams {
+ store: BaseFileStore
+}
+
+/**
+ * Class for writing data to files on the disk. Extends the StructuredTool
+ * class.
+ */
+export class WriteFileTool extends StructuredTool {
+ static lc_name() {
+ return 'WriteFileTool'
+ }
+
+ schema = z.object({
+ file_path: z.string().describe('name of file'),
+ text: z.string().describe('text to write to file')
+ })
+
+ name = 'write_file'
+
+ description = 'Write file from disk'
+
+ store: BaseFileStore
+
+ constructor({ store, ...rest }: WriteFileParams) {
+ super(rest)
+
+ this.store = store
+ }
+
+ async _call({ file_path, text }: z.infer) {
+ await this.store.writeFile(file_path, text)
+ return 'File written to successfully.'
+ }
+}
+
module.exports = { nodeClass: WriteFile_Tools }
diff --git a/packages/components/nodes/vectorstores/Astra/Astra.ts b/packages/components/nodes/vectorstores/Astra/Astra.ts
index edaadc9c..b8afe3a1 100644
--- a/packages/components/nodes/vectorstores/Astra/Astra.ts
+++ b/packages/components/nodes/vectorstores/Astra/Astra.ts
@@ -1,9 +1,9 @@
import { flatten } from 'lodash'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
+import { AstraDBVectorStore, AstraLibArgs } from '@langchain/community/vectorstores/astradb'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData } from '../../../src/utils'
-import { AstraDBVectorStore, AstraLibArgs } from '@langchain/community/vectorstores/astradb'
import { addMMRInputParams, resolveVectorStoreOrRetriever } from '../VectorStoreUtils'
class Astra_VectorStores implements INode {
diff --git a/packages/components/nodes/vectorstores/Chroma/Chroma.ts b/packages/components/nodes/vectorstores/Chroma/Chroma.ts
index 6e1cfa67..70ab2d22 100644
--- a/packages/components/nodes/vectorstores/Chroma/Chroma.ts
+++ b/packages/components/nodes/vectorstores/Chroma/Chroma.ts
@@ -1,7 +1,7 @@
import { flatten } from 'lodash'
-import { Chroma } from 'langchain/vectorstores/chroma'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
+import { Chroma } from '@langchain/community/vectorstores/chroma'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { ChromaExtended } from './core'
diff --git a/packages/components/nodes/vectorstores/Chroma/Chroma_Existing.ts b/packages/components/nodes/vectorstores/Chroma/Chroma_Existing.ts
index 62d3f8a2..90c650c0 100644
--- a/packages/components/nodes/vectorstores/Chroma/Chroma_Existing.ts
+++ b/packages/components/nodes/vectorstores/Chroma/Chroma_Existing.ts
@@ -1,7 +1,7 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { Chroma } from 'langchain/vectorstores/chroma'
-import { Embeddings } from 'langchain/embeddings/base'
+import { Chroma } from '@langchain/community/vectorstores/chroma'
+import { Embeddings } from '@langchain/core/embeddings'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { ChromaExtended } from './core'
class Chroma_Existing_VectorStores implements INode {
diff --git a/packages/components/nodes/vectorstores/Chroma/Chroma_Upsert.ts b/packages/components/nodes/vectorstores/Chroma/Chroma_Upsert.ts
index e8564478..66a0ef7b 100644
--- a/packages/components/nodes/vectorstores/Chroma/Chroma_Upsert.ts
+++ b/packages/components/nodes/vectorstores/Chroma/Chroma_Upsert.ts
@@ -1,9 +1,9 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { Chroma } from 'langchain/vectorstores/chroma'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { flatten } from 'lodash'
+import { Chroma } from '@langchain/community/vectorstores/chroma'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { ChromaExtended } from './core'
class ChromaUpsert_VectorStores implements INode {
diff --git a/packages/components/nodes/vectorstores/Chroma/core.ts b/packages/components/nodes/vectorstores/Chroma/core.ts
index b1bf9cc7..370830a3 100644
--- a/packages/components/nodes/vectorstores/Chroma/core.ts
+++ b/packages/components/nodes/vectorstores/Chroma/core.ts
@@ -1,5 +1,5 @@
-import { Chroma, ChromaLibArgs } from 'langchain/vectorstores/chroma'
-import { Embeddings } from 'langchain/embeddings/base'
+import { Chroma, ChromaLibArgs } from '@langchain/community/vectorstores/chroma'
+import { Embeddings } from '@langchain/core/embeddings'
import type { Collection } from 'chromadb'
import { ChromaClient } from 'chromadb'
diff --git a/packages/components/nodes/vectorstores/Elasticsearch/ElasticSearchBase.ts b/packages/components/nodes/vectorstores/Elasticsearch/ElasticSearchBase.ts
index 3c1dc5a1..e8bbf95c 100644
--- a/packages/components/nodes/vectorstores/Elasticsearch/ElasticSearchBase.ts
+++ b/packages/components/nodes/vectorstores/Elasticsearch/ElasticSearchBase.ts
@@ -8,10 +8,10 @@ import {
INodeParams
} from '../../../src'
import { Client, ClientOptions } from '@elastic/elasticsearch'
-import { ElasticClientArgs, ElasticVectorSearch } from 'langchain/vectorstores/elasticsearch'
-import { Embeddings } from 'langchain/embeddings/base'
-import { VectorStore } from 'langchain/vectorstores/base'
-import { Document } from 'langchain/document'
+import { ElasticClientArgs, ElasticVectorSearch } from '@langchain/community/vectorstores/elasticsearch'
+import { Embeddings } from '@langchain/core/embeddings'
+import { VectorStore } from '@langchain/core/vectorstores'
+import { Document } from '@langchain/core/documents'
export abstract class ElasticSearchBase {
label: string
diff --git a/packages/components/nodes/vectorstores/Elasticsearch/Elasticsearch.ts b/packages/components/nodes/vectorstores/Elasticsearch/Elasticsearch.ts
index 04c90c6b..cfc721b8 100644
--- a/packages/components/nodes/vectorstores/Elasticsearch/Elasticsearch.ts
+++ b/packages/components/nodes/vectorstores/Elasticsearch/Elasticsearch.ts
@@ -1,8 +1,8 @@
import { flatten } from 'lodash'
import { Client, ClientOptions } from '@elastic/elasticsearch'
-import { Document } from 'langchain/document'
-import { Embeddings } from 'langchain/embeddings/base'
-import { ElasticClientArgs, ElasticVectorSearch } from 'langchain/vectorstores/elasticsearch'
+import { Document } from '@langchain/core/documents'
+import { Embeddings } from '@langchain/core/embeddings'
+import { ElasticClientArgs, ElasticVectorSearch } from '@langchain/community/vectorstores/elasticsearch'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
diff --git a/packages/components/nodes/vectorstores/Elasticsearch/Elasticsearch_Existing.ts b/packages/components/nodes/vectorstores/Elasticsearch/Elasticsearch_Existing.ts
index fcb1b2a5..fa1b0b6f 100644
--- a/packages/components/nodes/vectorstores/Elasticsearch/Elasticsearch_Existing.ts
+++ b/packages/components/nodes/vectorstores/Elasticsearch/Elasticsearch_Existing.ts
@@ -1,10 +1,9 @@
-import { ICommonObject, INode, INodeData } from '../../../src/Interface'
-import { Embeddings } from 'langchain/embeddings/base'
-
-import { ElasticClientArgs, ElasticVectorSearch } from 'langchain/vectorstores/elasticsearch'
+import { Embeddings } from '@langchain/core/embeddings'
+import { ElasticClientArgs, ElasticVectorSearch } from '@langchain/community/vectorstores/elasticsearch'
+import { VectorStore } from '@langchain/core/vectorstores'
+import { Document } from '@langchain/core/documents'
import { ElasticSearchBase } from './ElasticSearchBase'
-import { VectorStore } from 'langchain/vectorstores/base'
-import { Document } from 'langchain/document'
+import { ICommonObject, INode, INodeData } from '../../../src/Interface'
class ElasicsearchExisting_VectorStores extends ElasticSearchBase implements INode {
constructor() {
diff --git a/packages/components/nodes/vectorstores/Elasticsearch/Elasticsearch_Upsert.ts b/packages/components/nodes/vectorstores/Elasticsearch/Elasticsearch_Upsert.ts
index a8ccd49a..973976eb 100644
--- a/packages/components/nodes/vectorstores/Elasticsearch/Elasticsearch_Upsert.ts
+++ b/packages/components/nodes/vectorstores/Elasticsearch/Elasticsearch_Upsert.ts
@@ -1,11 +1,10 @@
-import { ICommonObject, INode, INodeData } from '../../../src/Interface'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
-
-import { ElasticClientArgs, ElasticVectorSearch } from 'langchain/vectorstores/elasticsearch'
import { flatten } from 'lodash'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
+import { VectorStore } from '@langchain/core/vectorstores'
+import { ElasticClientArgs, ElasticVectorSearch } from '@langchain/community/vectorstores/elasticsearch'
+import { ICommonObject, INode, INodeData } from '../../../src/Interface'
import { ElasticSearchBase } from './ElasticSearchBase'
-import { VectorStore } from 'langchain/vectorstores/base'
class ElasicsearchUpsert_VectorStores extends ElasticSearchBase implements INode {
constructor() {
diff --git a/packages/components/nodes/vectorstores/Faiss/Faiss.ts b/packages/components/nodes/vectorstores/Faiss/Faiss.ts
index 4120a57e..8a306ed9 100644
--- a/packages/components/nodes/vectorstores/Faiss/Faiss.ts
+++ b/packages/components/nodes/vectorstores/Faiss/Faiss.ts
@@ -1,7 +1,7 @@
import { flatten } from 'lodash'
-import { Document } from 'langchain/document'
-import { FaissStore } from 'langchain/vectorstores/faiss'
-import { Embeddings } from 'langchain/embeddings/base'
+import { Document } from '@langchain/core/documents'
+import { FaissStore } from '@langchain/community/vectorstores/faiss'
+import { Embeddings } from '@langchain/core/embeddings'
import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
diff --git a/packages/components/nodes/vectorstores/Faiss/Faiss_Existing.ts b/packages/components/nodes/vectorstores/Faiss/Faiss_Existing.ts
index 6f4e54d7..b5cd5dba 100644
--- a/packages/components/nodes/vectorstores/Faiss/Faiss_Existing.ts
+++ b/packages/components/nodes/vectorstores/Faiss/Faiss_Existing.ts
@@ -1,8 +1,8 @@
+import { FaissStore } from '@langchain/community/vectorstores/faiss'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { FaissStore } from 'langchain/vectorstores/faiss'
-import { Embeddings } from 'langchain/embeddings/base'
import { getBaseClasses } from '../../../src/utils'
-import { Document } from 'langchain/document'
class Faiss_Existing_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Faiss/Faiss_Upsert.ts b/packages/components/nodes/vectorstores/Faiss/Faiss_Upsert.ts
index 9b658a37..3eb144a4 100644
--- a/packages/components/nodes/vectorstores/Faiss/Faiss_Upsert.ts
+++ b/packages/components/nodes/vectorstores/Faiss/Faiss_Upsert.ts
@@ -1,9 +1,9 @@
-import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
-import { getBaseClasses } from '../../../src/utils'
-import { FaissStore } from 'langchain/vectorstores/faiss'
import { flatten } from 'lodash'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
+import { FaissStore } from '@langchain/community/vectorstores/faiss'
+import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
+import { getBaseClasses } from '../../../src/utils'
class FaissUpsert_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/InMemory/InMemoryVectorStore.ts b/packages/components/nodes/vectorstores/InMemory/InMemoryVectorStore.ts
index 620c3af7..aff7f637 100644
--- a/packages/components/nodes/vectorstores/InMemory/InMemoryVectorStore.ts
+++ b/packages/components/nodes/vectorstores/InMemory/InMemoryVectorStore.ts
@@ -1,7 +1,7 @@
import { flatten } from 'lodash'
import { MemoryVectorStore } from 'langchain/vectorstores/memory'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
diff --git a/packages/components/nodes/vectorstores/Milvus/Milvus.ts b/packages/components/nodes/vectorstores/Milvus/Milvus.ts
index 7566f8a8..d6cfaea1 100644
--- a/packages/components/nodes/vectorstores/Milvus/Milvus.ts
+++ b/packages/components/nodes/vectorstores/Milvus/Milvus.ts
@@ -1,8 +1,8 @@
import { flatten } from 'lodash'
import { DataType, ErrorCode, MetricType, IndexType } from '@zilliz/milvus2-sdk-node'
-import { Document } from 'langchain/document'
-import { MilvusLibArgs, Milvus } from 'langchain/vectorstores/milvus'
-import { Embeddings } from 'langchain/embeddings/base'
+import { Document } from '@langchain/core/documents'
+import { MilvusLibArgs, Milvus } from '@langchain/community/vectorstores/milvus'
+import { Embeddings } from '@langchain/core/embeddings'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
diff --git a/packages/components/nodes/vectorstores/Milvus/Milvus_Existing.ts b/packages/components/nodes/vectorstores/Milvus/Milvus_Existing.ts
index bce5b9cb..5077b449 100644
--- a/packages/components/nodes/vectorstores/Milvus/Milvus_Existing.ts
+++ b/packages/components/nodes/vectorstores/Milvus/Milvus_Existing.ts
@@ -1,9 +1,9 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { DataType, ErrorCode } from '@zilliz/milvus2-sdk-node'
-import { MilvusLibArgs, Milvus } from 'langchain/vectorstores/milvus'
-import { Embeddings } from 'langchain/embeddings/base'
+import { MilvusLibArgs, Milvus } from '@langchain/community/vectorstores/milvus'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { Document } from 'langchain/document'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class Milvus_Existing_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Milvus/Milvus_Upsert.ts b/packages/components/nodes/vectorstores/Milvus/Milvus_Upsert.ts
index a0cae742..42e4dad8 100644
--- a/packages/components/nodes/vectorstores/Milvus/Milvus_Upsert.ts
+++ b/packages/components/nodes/vectorstores/Milvus/Milvus_Upsert.ts
@@ -1,10 +1,10 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { DataType, ErrorCode, MetricType, IndexType } from '@zilliz/milvus2-sdk-node'
-import { MilvusLibArgs, Milvus } from 'langchain/vectorstores/milvus'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { flatten } from 'lodash'
+import { DataType, ErrorCode, MetricType, IndexType } from '@zilliz/milvus2-sdk-node'
+import { MilvusLibArgs, Milvus } from '@langchain/community/vectorstores/milvus'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
interface InsertRow {
[x: string]: string | number[]
diff --git a/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDBAtlas.ts b/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDBAtlas.ts
index 6ba7199f..d574b32c 100644
--- a/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDBAtlas.ts
+++ b/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDBAtlas.ts
@@ -1,8 +1,8 @@
import { flatten } from 'lodash'
import { MongoClient } from 'mongodb'
-import { MongoDBAtlasVectorSearch } from 'langchain/vectorstores/mongodb_atlas'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
+import { MongoDBAtlasVectorSearch } from '@langchain/community/vectorstores/mongodb_atlas'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { addMMRInputParams, resolveVectorStoreOrRetriever } from '../VectorStoreUtils'
diff --git a/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDBSearchBase.ts b/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDBSearchBase.ts
index 9866f6a9..db7c3397 100644
--- a/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDBSearchBase.ts
+++ b/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDBSearchBase.ts
@@ -7,11 +7,10 @@ import {
INodeOutputsValue,
INodeParams
} from '../../../src'
-
-import { Embeddings } from 'langchain/embeddings/base'
-import { VectorStore } from 'langchain/vectorstores/base'
-import { Document } from 'langchain/document'
-import { MongoDBAtlasVectorSearch } from 'langchain/vectorstores/mongodb_atlas'
+import { Embeddings } from '@langchain/core/embeddings'
+import { VectorStore } from '@langchain/core/vectorstores'
+import { Document } from '@langchain/core/documents'
+import { MongoDBAtlasVectorSearch } from '@langchain/community/vectorstores/mongodb_atlas'
import { Collection, MongoClient } from 'mongodb'
export abstract class MongoDBSearchBase {
diff --git a/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDB_Existing.ts b/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDB_Existing.ts
index 7b06814a..7d0c8476 100644
--- a/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDB_Existing.ts
+++ b/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDB_Existing.ts
@@ -1,8 +1,8 @@
import { Collection } from 'mongodb'
-import { MongoDBAtlasVectorSearch } from 'langchain/vectorstores/mongodb_atlas'
-import { Embeddings } from 'langchain/embeddings/base'
-import { VectorStore } from 'langchain/vectorstores/base'
-import { Document } from 'langchain/document'
+import { MongoDBAtlasVectorSearch } from '@langchain/community/vectorstores/mongodb_atlas'
+import { Embeddings } from '@langchain/core/embeddings'
+import { VectorStore } from '@langchain/core/vectorstores'
+import { Document } from '@langchain/core/documents'
import { MongoDBSearchBase } from './MongoDBSearchBase'
import { ICommonObject, INode, INodeData } from '../../../src/Interface'
diff --git a/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDB_Upsert.ts b/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDB_Upsert.ts
index d9287243..a580e820 100644
--- a/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDB_Upsert.ts
+++ b/packages/components/nodes/vectorstores/MongoDBAtlas/MongoDB_Upsert.ts
@@ -1,9 +1,9 @@
import { flatten } from 'lodash'
import { Collection } from 'mongodb'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
-import { VectorStore } from 'langchain/vectorstores/base'
-import { MongoDBAtlasVectorSearch } from 'langchain/vectorstores/mongodb_atlas'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
+import { VectorStore } from '@langchain/core/vectorstores'
+import { MongoDBAtlasVectorSearch } from '@langchain/community/vectorstores/mongodb_atlas'
import { ICommonObject, INode, INodeData } from '../../../src/Interface'
import { MongoDBSearchBase } from './MongoDBSearchBase'
diff --git a/packages/components/nodes/vectorstores/OpenSearch/OpenSearch.ts b/packages/components/nodes/vectorstores/OpenSearch/OpenSearch.ts
index 6be8977d..b67c8e4f 100644
--- a/packages/components/nodes/vectorstores/OpenSearch/OpenSearch.ts
+++ b/packages/components/nodes/vectorstores/OpenSearch/OpenSearch.ts
@@ -1,8 +1,8 @@
import { flatten } from 'lodash'
import { Client } from '@opensearch-project/opensearch'
-import { Document } from 'langchain/document'
-import { OpenSearchVectorStore } from 'langchain/vectorstores/opensearch'
-import { Embeddings } from 'langchain/embeddings/base'
+import { Document } from '@langchain/core/documents'
+import { OpenSearchVectorStore } from '@langchain/community/vectorstores/opensearch'
+import { Embeddings } from '@langchain/core/embeddings'
import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses } from '../../../src/utils'
diff --git a/packages/components/nodes/vectorstores/OpenSearch/OpenSearch_Upsert.ts b/packages/components/nodes/vectorstores/OpenSearch/OpenSearch_Upsert.ts
index e5512df8..b25f1962 100644
--- a/packages/components/nodes/vectorstores/OpenSearch/OpenSearch_Upsert.ts
+++ b/packages/components/nodes/vectorstores/OpenSearch/OpenSearch_Upsert.ts
@@ -1,10 +1,10 @@
-import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { OpenSearchVectorStore } from 'langchain/vectorstores/opensearch'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
+import { OpenSearchVectorStore } from '@langchain/community/vectorstores/opensearch'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
import { Client } from '@opensearch-project/opensearch'
import { flatten } from 'lodash'
import { getBaseClasses } from '../../../src/utils'
+import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class OpenSearchUpsert_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/OpenSearch/OpenSearch_existing.ts b/packages/components/nodes/vectorstores/OpenSearch/OpenSearch_existing.ts
index b4765a9a..fde96041 100644
--- a/packages/components/nodes/vectorstores/OpenSearch/OpenSearch_existing.ts
+++ b/packages/components/nodes/vectorstores/OpenSearch/OpenSearch_existing.ts
@@ -1,8 +1,8 @@
-import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { OpenSearchVectorStore } from 'langchain/vectorstores/opensearch'
-import { Embeddings } from 'langchain/embeddings/base'
+import { OpenSearchVectorStore } from '@langchain/community/vectorstores/opensearch'
+import { Embeddings } from '@langchain/core/embeddings'
import { Client } from '@opensearch-project/opensearch'
import { getBaseClasses } from '../../../src/utils'
+import { INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class OpenSearch_Existing_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Pinecone/Pinecone.ts b/packages/components/nodes/vectorstores/Pinecone/Pinecone.ts
index a1ec0e57..3ef8a8e8 100644
--- a/packages/components/nodes/vectorstores/Pinecone/Pinecone.ts
+++ b/packages/components/nodes/vectorstores/Pinecone/Pinecone.ts
@@ -1,8 +1,8 @@
import { flatten } from 'lodash'
import { Pinecone } from '@pinecone-database/pinecone'
-import { PineconeLibArgs, PineconeStore } from 'langchain/vectorstores/pinecone'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
+import { PineconeStoreParams, PineconeStore } from '@langchain/pinecone'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { addMMRInputParams, resolveVectorStoreOrRetriever } from '../VectorStoreUtils'
@@ -120,7 +120,7 @@ class Pinecone_VectorStores implements INode {
}
}
- const obj: PineconeLibArgs = {
+ const obj: PineconeStoreParams = {
pineconeIndex
}
@@ -148,6 +148,8 @@ class Pinecone_VectorStores implements INode {
apiKey: pineconeApiKey
})
+ await client.describeIndex(index)
+
const pineconeIndex = client.Index(index)
const flattenDocs = docs && docs.length ? flatten(docs) : []
@@ -158,7 +160,7 @@ class Pinecone_VectorStores implements INode {
}
}
- const obj: PineconeLibArgs = {
+ const obj: PineconeStoreParams = {
pineconeIndex
}
diff --git a/packages/components/nodes/vectorstores/Pinecone/Pinecone_Existing.ts b/packages/components/nodes/vectorstores/Pinecone/Pinecone_Existing.ts
index f805fc33..74a9c2de 100644
--- a/packages/components/nodes/vectorstores/Pinecone/Pinecone_Existing.ts
+++ b/packages/components/nodes/vectorstores/Pinecone/Pinecone_Existing.ts
@@ -1,8 +1,8 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { Pinecone } from '@pinecone-database/pinecone'
-import { PineconeLibArgs, PineconeStore } from 'langchain/vectorstores/pinecone'
-import { Embeddings } from 'langchain/embeddings/base'
+import { PineconeStoreParams, PineconeStore } from '@langchain/pinecone'
+import { Embeddings } from '@langchain/core/embeddings'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class Pinecone_Existing_VectorStores implements INode {
label: string
@@ -102,7 +102,7 @@ class Pinecone_Existing_VectorStores implements INode {
const pineconeIndex = client.Index(index)
- const obj: PineconeLibArgs = {
+ const obj: PineconeStoreParams = {
pineconeIndex
}
diff --git a/packages/components/nodes/vectorstores/Pinecone/Pinecone_Upsert.ts b/packages/components/nodes/vectorstores/Pinecone/Pinecone_Upsert.ts
index 14dbf663..8190449e 100644
--- a/packages/components/nodes/vectorstores/Pinecone/Pinecone_Upsert.ts
+++ b/packages/components/nodes/vectorstores/Pinecone/Pinecone_Upsert.ts
@@ -1,8 +1,8 @@
import { flatten } from 'lodash'
import { Pinecone } from '@pinecone-database/pinecone'
-import { PineconeLibArgs, PineconeStore } from 'langchain/vectorstores/pinecone'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
+import { PineconeStoreParams, PineconeStore } from '@langchain/pinecone'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
@@ -111,7 +111,7 @@ class PineconeUpsert_VectorStores implements INode {
}
}
- const obj: PineconeLibArgs = {
+ const obj: PineconeStoreParams = {
pineconeIndex
}
diff --git a/packages/components/nodes/vectorstores/Postgres/Postgres.ts b/packages/components/nodes/vectorstores/Postgres/Postgres.ts
index be7784cc..67a12a14 100644
--- a/packages/components/nodes/vectorstores/Postgres/Postgres.ts
+++ b/packages/components/nodes/vectorstores/Postgres/Postgres.ts
@@ -1,9 +1,9 @@
import { Pool } from 'pg'
import { flatten } from 'lodash'
import { DataSourceOptions } from 'typeorm'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
-import { TypeORMVectorStore, TypeORMVectorStoreDocument } from 'langchain/vectorstores/typeorm'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
+import { TypeORMVectorStore, TypeORMVectorStoreDocument } from '@langchain/community/vectorstores/typeorm'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
diff --git a/packages/components/nodes/vectorstores/Postgres/Postgres_Exisiting.ts b/packages/components/nodes/vectorstores/Postgres/Postgres_Exisiting.ts
index 3fa8a107..2aca118b 100644
--- a/packages/components/nodes/vectorstores/Postgres/Postgres_Exisiting.ts
+++ b/packages/components/nodes/vectorstores/Postgres/Postgres_Exisiting.ts
@@ -1,10 +1,10 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
import { DataSourceOptions } from 'typeorm'
-import { TypeORMVectorStore, TypeORMVectorStoreDocument } from 'langchain/vectorstores/typeorm'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { Pool } from 'pg'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
+import { TypeORMVectorStore, TypeORMVectorStoreDocument } from '@langchain/community/vectorstores/typeorm'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
class Postgres_Existing_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Postgres/Postgres_Upsert.ts b/packages/components/nodes/vectorstores/Postgres/Postgres_Upsert.ts
index d26a642d..e3ce4e16 100644
--- a/packages/components/nodes/vectorstores/Postgres/Postgres_Upsert.ts
+++ b/packages/components/nodes/vectorstores/Postgres/Postgres_Upsert.ts
@@ -1,11 +1,11 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
import { DataSourceOptions } from 'typeorm'
-import { TypeORMVectorStore, TypeORMVectorStoreDocument } from 'langchain/vectorstores/typeorm'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { flatten } from 'lodash'
import { Pool } from 'pg'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
+import { TypeORMVectorStore, TypeORMVectorStoreDocument } from '@langchain/community/vectorstores/typeorm'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class PostgresUpsert_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts b/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts
index 80899942..7fd2559f 100644
--- a/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts
+++ b/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts
@@ -1,9 +1,9 @@
import { flatten } from 'lodash'
import { QdrantClient } from '@qdrant/js-client-rest'
-import { VectorStoreRetrieverInput } from 'langchain/vectorstores/base'
-import { Document } from 'langchain/document'
-import { QdrantVectorStore, QdrantLibArgs } from 'langchain/vectorstores/qdrant'
-import { Embeddings } from 'langchain/embeddings/base'
+import { VectorStoreRetrieverInput } from '@langchain/core/vectorstores'
+import { Document } from '@langchain/core/documents'
+import { QdrantVectorStore, QdrantLibArgs } from '@langchain/community/vectorstores/qdrant'
+import { Embeddings } from '@langchain/core/embeddings'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
diff --git a/packages/components/nodes/vectorstores/Qdrant/Qdrant_Existing.ts b/packages/components/nodes/vectorstores/Qdrant/Qdrant_Existing.ts
index 5009b0cf..61cd260f 100644
--- a/packages/components/nodes/vectorstores/Qdrant/Qdrant_Existing.ts
+++ b/packages/components/nodes/vectorstores/Qdrant/Qdrant_Existing.ts
@@ -1,9 +1,9 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { QdrantClient } from '@qdrant/js-client-rest'
-import { QdrantVectorStore, QdrantLibArgs } from 'langchain/vectorstores/qdrant'
-import { Embeddings } from 'langchain/embeddings/base'
+import { QdrantVectorStore, QdrantLibArgs } from '@langchain/community/vectorstores/qdrant'
+import { Embeddings } from '@langchain/core/embeddings'
+import { VectorStoreRetrieverInput } from '@langchain/core/vectorstores'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { VectorStoreRetrieverInput } from 'langchain/vectorstores/base'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
type RetrieverConfig = Partial>
diff --git a/packages/components/nodes/vectorstores/Qdrant/Qdrant_Upsert.ts b/packages/components/nodes/vectorstores/Qdrant/Qdrant_Upsert.ts
index c43a0c8d..3333a5a7 100644
--- a/packages/components/nodes/vectorstores/Qdrant/Qdrant_Upsert.ts
+++ b/packages/components/nodes/vectorstores/Qdrant/Qdrant_Upsert.ts
@@ -1,11 +1,11 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { QdrantClient } from '@qdrant/js-client-rest'
-import { QdrantVectorStore, QdrantLibArgs } from 'langchain/vectorstores/qdrant'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
+import { QdrantVectorStore, QdrantLibArgs } from '@langchain/community/vectorstores/qdrant'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { flatten } from 'lodash'
-import { VectorStoreRetrieverInput } from 'langchain/vectorstores/base'
+import { VectorStoreRetrieverInput } from '@langchain/core/vectorstores'
type RetrieverConfig = Partial>
diff --git a/packages/components/nodes/vectorstores/Redis/Redis.ts b/packages/components/nodes/vectorstores/Redis/Redis.ts
index 0dddf782..c1b9c7d4 100644
--- a/packages/components/nodes/vectorstores/Redis/Redis.ts
+++ b/packages/components/nodes/vectorstores/Redis/Redis.ts
@@ -1,8 +1,8 @@
import { flatten, isEqual } from 'lodash'
import { createClient, SearchOptions, RedisClientOptions } from 'redis'
-import { Embeddings } from 'langchain/embeddings/base'
-import { RedisVectorStore, RedisVectorStoreConfig } from 'langchain/vectorstores/redis'
-import { Document } from 'langchain/document'
+import { Embeddings } from '@langchain/core/embeddings'
+import { RedisVectorStore, RedisVectorStoreConfig } from '@langchain/community/vectorstores/redis'
+import { Document } from '@langchain/core/documents'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { escapeAllStrings, escapeSpecialChars, unEscapeSpecialChars } from './utils'
diff --git a/packages/components/nodes/vectorstores/Redis/RedisSearchBase.ts b/packages/components/nodes/vectorstores/Redis/RedisSearchBase.ts
index e87b49f9..fd7572e9 100644
--- a/packages/components/nodes/vectorstores/Redis/RedisSearchBase.ts
+++ b/packages/components/nodes/vectorstores/Redis/RedisSearchBase.ts
@@ -1,3 +1,10 @@
+import { createClient, SearchOptions, RedisClientOptions } from 'redis'
+import { isEqual } from 'lodash'
+import { Embeddings } from '@langchain/core/embeddings'
+import { VectorStore } from '@langchain/core/vectorstores'
+import { Document } from '@langchain/core/documents'
+import { RedisVectorStore } from '@langchain/community/vectorstores/redis'
+import { escapeSpecialChars, unEscapeSpecialChars } from './utils'
import {
getBaseClasses,
getCredentialData,
@@ -7,13 +14,6 @@ import {
INodeOutputsValue,
INodeParams
} from '../../../src'
-import { Embeddings } from 'langchain/embeddings/base'
-import { VectorStore } from 'langchain/vectorstores/base'
-import { Document } from 'langchain/document'
-import { createClient, SearchOptions, RedisClientOptions } from 'redis'
-import { RedisVectorStore } from 'langchain/vectorstores/redis'
-import { escapeSpecialChars, unEscapeSpecialChars } from './utils'
-import { isEqual } from 'lodash'
let redisClientSingleton: ReturnType
let redisClientOption: RedisClientOptions
diff --git a/packages/components/nodes/vectorstores/Redis/Redis_Existing.ts b/packages/components/nodes/vectorstores/Redis/Redis_Existing.ts
index 6f2ec9b3..177e0ebc 100644
--- a/packages/components/nodes/vectorstores/Redis/Redis_Existing.ts
+++ b/packages/components/nodes/vectorstores/Redis/Redis_Existing.ts
@@ -1,8 +1,8 @@
+import { Embeddings } from '@langchain/core/embeddings'
+import { VectorStore } from '@langchain/core/vectorstores'
+import { RedisVectorStore, RedisVectorStoreConfig } from '@langchain/community/vectorstores/redis'
+import { Document } from '@langchain/core/documents'
import { ICommonObject, INode, INodeData } from '../../../src/Interface'
-import { Embeddings } from 'langchain/embeddings/base'
-import { VectorStore } from 'langchain/vectorstores/base'
-import { RedisVectorStore, RedisVectorStoreConfig } from 'langchain/vectorstores/redis'
-import { Document } from 'langchain/document'
import { RedisSearchBase } from './RedisSearchBase'
class RedisExisting_VectorStores extends RedisSearchBase implements INode {
diff --git a/packages/components/nodes/vectorstores/Redis/Redis_Upsert.ts b/packages/components/nodes/vectorstores/Redis/Redis_Upsert.ts
index c4394824..f93ab55d 100644
--- a/packages/components/nodes/vectorstores/Redis/Redis_Upsert.ts
+++ b/packages/components/nodes/vectorstores/Redis/Redis_Upsert.ts
@@ -1,10 +1,10 @@
-import { ICommonObject, INode, INodeData } from '../../../src/Interface'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
import { flatten } from 'lodash'
+import { VectorStore } from '@langchain/core/vectorstores'
+import { RedisVectorStore, RedisVectorStoreConfig } from '@langchain/community/vectorstores/redis'
import { RedisSearchBase } from './RedisSearchBase'
-import { VectorStore } from 'langchain/vectorstores/base'
-import { RedisVectorStore, RedisVectorStoreConfig } from 'langchain/vectorstores/redis'
+import { ICommonObject, INode, INodeData } from '../../../src/Interface'
import { escapeAllStrings } from './utils'
class RedisUpsert_VectorStores extends RedisSearchBase implements INode {
diff --git a/packages/components/nodes/vectorstores/Singlestore/Singlestore.ts b/packages/components/nodes/vectorstores/Singlestore/Singlestore.ts
index d16252ac..797b7467 100644
--- a/packages/components/nodes/vectorstores/Singlestore/Singlestore.ts
+++ b/packages/components/nodes/vectorstores/Singlestore/Singlestore.ts
@@ -1,7 +1,7 @@
import { flatten } from 'lodash'
-import { Embeddings } from 'langchain/embeddings/base'
-import { SingleStoreVectorStore, SingleStoreVectorStoreConfig } from 'langchain/vectorstores/singlestore'
-import { Document } from 'langchain/document'
+import { Embeddings } from '@langchain/core/embeddings'
+import { SingleStoreVectorStore, SingleStoreVectorStoreConfig } from '@langchain/community/vectorstores/singlestore'
+import { Document } from '@langchain/core/documents'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
diff --git a/packages/components/nodes/vectorstores/Singlestore/Singlestore_Existing.ts b/packages/components/nodes/vectorstores/Singlestore/Singlestore_Existing.ts
index 34061764..07f32257 100644
--- a/packages/components/nodes/vectorstores/Singlestore/Singlestore_Existing.ts
+++ b/packages/components/nodes/vectorstores/Singlestore/Singlestore_Existing.ts
@@ -1,7 +1,7 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { Embeddings } from 'langchain/embeddings/base'
+import { Embeddings } from '@langchain/core/embeddings'
+import { SingleStoreVectorStore, SingleStoreVectorStoreConfig } from '@langchain/community/vectorstores/singlestore'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { SingleStoreVectorStore, SingleStoreVectorStoreConfig } from 'langchain/vectorstores/singlestore'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class SingleStoreExisting_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Singlestore/Singlestore_Upsert.ts b/packages/components/nodes/vectorstores/Singlestore/Singlestore_Upsert.ts
index f158f9e8..7e2b93c2 100644
--- a/packages/components/nodes/vectorstores/Singlestore/Singlestore_Upsert.ts
+++ b/packages/components/nodes/vectorstores/Singlestore/Singlestore_Upsert.ts
@@ -1,9 +1,9 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { SingleStoreVectorStore, SingleStoreVectorStoreConfig } from 'langchain/vectorstores/singlestore'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
+import { SingleStoreVectorStore, SingleStoreVectorStoreConfig } from '@langchain/community/vectorstores/singlestore'
import { flatten } from 'lodash'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class SingleStoreUpsert_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Supabase/Supabase.ts b/packages/components/nodes/vectorstores/Supabase/Supabase.ts
index a5477914..74849911 100644
--- a/packages/components/nodes/vectorstores/Supabase/Supabase.ts
+++ b/packages/components/nodes/vectorstores/Supabase/Supabase.ts
@@ -1,10 +1,10 @@
import { flatten } from 'lodash'
import { createClient } from '@supabase/supabase-js'
-import { Document } from 'langchain/document'
-import { Embeddings } from 'langchain/embeddings/base'
+import { Document } from '@langchain/core/documents'
+import { Embeddings } from '@langchain/core/embeddings'
+import { SupabaseVectorStore, SupabaseLibArgs } from '@langchain/community/vectorstores/supabase'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { SupabaseLibArgs, SupabaseVectorStore } from 'langchain/vectorstores/supabase'
import { addMMRInputParams, resolveVectorStoreOrRetriever } from '../VectorStoreUtils'
class Supabase_VectorStores implements INode {
diff --git a/packages/components/nodes/vectorstores/Supabase/Supabase_Exisiting.ts b/packages/components/nodes/vectorstores/Supabase/Supabase_Exisiting.ts
index 8f135cf7..03bd3437 100644
--- a/packages/components/nodes/vectorstores/Supabase/Supabase_Exisiting.ts
+++ b/packages/components/nodes/vectorstores/Supabase/Supabase_Exisiting.ts
@@ -1,8 +1,8 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { Embeddings } from 'langchain/embeddings/base'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { SupabaseLibArgs, SupabaseVectorStore } from 'langchain/vectorstores/supabase'
+import { Embeddings } from '@langchain/core/embeddings'
+import { SupabaseLibArgs, SupabaseVectorStore } from '@langchain/community/vectorstores/supabase'
import { createClient } from '@supabase/supabase-js'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class Supabase_Existing_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Supabase/Supabase_Upsert.ts b/packages/components/nodes/vectorstores/Supabase/Supabase_Upsert.ts
index 9e97f48f..002c9d79 100644
--- a/packages/components/nodes/vectorstores/Supabase/Supabase_Upsert.ts
+++ b/packages/components/nodes/vectorstores/Supabase/Supabase_Upsert.ts
@@ -1,10 +1,10 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { SupabaseVectorStore } from 'langchain/vectorstores/supabase'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
+import { SupabaseVectorStore } from '@langchain/community/vectorstores/supabase'
import { createClient } from '@supabase/supabase-js'
import { flatten } from 'lodash'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
class SupabaseUpsert_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Vectara/Vectara.ts b/packages/components/nodes/vectorstores/Vectara/Vectara.ts
index 939a4ac3..a661b18f 100644
--- a/packages/components/nodes/vectorstores/Vectara/Vectara.ts
+++ b/packages/components/nodes/vectorstores/Vectara/Vectara.ts
@@ -1,7 +1,14 @@
import { flatten } from 'lodash'
-import { VectaraStore, VectaraLibArgs, VectaraFilter, VectaraContextConfig, VectaraFile, MMRConfig } from 'langchain/vectorstores/vectara'
-import { Document } from 'langchain/document'
-import { Embeddings } from 'langchain/embeddings/base'
+import {
+ VectaraStore,
+ VectaraLibArgs,
+ VectaraFilter,
+ VectaraContextConfig,
+ VectaraFile,
+ MMRConfig
+} from '@langchain/community/vectorstores/vectara'
+import { Document } from '@langchain/core/documents'
+import { Embeddings } from '@langchain/core/embeddings'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
diff --git a/packages/components/nodes/vectorstores/Vectara/Vectara_Existing.ts b/packages/components/nodes/vectorstores/Vectara/Vectara_Existing.ts
index dda6b8da..d8322de4 100644
--- a/packages/components/nodes/vectorstores/Vectara/Vectara_Existing.ts
+++ b/packages/components/nodes/vectorstores/Vectara/Vectara_Existing.ts
@@ -1,6 +1,6 @@
+import { VectaraStore, VectaraLibArgs, VectaraFilter, VectaraContextConfig } from '@langchain/community/vectorstores/vectara'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { VectaraStore, VectaraLibArgs, VectaraFilter, VectaraContextConfig } from 'langchain/vectorstores/vectara'
class VectaraExisting_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Vectara/Vectara_Upload.ts b/packages/components/nodes/vectorstores/Vectara/Vectara_Upload.ts
index 0c1e6ef3..614fc1ca 100644
--- a/packages/components/nodes/vectorstores/Vectara/Vectara_Upload.ts
+++ b/packages/components/nodes/vectorstores/Vectara/Vectara_Upload.ts
@@ -1,6 +1,6 @@
+import { VectaraStore, VectaraLibArgs, VectaraFilter, VectaraContextConfig, VectaraFile } from '@langchain/community/vectorstores/vectara'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { VectaraStore, VectaraLibArgs, VectaraFilter, VectaraContextConfig, VectaraFile } from 'langchain/vectorstores/vectara'
class VectaraUpload_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Vectara/Vectara_Upsert.ts b/packages/components/nodes/vectorstores/Vectara/Vectara_Upsert.ts
index 6ce2ffad..8b6b5eb2 100644
--- a/packages/components/nodes/vectorstores/Vectara/Vectara_Upsert.ts
+++ b/packages/components/nodes/vectorstores/Vectara/Vectara_Upsert.ts
@@ -1,9 +1,9 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { Embeddings } from 'langchain/embeddings/base'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { VectaraStore, VectaraLibArgs, VectaraFilter, VectaraContextConfig } from 'langchain/vectorstores/vectara'
-import { Document } from 'langchain/document'
+import { Embeddings } from '@langchain/core/embeddings'
+import { VectaraStore, VectaraLibArgs, VectaraFilter, VectaraContextConfig } from '@langchain/community/vectorstores/vectara'
+import { Document } from '@langchain/core/documents'
import { flatten } from 'lodash'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
class VectaraUpsert_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Weaviate/Weaviate.ts b/packages/components/nodes/vectorstores/Weaviate/Weaviate.ts
index 0eface58..e7cd074a 100644
--- a/packages/components/nodes/vectorstores/Weaviate/Weaviate.ts
+++ b/packages/components/nodes/vectorstores/Weaviate/Weaviate.ts
@@ -1,8 +1,8 @@
import { flatten } from 'lodash'
import weaviate, { WeaviateClient, ApiKey } from 'weaviate-ts-client'
-import { WeaviateLibArgs, WeaviateStore } from 'langchain/vectorstores/weaviate'
-import { Document } from 'langchain/document'
-import { Embeddings } from 'langchain/embeddings/base'
+import { WeaviateLibArgs, WeaviateStore } from '@langchain/community/vectorstores/weaviate'
+import { Document } from '@langchain/core/documents'
+import { Embeddings } from '@langchain/core/embeddings'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { addMMRInputParams, resolveVectorStoreOrRetriever } from '../VectorStoreUtils'
diff --git a/packages/components/nodes/vectorstores/Weaviate/Weaviate_Existing.ts b/packages/components/nodes/vectorstores/Weaviate/Weaviate_Existing.ts
index d11b351f..d39b3ca4 100644
--- a/packages/components/nodes/vectorstores/Weaviate/Weaviate_Existing.ts
+++ b/packages/components/nodes/vectorstores/Weaviate/Weaviate_Existing.ts
@@ -1,8 +1,8 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { Embeddings } from 'langchain/embeddings/base'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
+import { Embeddings } from '@langchain/core/embeddings'
import weaviate, { WeaviateClient, ApiKey } from 'weaviate-ts-client'
-import { WeaviateLibArgs, WeaviateStore } from 'langchain/vectorstores/weaviate'
+import { WeaviateLibArgs, WeaviateStore } from '@langchain/community/vectorstores/weaviate'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
class Weaviate_Existing_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Weaviate/Weaviate_Upsert.ts b/packages/components/nodes/vectorstores/Weaviate/Weaviate_Upsert.ts
index 14adfabd..d157cc52 100644
--- a/packages/components/nodes/vectorstores/Weaviate/Weaviate_Upsert.ts
+++ b/packages/components/nodes/vectorstores/Weaviate/Weaviate_Upsert.ts
@@ -1,10 +1,10 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
-import { WeaviateLibArgs, WeaviateStore } from 'langchain/vectorstores/weaviate'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
+import { WeaviateLibArgs, WeaviateStore } from '@langchain/community/vectorstores/weaviate'
import weaviate, { WeaviateClient, ApiKey } from 'weaviate-ts-client'
import { flatten } from 'lodash'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class WeaviateUpsert_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Zep/Zep.ts b/packages/components/nodes/vectorstores/Zep/Zep.ts
index 3d9f1978..c5a8f0d4 100644
--- a/packages/components/nodes/vectorstores/Zep/Zep.ts
+++ b/packages/components/nodes/vectorstores/Zep/Zep.ts
@@ -1,8 +1,8 @@
import { flatten } from 'lodash'
import { IDocument, ZepClient } from '@getzep/zep-js'
-import { ZepVectorStore, IZepConfig } from 'langchain/vectorstores/zep'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
+import { ZepVectorStore, IZepConfig } from '@langchain/community/vectorstores/zep'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { addMMRInputParams, resolveVectorStoreOrRetriever } from '../VectorStoreUtils'
diff --git a/packages/components/nodes/vectorstores/Zep/Zep_Existing.ts b/packages/components/nodes/vectorstores/Zep/Zep_Existing.ts
index e6dbd252..75c2bd3f 100644
--- a/packages/components/nodes/vectorstores/Zep/Zep_Existing.ts
+++ b/packages/components/nodes/vectorstores/Zep/Zep_Existing.ts
@@ -1,9 +1,9 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { ZepVectorStore, IZepConfig } from 'langchain/vectorstores/zep'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { IDocument, ZepClient } from '@getzep/zep-js'
+import { ZepVectorStore, IZepConfig } from '@langchain/community/vectorstores/zep'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class Zep_Existing_VectorStores implements INode {
label: string
diff --git a/packages/components/nodes/vectorstores/Zep/Zep_Upsert.ts b/packages/components/nodes/vectorstores/Zep/Zep_Upsert.ts
index 0b2e003a..f05fc207 100644
--- a/packages/components/nodes/vectorstores/Zep/Zep_Upsert.ts
+++ b/packages/components/nodes/vectorstores/Zep/Zep_Upsert.ts
@@ -1,9 +1,9 @@
-import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
-import { ZepVectorStore, IZepConfig } from 'langchain/vectorstores/zep'
-import { Embeddings } from 'langchain/embeddings/base'
-import { Document } from 'langchain/document'
-import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
import { flatten } from 'lodash'
+import { ZepVectorStore, IZepConfig } from '@langchain/community/vectorstores/zep'
+import { Embeddings } from '@langchain/core/embeddings'
+import { Document } from '@langchain/core/documents'
+import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
+import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
class Zep_Upsert_VectorStores implements INode {
label: string
diff --git a/packages/components/package.json b/packages/components/package.json
index 62ffba94..b53945bd 100644
--- a/packages/components/package.json
+++ b/packages/components/package.json
@@ -28,9 +28,13 @@
"@google-ai/generativelanguage": "^0.2.1",
"@google/generative-ai": "^0.1.3",
"@huggingface/inference": "^2.6.1",
- "@langchain/community": "^0.0.16",
- "@langchain/google-genai": "^0.0.6",
- "@langchain/mistralai": "^0.0.6",
+ "@langchain/anthropic": "^0.0.10",
+ "@langchain/cohere": "^0.0.5",
+ "@langchain/community": "^0.0.30",
+ "@langchain/google-genai": "^0.0.10",
+ "@langchain/mistralai": "^0.0.7",
+ "@langchain/openai": "^0.0.14",
+ "@langchain/pinecone": "^0.0.3",
"@notionhq/client": "^2.2.8",
"@opensearch-project/opensearch": "^1.2.0",
"@pinecone-database/pinecone": "^2.0.1",
@@ -56,13 +60,14 @@
"html-to-text": "^9.0.5",
"husky": "^8.0.3",
"ioredis": "^5.3.2",
- "langchain": "^0.0.214",
+ "jsonpointer": "^5.0.1",
+ "langchain": "^0.1.20",
"langfuse": "2.0.2",
- "langfuse-langchain": "2.3.3",
- "langsmith": "0.0.53",
+ "langfuse-langchain": "^2.6.2-alpha.0",
+ "langsmith": "0.0.63",
"linkifyjs": "^4.1.1",
"llamaindex": "^0.0.48",
- "llmonitor": "^0.5.5",
+ "lunary": "^0.6.16",
"mammoth": "^1.5.1",
"moment": "^2.29.3",
"mongodb": "^6.2.0",
diff --git a/packages/components/src/Interface.ts b/packages/components/src/Interface.ts
index 40d84d06..0d85e1e6 100644
--- a/packages/components/src/Interface.ts
+++ b/packages/components/src/Interface.ts
@@ -150,8 +150,8 @@ export interface IUsedTool {
* Classes
*/
-import { PromptTemplate as LangchainPromptTemplate, PromptTemplateInput } from 'langchain/prompts'
-import { VectorStore } from 'langchain/vectorstores/base'
+import { PromptTemplate as LangchainPromptTemplate, PromptTemplateInput } from '@langchain/core/prompts'
+import { VectorStore } from '@langchain/core/vectorstores'
export class PromptTemplate extends LangchainPromptTemplate {
promptValues: ICommonObject
@@ -203,7 +203,7 @@ export class VectorStoreRetriever {
/**
* Implement abstract classes and interface for memory
*/
-import { BaseMessage } from 'langchain/schema'
+import { BaseMessage } from '@langchain/core/messages'
import { BufferMemory, BufferWindowMemory, ConversationSummaryMemory } from 'langchain/memory'
export interface MemoryMethods {
diff --git a/packages/components/src/agents.ts b/packages/components/src/agents.ts
index ab08097b..c795784d 100644
--- a/packages/components/src/agents.ts
+++ b/packages/components/src/agents.ts
@@ -1,12 +1,14 @@
import { flatten } from 'lodash'
-import { AgentExecutorInput, BaseSingleActionAgent, BaseMultiActionAgent, RunnableAgent, StoppingMethod } from 'langchain/agents'
-import { ChainValues, AgentStep, AgentAction, BaseMessage, FunctionMessage, AIMessage } from 'langchain/schema'
-import { OutputParserException } from 'langchain/schema/output_parser'
-import { CallbackManager, CallbackManagerForChainRun, Callbacks } from 'langchain/callbacks'
+import { ChainValues } from '@langchain/core/utils/types'
+import { AgentStep, AgentAction } from '@langchain/core/agents'
+import { BaseMessage, FunctionMessage, AIMessage } from '@langchain/core/messages'
+import { OutputParserException } from '@langchain/core/output_parsers'
+import { CallbackManager, CallbackManagerForChainRun, Callbacks } from '@langchain/core/callbacks/manager'
import { ToolInputParsingException, Tool } from '@langchain/core/tools'
-import { Runnable } from 'langchain/schema/runnable'
-import { BaseChain, SerializedLLMChain } from 'langchain/chains'
+import { Runnable } from '@langchain/core/runnables'
import { Serializable } from '@langchain/core/load/serializable'
+import { BaseChain, SerializedLLMChain } from 'langchain/chains'
+import { AgentExecutorInput, BaseSingleActionAgent, BaseMultiActionAgent, RunnableAgent, StoppingMethod } from 'langchain/agents'
export const SOURCE_DOCUMENTS_PREFIX = '\n\n----FLOWISE_SOURCE_DOCUMENTS----\n\n'
type AgentFinish = {
diff --git a/packages/components/src/handler.ts b/packages/components/src/handler.ts
index 5d2b53f6..cc6499b1 100644
--- a/packages/components/src/handler.ts
+++ b/packages/components/src/handler.ts
@@ -1,17 +1,21 @@
-import { BaseTracer, Run, BaseCallbackHandler, LangChainTracer } from 'langchain/callbacks'
-import { AgentAction, ChainValues } from 'langchain/schema'
import { Logger } from 'winston'
+import { v4 as uuidv4 } from 'uuid'
import { Server } from 'socket.io'
import { Client } from 'langsmith'
-import { LLMonitorHandler, LLMonitorHandlerFields } from 'langchain/callbacks/handlers/llmonitor'
-import { getCredentialData, getCredentialParam } from './utils'
-import { ICommonObject, INodeData } from './Interface'
import CallbackHandler from 'langfuse-langchain'
-import { LangChainTracerFields } from '@langchain/core/tracers/tracer_langchain'
+import lunary from 'lunary'
import { RunTree, RunTreeConfig, Client as LangsmithClient } from 'langsmith'
import { Langfuse, LangfuseTraceClient, LangfuseSpanClient, LangfuseGenerationClient } from 'langfuse'
-import monitor from 'llmonitor'
-import { v4 as uuidv4 } from 'uuid'
+
+import { BaseCallbackHandler } from '@langchain/core/callbacks/base'
+import { LangChainTracer, LangChainTracerFields } from '@langchain/core/tracers/tracer_langchain'
+import { BaseTracer, Run } from '@langchain/core/tracers/base'
+import { ChainValues } from '@langchain/core/utils/types'
+import { AgentAction } from '@langchain/core/agents'
+import { LunaryHandler } from '@langchain/community/callbacks/handlers/lunary'
+
+import { getCredentialData, getCredentialParam } from './utils'
+import { ICommonObject, INodeData } from './Interface'
interface AgentRun extends Run {
actions: AgentAction[]
@@ -268,20 +272,20 @@ export const additionalCallbacks = async (nodeData: INodeData, options: ICommonO
const handler = new CallbackHandler(langFuseOptions)
callbacks.push(handler)
- } else if (provider === 'llmonitor') {
- const llmonitorAppId = getCredentialParam('llmonitorAppId', credentialData, nodeData)
- const llmonitorEndpoint = getCredentialParam('llmonitorEndpoint', credentialData, nodeData)
+ } else if (provider === 'lunary') {
+ const lunaryAppId = getCredentialParam('lunaryAppId', credentialData, nodeData)
+ const lunaryEndpoint = getCredentialParam('lunaryEndpoint', credentialData, nodeData)
- let llmonitorFields: LLMonitorHandlerFields = {
- appId: llmonitorAppId,
- apiUrl: llmonitorEndpoint ?? 'https://app.llmonitor.com'
+ let lunaryFields = {
+ appId: lunaryAppId,
+ apiUrl: lunaryEndpoint ?? 'https://app.lunary.ai'
}
- if (nodeData?.inputs?.analytics?.llmonitor) {
- llmonitorFields = { ...llmonitorFields, ...nodeData?.inputs?.analytics?.llmonitor }
+ if (nodeData?.inputs?.analytics?.lunary) {
+ lunaryFields = { ...lunaryFields, ...nodeData?.inputs?.analytics?.lunary }
}
- const handler = new LLMonitorHandler(llmonitorFields)
+ const handler = new LunaryHandler(lunaryFields)
callbacks.push(handler)
}
}
@@ -339,16 +343,16 @@ export class AnalyticHandler {
release
})
this.handlers['langFuse'] = { client: langfuse }
- } else if (provider === 'llmonitor') {
- const llmonitorAppId = getCredentialParam('llmonitorAppId', credentialData, this.nodeData)
- const llmonitorEndpoint = getCredentialParam('llmonitorEndpoint', credentialData, this.nodeData)
+ } else if (provider === 'lunary') {
+ const lunaryAppId = getCredentialParam('lunaryAppId', credentialData, this.nodeData)
+ const lunaryEndpoint = getCredentialParam('lunaryEndpoint', credentialData, this.nodeData)
- monitor.init({
- appId: llmonitorAppId,
- apiUrl: llmonitorEndpoint
+ lunary.init({
+ appId: lunaryAppId,
+ apiUrl: lunaryEndpoint
})
- this.handlers['llmonitor'] = { client: monitor }
+ this.handlers['lunary'] = { client: lunary }
}
}
}
@@ -361,7 +365,7 @@ export class AnalyticHandler {
const returnIds: ICommonObject = {
langSmith: {},
langFuse: {},
- llmonitor: {}
+ lunary: {}
}
if (Object.prototype.hasOwnProperty.call(this.handlers, 'langSmith')) {
@@ -427,8 +431,8 @@ export class AnalyticHandler {
}
}
- if (Object.prototype.hasOwnProperty.call(this.handlers, 'llmonitor')) {
- const monitor = this.handlers['llmonitor'].client
+ if (Object.prototype.hasOwnProperty.call(this.handlers, 'lunary')) {
+ const monitor = this.handlers['lunary'].client
if (monitor) {
const runId = uuidv4()
@@ -437,10 +441,10 @@ export class AnalyticHandler {
name,
userId: this.options.chatId,
input,
- ...this.nodeData?.inputs?.analytics?.llmonitor
+ ...this.nodeData?.inputs?.analytics?.lunary
})
- this.handlers['llmonitor'].chainEvent = { [runId]: runId }
- returnIds['llmonitor'].chainEvent = runId
+ this.handlers['lunary'].chainEvent = { [runId]: runId }
+ returnIds['lunary'].chainEvent = runId
}
}
@@ -473,9 +477,9 @@ export class AnalyticHandler {
}
}
- if (Object.prototype.hasOwnProperty.call(this.handlers, 'llmonitor')) {
- const chainEventId = returnIds['llmonitor'].chainEvent
- const monitor = this.handlers['llmonitor'].client
+ if (Object.prototype.hasOwnProperty.call(this.handlers, 'lunary')) {
+ const chainEventId = returnIds['lunary'].chainEvent
+ const monitor = this.handlers['lunary'].client
if (monitor && chainEventId) {
await monitor.trackEvent('chain', 'end', {
@@ -514,9 +518,9 @@ export class AnalyticHandler {
}
}
- if (Object.prototype.hasOwnProperty.call(this.handlers, 'llmonitor')) {
- const chainEventId = returnIds['llmonitor'].chainEvent
- const monitor = this.handlers['llmonitor'].client
+ if (Object.prototype.hasOwnProperty.call(this.handlers, 'lunary')) {
+ const chainEventId = returnIds['lunary'].chainEvent
+ const monitor = this.handlers['lunary'].client
if (monitor && chainEventId) {
await monitor.trackEvent('chain', 'end', {
@@ -531,7 +535,7 @@ export class AnalyticHandler {
const returnIds: ICommonObject = {
langSmith: {},
langFuse: {},
- llmonitor: {}
+ lunary: {}
}
if (Object.prototype.hasOwnProperty.call(this.handlers, 'langSmith')) {
@@ -562,9 +566,9 @@ export class AnalyticHandler {
}
}
- if (Object.prototype.hasOwnProperty.call(this.handlers, 'llmonitor')) {
- const monitor = this.handlers['llmonitor'].client
- const chainEventId: string = this.handlers['llmonitor'].chainEvent[parentIds['llmonitor'].chainEvent]
+ if (Object.prototype.hasOwnProperty.call(this.handlers, 'lunary')) {
+ const monitor = this.handlers['lunary'].client
+ const chainEventId: string = this.handlers['lunary'].chainEvent[parentIds['lunary'].chainEvent]
if (monitor && chainEventId) {
const runId = uuidv4()
@@ -575,8 +579,8 @@ export class AnalyticHandler {
userId: this.options.chatId,
input
})
- this.handlers['llmonitor'].llmEvent = { [runId]: runId }
- returnIds['llmonitor'].llmEvent = runId
+ this.handlers['lunary'].llmEvent = { [runId]: runId }
+ returnIds['lunary'].llmEvent = runId
}
}
@@ -605,9 +609,9 @@ export class AnalyticHandler {
}
}
- if (Object.prototype.hasOwnProperty.call(this.handlers, 'llmonitor')) {
- const llmEventId: string = this.handlers['llmonitor'].llmEvent[returnIds['llmonitor'].llmEvent]
- const monitor = this.handlers['llmonitor'].client
+ if (Object.prototype.hasOwnProperty.call(this.handlers, 'lunary')) {
+ const llmEventId: string = this.handlers['lunary'].llmEvent[returnIds['lunary'].llmEvent]
+ const monitor = this.handlers['lunary'].client
if (monitor && llmEventId) {
await monitor.trackEvent('llm', 'end', {
@@ -640,9 +644,9 @@ export class AnalyticHandler {
}
}
- if (Object.prototype.hasOwnProperty.call(this.handlers, 'llmonitor')) {
- const llmEventId: string = this.handlers['llmonitor'].llmEvent[returnIds['llmonitor'].llmEvent]
- const monitor = this.handlers['llmonitor'].client
+ if (Object.prototype.hasOwnProperty.call(this.handlers, 'lunary')) {
+ const llmEventId: string = this.handlers['lunary'].llmEvent[returnIds['lunary'].llmEvent]
+ const monitor = this.handlers['lunary'].client
if (monitor && llmEventId) {
await monitor.trackEvent('llm', 'end', {
@@ -657,7 +661,7 @@ export class AnalyticHandler {
const returnIds: ICommonObject = {
langSmith: {},
langFuse: {},
- llmonitor: {}
+ lunary: {}
}
if (Object.prototype.hasOwnProperty.call(this.handlers, 'langSmith')) {
@@ -688,9 +692,9 @@ export class AnalyticHandler {
}
}
- if (Object.prototype.hasOwnProperty.call(this.handlers, 'llmonitor')) {
- const monitor = this.handlers['llmonitor'].client
- const chainEventId: string = this.handlers['llmonitor'].chainEvent[parentIds['llmonitor'].chainEvent]
+ if (Object.prototype.hasOwnProperty.call(this.handlers, 'lunary')) {
+ const monitor = this.handlers['lunary'].client
+ const chainEventId: string = this.handlers['lunary'].chainEvent[parentIds['lunary'].chainEvent]
if (monitor && chainEventId) {
const runId = uuidv4()
@@ -701,8 +705,8 @@ export class AnalyticHandler {
userId: this.options.chatId,
input
})
- this.handlers['llmonitor'].toolEvent = { [runId]: runId }
- returnIds['llmonitor'].toolEvent = runId
+ this.handlers['lunary'].toolEvent = { [runId]: runId }
+ returnIds['lunary'].toolEvent = runId
}
}
@@ -731,9 +735,9 @@ export class AnalyticHandler {
}
}
- if (Object.prototype.hasOwnProperty.call(this.handlers, 'llmonitor')) {
- const toolEventId: string = this.handlers['llmonitor'].toolEvent[returnIds['llmonitor'].toolEvent]
- const monitor = this.handlers['llmonitor'].client
+ if (Object.prototype.hasOwnProperty.call(this.handlers, 'lunary')) {
+ const toolEventId: string = this.handlers['lunary'].toolEvent[returnIds['lunary'].toolEvent]
+ const monitor = this.handlers['lunary'].client
if (monitor && toolEventId) {
await monitor.trackEvent('tool', 'end', {
@@ -766,9 +770,9 @@ export class AnalyticHandler {
}
}
- if (Object.prototype.hasOwnProperty.call(this.handlers, 'llmonitor')) {
- const toolEventId: string = this.handlers['llmonitor'].llmEvent[returnIds['llmonitor'].toolEvent]
- const monitor = this.handlers['llmonitor'].client
+ if (Object.prototype.hasOwnProperty.call(this.handlers, 'lunary')) {
+ const toolEventId: string = this.handlers['lunary'].llmEvent[returnIds['lunary'].toolEvent]
+ const monitor = this.handlers['lunary'].client
if (monitor && toolEventId) {
await monitor.trackEvent('tool', 'end', {
diff --git a/packages/components/src/utils.ts b/packages/components/src/utils.ts
index 548632ea..43b15651 100644
--- a/packages/components/src/utils.ts
+++ b/packages/components/src/utils.ts
@@ -8,7 +8,7 @@ import { DataSource } from 'typeorm'
import { ICommonObject, IDatabaseEntity, IMessage, INodeData, IVariable } from './Interface'
import { AES, enc } from 'crypto-js'
import { ChatMessageHistory } from 'langchain/memory'
-import { AIMessage, HumanMessage, BaseMessage } from 'langchain/schema'
+import { AIMessage, HumanMessage, BaseMessage } from '@langchain/core/messages'
export const numberOrExpressionRegex = '^(\\d+\\.?\\d*|{{.*}})$' //return true if string consists only numbers OR expression {{}}
export const notEmptyRegex = '(.|\\s)*\\S(.|\\s)*' //return true if string is not empty or blank
@@ -49,7 +49,7 @@ export const availableDependencies = [
'langfuse',
'langsmith',
'linkifyjs',
- 'llmonitor',
+ 'lunary',
'mammoth',
'moment',
'mongodb',
diff --git a/packages/server/.env.example b/packages/server/.env.example
index ebc59cf3..a7a93345 100644
--- a/packages/server/.env.example
+++ b/packages/server/.env.example
@@ -20,6 +20,7 @@ PORT=3000
# FLOWISE_USERNAME=user
# FLOWISE_PASSWORD=1234
# FLOWISE_SECRETKEY_OVERWRITE=myencryptionkey
+# FLOWISE_FILE_SIZE_LIMIT=50mb
# DEBUG=true
# LOG_LEVEL=debug (error | warn | info | verbose | debug)
# TOOL_FUNCTION_BUILTIN_DEP=crypto,fs
diff --git a/packages/server/marketplaces/chatflows/API Agent OpenAI.json b/packages/server/marketplaces/chatflows/API Agent OpenAI.json
index 621529fc..f3b5636e 100644
--- a/packages/server/marketplaces/chatflows/API Agent OpenAI.json
+++ b/packages/server/marketplaces/chatflows/API Agent OpenAI.json
@@ -125,6 +125,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -145,6 +149,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
@@ -464,6 +472,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -484,6 +496,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/API Agent.json b/packages/server/marketplaces/chatflows/API Agent.json
index 9d5a6c54..31679a92 100644
--- a/packages/server/marketplaces/chatflows/API Agent.json
+++ b/packages/server/marketplaces/chatflows/API Agent.json
@@ -433,6 +433,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -453,6 +457,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
@@ -624,6 +632,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -644,6 +656,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
@@ -815,6 +831,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -835,6 +855,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Advanced Structured Output Parser.json b/packages/server/marketplaces/chatflows/Advanced Structured Output Parser.json
index 3fd71988..bf477ba7 100644
--- a/packages/server/marketplaces/chatflows/Advanced Structured Output Parser.json
+++ b/packages/server/marketplaces/chatflows/Advanced Structured Output Parser.json
@@ -216,6 +216,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
diff --git a/packages/server/marketplaces/chatflows/Antonym.json b/packages/server/marketplaces/chatflows/Antonym.json
index 97c5af71..a88b16cc 100644
--- a/packages/server/marketplaces/chatflows/Antonym.json
+++ b/packages/server/marketplaces/chatflows/Antonym.json
@@ -212,6 +212,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -232,6 +236,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/AutoGPT.json b/packages/server/marketplaces/chatflows/AutoGPT.json
index c0ed0807..c2ec12b3 100644
--- a/packages/server/marketplaces/chatflows/AutoGPT.json
+++ b/packages/server/marketplaces/chatflows/AutoGPT.json
@@ -288,6 +288,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -308,6 +312,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/BabyAGI.json b/packages/server/marketplaces/chatflows/BabyAGI.json
index 14976ad3..618a4920 100644
--- a/packages/server/marketplaces/chatflows/BabyAGI.json
+++ b/packages/server/marketplaces/chatflows/BabyAGI.json
@@ -381,6 +381,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -401,6 +405,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/CSV Agent.json b/packages/server/marketplaces/chatflows/CSV Agent.json
index 3439625b..4d755155 100644
--- a/packages/server/marketplaces/chatflows/CSV Agent.json
+++ b/packages/server/marketplaces/chatflows/CSV Agent.json
@@ -106,6 +106,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -126,6 +130,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Chat with a Podcast.json b/packages/server/marketplaces/chatflows/Chat with a Podcast.json
index c87b3f2c..e8f8399c 100644
--- a/packages/server/marketplaces/chatflows/Chat with a Podcast.json
+++ b/packages/server/marketplaces/chatflows/Chat with a Podcast.json
@@ -231,6 +231,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -251,6 +255,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/ChatGPTPlugin.json b/packages/server/marketplaces/chatflows/ChatGPTPlugin.json
index 3777b637..2b87b51d 100644
--- a/packages/server/marketplaces/chatflows/ChatGPTPlugin.json
+++ b/packages/server/marketplaces/chatflows/ChatGPTPlugin.json
@@ -251,6 +251,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -271,6 +275,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Conversational Agent.json b/packages/server/marketplaces/chatflows/Conversational Agent.json
index 4cb736a0..13b479af 100644
--- a/packages/server/marketplaces/chatflows/Conversational Agent.json
+++ b/packages/server/marketplaces/chatflows/Conversational Agent.json
@@ -193,6 +193,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -213,6 +217,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Conversational Retrieval Agent.json b/packages/server/marketplaces/chatflows/Conversational Retrieval Agent.json
index a4ec6b5b..4120ef17 100644
--- a/packages/server/marketplaces/chatflows/Conversational Retrieval Agent.json
+++ b/packages/server/marketplaces/chatflows/Conversational Retrieval Agent.json
@@ -524,6 +524,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -544,6 +548,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Conversational Retrieval QA Chain.json b/packages/server/marketplaces/chatflows/Conversational Retrieval QA Chain.json
index f76e89e6..32e0c762 100644
--- a/packages/server/marketplaces/chatflows/Conversational Retrieval QA Chain.json
+++ b/packages/server/marketplaces/chatflows/Conversational Retrieval QA Chain.json
@@ -406,6 +406,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -426,6 +430,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Flowise Docs QnA.json b/packages/server/marketplaces/chatflows/Flowise Docs QnA.json
index 31d65c48..8ed4ac56 100644
--- a/packages/server/marketplaces/chatflows/Flowise Docs QnA.json
+++ b/packages/server/marketplaces/chatflows/Flowise Docs QnA.json
@@ -412,6 +412,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -432,6 +436,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/IfElse.json b/packages/server/marketplaces/chatflows/IfElse.json
index e3b66f44..bcb2cd96 100644
--- a/packages/server/marketplaces/chatflows/IfElse.json
+++ b/packages/server/marketplaces/chatflows/IfElse.json
@@ -945,6 +945,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -965,6 +969,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Image Generation.json b/packages/server/marketplaces/chatflows/Image Generation.json
index 46cb79ec..4b82dcf3 100644
--- a/packages/server/marketplaces/chatflows/Image Generation.json
+++ b/packages/server/marketplaces/chatflows/Image Generation.json
@@ -489,6 +489,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -509,6 +513,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Input Moderation.json b/packages/server/marketplaces/chatflows/Input Moderation.json
index bd449777..2b78bdb2 100644
--- a/packages/server/marketplaces/chatflows/Input Moderation.json
+++ b/packages/server/marketplaces/chatflows/Input Moderation.json
@@ -201,6 +201,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -221,6 +225,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/List Output Parser.json b/packages/server/marketplaces/chatflows/List Output Parser.json
index 0eb269b4..5bdfff71 100644
--- a/packages/server/marketplaces/chatflows/List Output Parser.json
+++ b/packages/server/marketplaces/chatflows/List Output Parser.json
@@ -260,6 +260,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -280,6 +284,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Long Term Memory.json b/packages/server/marketplaces/chatflows/Long Term Memory.json
index c5681d3d..7b54b146 100644
--- a/packages/server/marketplaces/chatflows/Long Term Memory.json
+++ b/packages/server/marketplaces/chatflows/Long Term Memory.json
@@ -543,6 +543,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -563,6 +567,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Metadata Filter.json b/packages/server/marketplaces/chatflows/Metadata Filter.json
index ed2efb9f..a37764df 100644
--- a/packages/server/marketplaces/chatflows/Metadata Filter.json
+++ b/packages/server/marketplaces/chatflows/Metadata Filter.json
@@ -490,6 +490,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -510,6 +514,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Multi Prompt Chain.json b/packages/server/marketplaces/chatflows/Multi Prompt Chain.json
index 97cca308..8b933e8f 100644
--- a/packages/server/marketplaces/chatflows/Multi Prompt Chain.json
+++ b/packages/server/marketplaces/chatflows/Multi Prompt Chain.json
@@ -314,6 +314,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -334,6 +338,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Multi Retrieval QA Chain.json b/packages/server/marketplaces/chatflows/Multi Retrieval QA Chain.json
index 6b8f2c33..0fc6ff77 100644
--- a/packages/server/marketplaces/chatflows/Multi Retrieval QA Chain.json
+++ b/packages/server/marketplaces/chatflows/Multi Retrieval QA Chain.json
@@ -425,6 +425,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -445,6 +449,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Multiple VectorDB.json b/packages/server/marketplaces/chatflows/Multiple VectorDB.json
index b76270e7..3d8a22f3 100644
--- a/packages/server/marketplaces/chatflows/Multiple VectorDB.json
+++ b/packages/server/marketplaces/chatflows/Multiple VectorDB.json
@@ -522,6 +522,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -542,6 +546,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
@@ -1040,6 +1048,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -1060,6 +1072,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
@@ -1238,6 +1254,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -1258,6 +1278,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/OpenAI Agent.json b/packages/server/marketplaces/chatflows/OpenAI Agent.json
index 6f35e595..fa9184d2 100644
--- a/packages/server/marketplaces/chatflows/OpenAI Agent.json
+++ b/packages/server/marketplaces/chatflows/OpenAI Agent.json
@@ -316,6 +316,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -336,6 +340,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Prompt Chaining with VectorStore.json b/packages/server/marketplaces/chatflows/Prompt Chaining with VectorStore.json
index d225e41a..b2db86c4 100644
--- a/packages/server/marketplaces/chatflows/Prompt Chaining with VectorStore.json
+++ b/packages/server/marketplaces/chatflows/Prompt Chaining with VectorStore.json
@@ -464,6 +464,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -484,6 +488,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
@@ -662,6 +670,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -682,6 +694,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Query Engine.json b/packages/server/marketplaces/chatflows/Query Engine.json
index b3a3c292..63bbabfe 100644
--- a/packages/server/marketplaces/chatflows/Query Engine.json
+++ b/packages/server/marketplaces/chatflows/Query Engine.json
@@ -16,10 +16,10 @@
"data": {
"id": "queryEngine_0",
"label": "Query Engine",
- "version": 1,
+ "version": 2,
"name": "queryEngine",
"type": "QueryEngine",
- "baseClasses": ["QueryEngine"],
+ "baseClasses": ["QueryEngine", "BaseQueryEngine"],
"tags": ["LlamaIndex"],
"category": "Engine",
"description": "Simple query engine built to answer question over your data, without memory",
@@ -55,10 +55,10 @@
},
"outputAnchors": [
{
- "id": "queryEngine_0-output-queryEngine-QueryEngine",
+ "id": "queryEngine_0-output-queryEngine-QueryEngine|BaseQueryEngine",
"name": "queryEngine",
"label": "QueryEngine",
- "type": "QueryEngine"
+ "type": "QueryEngine | BaseQueryEngine"
}
],
"outputs": {},
diff --git a/packages/server/marketplaces/chatflows/ReAct Agent.json b/packages/server/marketplaces/chatflows/ReAct Agent.json
index 5fd191fe..151583a2 100644
--- a/packages/server/marketplaces/chatflows/ReAct Agent.json
+++ b/packages/server/marketplaces/chatflows/ReAct Agent.json
@@ -136,6 +136,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -156,6 +160,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/SQL DB Chain.json b/packages/server/marketplaces/chatflows/SQL DB Chain.json
index ec9d465d..0d6a656f 100644
--- a/packages/server/marketplaces/chatflows/SQL DB Chain.json
+++ b/packages/server/marketplaces/chatflows/SQL DB Chain.json
@@ -50,6 +50,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -70,6 +74,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/SQL Prompt.json b/packages/server/marketplaces/chatflows/SQL Prompt.json
index 8d2691c6..aeb62416 100644
--- a/packages/server/marketplaces/chatflows/SQL Prompt.json
+++ b/packages/server/marketplaces/chatflows/SQL Prompt.json
@@ -210,6 +210,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -230,6 +234,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
@@ -408,6 +416,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -428,6 +440,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
@@ -1332,6 +1348,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -1352,6 +1372,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Simple Conversation Chain.json b/packages/server/marketplaces/chatflows/Simple Conversation Chain.json
index 53cfeace..5bda9580 100644
--- a/packages/server/marketplaces/chatflows/Simple Conversation Chain.json
+++ b/packages/server/marketplaces/chatflows/Simple Conversation Chain.json
@@ -51,6 +51,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -71,6 +75,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/Structured Output Parser.json b/packages/server/marketplaces/chatflows/Structured Output Parser.json
index 9801a90f..2e693ee5 100644
--- a/packages/server/marketplaces/chatflows/Structured Output Parser.json
+++ b/packages/server/marketplaces/chatflows/Structured Output Parser.json
@@ -51,6 +51,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -71,6 +75,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/SubQuestion Query Engine.json b/packages/server/marketplaces/chatflows/SubQuestion Query Engine.json
index 620712c4..f8f6f430 100644
--- a/packages/server/marketplaces/chatflows/SubQuestion Query Engine.json
+++ b/packages/server/marketplaces/chatflows/SubQuestion Query Engine.json
@@ -9,8 +9,8 @@
"height": 749,
"id": "compactrefineLlamaIndex_0",
"position": {
- "x": -1214.7329938486841,
- "y": 56.52482754447425
+ "x": -443.9012456561584,
+ "y": 826.6100190232154
},
"type": "customNode",
"data": {
@@ -63,8 +63,8 @@
},
"selected": false,
"positionAbsolute": {
- "x": -1214.7329938486841,
- "y": 56.52482754447425
+ "x": -443.9012456561584,
+ "y": 826.6100190232154
},
"dragging": false
},
@@ -73,8 +73,8 @@
"height": 611,
"id": "pineconeLlamaIndex_0",
"position": {
- "x": 37.23548045607484,
- "y": -119.7364648743818
+ "x": 35.45798119088212,
+ "y": -132.1789597307308
},
"type": "customNode",
"data": {
@@ -183,14 +183,14 @@
}
],
"outputs": {
- "output": "vectorStore"
+ "output": "retriever"
},
"selected": false
},
"selected": false,
"positionAbsolute": {
- "x": 37.23548045607484,
- "y": -119.7364648743818
+ "x": 35.45798119088212,
+ "y": -132.1789597307308
},
"dragging": false
},
@@ -405,79 +405,13 @@
"y": -127.15143353229783
}
},
- {
- "width": 300,
- "height": 511,
- "id": "queryEngineToolLlamaIndex_0",
- "position": {
- "x": 460.37559236135905,
- "y": -565.6224030941121
- },
- "type": "customNode",
- "data": {
- "id": "queryEngineToolLlamaIndex_0",
- "label": "QueryEngine Tool",
- "version": 1,
- "name": "queryEngineToolLlamaIndex",
- "type": "QueryEngineTool",
- "baseClasses": ["QueryEngineTool"],
- "tags": ["LlamaIndex"],
- "category": "Tools",
- "description": "Execute actions using ChatGPT Plugin Url",
- "inputParams": [
- {
- "label": "Tool Name",
- "name": "toolName",
- "type": "string",
- "description": "Tool name must be small capital letter with underscore. Ex: my_tool",
- "id": "queryEngineToolLlamaIndex_0-input-toolName-string"
- },
- {
- "label": "Tool Description",
- "name": "toolDesc",
- "type": "string",
- "rows": 4,
- "id": "queryEngineToolLlamaIndex_0-input-toolDesc-string"
- }
- ],
- "inputAnchors": [
- {
- "label": "Vector Store Index",
- "name": "vectorStoreIndex",
- "type": "VectorStoreIndex",
- "id": "queryEngineToolLlamaIndex_0-input-vectorStoreIndex-VectorStoreIndex"
- }
- ],
- "inputs": {
- "vectorStoreIndex": "{{pineconeLlamaIndex_1.data.instance}}",
- "toolName": "apple_tool",
- "toolDesc": "A SEC Form 10K filing describing the financials of Apple Inc (APPL) for the 2022 time period."
- },
- "outputAnchors": [
- {
- "id": "queryEngineToolLlamaIndex_0-output-queryEngineToolLlamaIndex-QueryEngineTool",
- "name": "queryEngineToolLlamaIndex",
- "label": "QueryEngineTool",
- "type": "QueryEngineTool"
- }
- ],
- "outputs": {},
- "selected": false
- },
- "selected": false,
- "positionAbsolute": {
- "x": 460.37559236135905,
- "y": -565.6224030941121
- },
- "dragging": false
- },
{
"width": 300,
"height": 611,
"id": "pineconeLlamaIndex_1",
"position": {
- "x": 42.17855025460784,
- "y": -839.8824444107056
+ "x": 43.95604951980056,
+ "y": -783.0024679245387
},
"type": "customNode",
"data": {
@@ -586,162 +520,14 @@
}
],
"outputs": {
- "output": "vectorStore"
+ "output": "retriever"
},
"selected": false
},
"selected": false,
"positionAbsolute": {
- "x": 42.17855025460784,
- "y": -839.8824444107056
- },
- "dragging": false
- },
- {
- "width": 300,
- "height": 511,
- "id": "queryEngineToolLlamaIndex_1",
- "position": {
- "x": 462.16721384216123,
- "y": -17.750065363429798
- },
- "type": "customNode",
- "data": {
- "id": "queryEngineToolLlamaIndex_1",
- "label": "QueryEngine Tool",
- "version": 1,
- "name": "queryEngineToolLlamaIndex",
- "type": "QueryEngineTool",
- "baseClasses": ["QueryEngineTool"],
- "tags": ["LlamaIndex"],
- "category": "Tools",
- "description": "Execute actions using ChatGPT Plugin Url",
- "inputParams": [
- {
- "label": "Tool Name",
- "name": "toolName",
- "type": "string",
- "description": "Tool name must be small capital letter with underscore. Ex: my_tool",
- "id": "queryEngineToolLlamaIndex_1-input-toolName-string"
- },
- {
- "label": "Tool Description",
- "name": "toolDesc",
- "type": "string",
- "rows": 4,
- "id": "queryEngineToolLlamaIndex_1-input-toolDesc-string"
- }
- ],
- "inputAnchors": [
- {
- "label": "Vector Store Index",
- "name": "vectorStoreIndex",
- "type": "VectorStoreIndex",
- "id": "queryEngineToolLlamaIndex_1-input-vectorStoreIndex-VectorStoreIndex"
- }
- ],
- "inputs": {
- "vectorStoreIndex": "{{pineconeLlamaIndex_0.data.instance}}",
- "toolName": "tesla_tool",
- "toolDesc": "A SEC Form 10K filing describing the financials of Tesla Inc (TSLA) for the 2022 time period."
- },
- "outputAnchors": [
- {
- "id": "queryEngineToolLlamaIndex_1-output-queryEngineToolLlamaIndex-QueryEngineTool",
- "name": "queryEngineToolLlamaIndex",
- "label": "QueryEngineTool",
- "type": "QueryEngineTool"
- }
- ],
- "outputs": {},
- "selected": false
- },
- "selected": false,
- "positionAbsolute": {
- "x": 462.16721384216123,
- "y": -17.750065363429798
- },
- "dragging": false
- },
- {
- "width": 300,
- "height": 484,
- "id": "subQuestionQueryEngine_0",
- "position": {
- "x": 982.7583030231563,
- "y": 349.50858200305896
- },
- "type": "customNode",
- "data": {
- "id": "subQuestionQueryEngine_0",
- "label": "Sub Question Query Engine",
- "version": 1,
- "name": "subQuestionQueryEngine",
- "type": "SubQuestionQueryEngine",
- "baseClasses": ["SubQuestionQueryEngine"],
- "tags": ["LlamaIndex"],
- "category": "Engine",
- "description": "Simple query engine built to answer question over your data, without memory",
- "inputParams": [
- {
- "label": "Return Source Documents",
- "name": "returnSourceDocuments",
- "type": "boolean",
- "optional": true,
- "id": "subQuestionQueryEngine_0-input-returnSourceDocuments-boolean"
- }
- ],
- "inputAnchors": [
- {
- "label": "QueryEngine Tools",
- "name": "queryEngineTools",
- "type": "QueryEngineTool",
- "list": true,
- "id": "subQuestionQueryEngine_0-input-queryEngineTools-QueryEngineTool"
- },
- {
- "label": "Chat Model",
- "name": "model",
- "type": "BaseChatModel_LlamaIndex",
- "id": "subQuestionQueryEngine_0-input-model-BaseChatModel_LlamaIndex"
- },
- {
- "label": "Embeddings",
- "name": "embeddings",
- "type": "BaseEmbedding_LlamaIndex",
- "id": "subQuestionQueryEngine_0-input-embeddings-BaseEmbedding_LlamaIndex"
- },
- {
- "label": "Response Synthesizer",
- "name": "responseSynthesizer",
- "type": "ResponseSynthesizer",
- "description": "ResponseSynthesizer is responsible for sending the query, nodes, and prompt templates to the LLM to generate a response. See more",
- "optional": true,
- "id": "subQuestionQueryEngine_0-input-responseSynthesizer-ResponseSynthesizer"
- }
- ],
- "inputs": {
- "queryEngineTools": ["{{queryEngineToolLlamaIndex_1.data.instance}}", "{{queryEngineToolLlamaIndex_0.data.instance}}"],
- "model": "{{chatOpenAI_LlamaIndex_1.data.instance}}",
- "embeddings": "{{openAIEmbedding_LlamaIndex_1.data.instance}}",
- "responseSynthesizer": "{{compactrefineLlamaIndex_0.data.instance}}",
- "returnSourceDocuments": true
- },
- "outputAnchors": [
- {
- "id": "subQuestionQueryEngine_0-output-subQuestionQueryEngine-SubQuestionQueryEngine",
- "name": "subQuestionQueryEngine",
- "label": "SubQuestionQueryEngine",
- "type": "SubQuestionQueryEngine"
- }
- ],
- "outputs": {},
- "selected": false
- },
- "selected": false,
- "positionAbsolute": {
- "x": 982.7583030231563,
- "y": 349.50858200305896
+ "x": 43.95604951980056,
+ "y": -783.0024679245387
},
"dragging": false
},
@@ -750,8 +536,8 @@
"height": 529,
"id": "chatOpenAI_LlamaIndex_1",
"position": {
- "x": -846.9087470244615,
- "y": 23.446501495097493
+ "x": -446.80851289432655,
+ "y": 246.8790997755625
},
"type": "customNode",
"data": {
@@ -884,8 +670,8 @@
},
"selected": false,
"positionAbsolute": {
- "x": -846.9087470244615,
- "y": 23.446501495097493
+ "x": -446.80851289432655,
+ "y": 246.8790997755625
},
"dragging": false
},
@@ -894,8 +680,8 @@
"height": 334,
"id": "openAIEmbedding_LlamaIndex_1",
"position": {
- "x": -437.3136244622061,
- "y": 329.99986619821175
+ "x": -37.812177549447284,
+ "y": 577.9112529482311
},
"type": "customNode",
"data": {
@@ -952,17 +738,370 @@
"selected": false,
"dragging": false,
"positionAbsolute": {
- "x": -437.3136244622061,
- "y": 329.99986619821175
+ "x": -37.812177549447284,
+ "y": 577.9112529482311
}
},
+ {
+ "width": 300,
+ "height": 382,
+ "id": "queryEngine_0",
+ "position": {
+ "x": 416.2466817793368,
+ "y": -600.1335182096643
+ },
+ "type": "customNode",
+ "data": {
+ "id": "queryEngine_0",
+ "label": "Query Engine",
+ "version": 2,
+ "name": "queryEngine",
+ "type": "QueryEngine",
+ "baseClasses": ["QueryEngine", "BaseQueryEngine"],
+ "tags": ["LlamaIndex"],
+ "category": "Engine",
+ "description": "Simple query engine built to answer question over your data, without memory",
+ "inputParams": [
+ {
+ "label": "Return Source Documents",
+ "name": "returnSourceDocuments",
+ "type": "boolean",
+ "optional": true,
+ "id": "queryEngine_0-input-returnSourceDocuments-boolean"
+ }
+ ],
+ "inputAnchors": [
+ {
+ "label": "Vector Store Retriever",
+ "name": "vectorStoreRetriever",
+ "type": "VectorIndexRetriever",
+ "id": "queryEngine_0-input-vectorStoreRetriever-VectorIndexRetriever"
+ },
+ {
+ "label": "Response Synthesizer",
+ "name": "responseSynthesizer",
+ "type": "ResponseSynthesizer",
+ "description": "ResponseSynthesizer is responsible for sending the query, nodes, and prompt templates to the LLM to generate a response. See more",
+ "optional": true,
+ "id": "queryEngine_0-input-responseSynthesizer-ResponseSynthesizer"
+ }
+ ],
+ "inputs": {
+ "vectorStoreRetriever": "{{pineconeLlamaIndex_1.data.instance}}",
+ "responseSynthesizer": "",
+ "returnSourceDocuments": ""
+ },
+ "outputAnchors": [
+ {
+ "id": "queryEngine_0-output-queryEngine-QueryEngine|BaseQueryEngine",
+ "name": "queryEngine",
+ "label": "QueryEngine",
+ "description": "Simple query engine built to answer question over your data, without memory",
+ "type": "QueryEngine | BaseQueryEngine"
+ }
+ ],
+ "outputs": {},
+ "selected": false
+ },
+ "selected": false,
+ "positionAbsolute": {
+ "x": 416.2466817793368,
+ "y": -600.1335182096643
+ },
+ "dragging": false
+ },
+ {
+ "width": 300,
+ "height": 511,
+ "id": "queryEngineToolLlamaIndex_2",
+ "position": {
+ "x": 766.9839000102993,
+ "y": -654.6926410455919
+ },
+ "type": "customNode",
+ "data": {
+ "id": "queryEngineToolLlamaIndex_2",
+ "label": "QueryEngine Tool",
+ "version": 2,
+ "name": "queryEngineToolLlamaIndex",
+ "type": "QueryEngineTool",
+ "baseClasses": ["QueryEngineTool"],
+ "tags": ["LlamaIndex"],
+ "category": "Tools",
+ "description": "Tool used to invoke query engine",
+ "inputParams": [
+ {
+ "label": "Tool Name",
+ "name": "toolName",
+ "type": "string",
+ "description": "Tool name must be small capital letter with underscore. Ex: my_tool",
+ "id": "queryEngineToolLlamaIndex_2-input-toolName-string"
+ },
+ {
+ "label": "Tool Description",
+ "name": "toolDesc",
+ "type": "string",
+ "rows": 4,
+ "id": "queryEngineToolLlamaIndex_2-input-toolDesc-string"
+ }
+ ],
+ "inputAnchors": [
+ {
+ "label": "Base QueryEngine",
+ "name": "baseQueryEngine",
+ "type": "BaseQueryEngine",
+ "id": "queryEngineToolLlamaIndex_2-input-baseQueryEngine-BaseQueryEngine"
+ }
+ ],
+ "inputs": {
+ "baseQueryEngine": "{{queryEngine_0.data.instance}}",
+ "toolName": "apple_tool",
+ "toolDesc": "A SEC Form 10K filing describing the financials of Apple Inc (APPL) for the 2022 time period."
+ },
+ "outputAnchors": [
+ {
+ "id": "queryEngineToolLlamaIndex_2-output-queryEngineToolLlamaIndex-QueryEngineTool",
+ "name": "queryEngineToolLlamaIndex",
+ "label": "QueryEngineTool",
+ "description": "Tool used to invoke query engine",
+ "type": "QueryEngineTool"
+ }
+ ],
+ "outputs": {},
+ "selected": false
+ },
+ "selected": false,
+ "positionAbsolute": {
+ "x": 766.9839000102993,
+ "y": -654.6926410455919
+ },
+ "dragging": false
+ },
+ {
+ "width": 300,
+ "height": 511,
+ "id": "queryEngineToolLlamaIndex_1",
+ "position": {
+ "x": 771.5434180813253,
+ "y": -109.03650423344013
+ },
+ "type": "customNode",
+ "data": {
+ "id": "queryEngineToolLlamaIndex_1",
+ "label": "QueryEngine Tool",
+ "version": 2,
+ "name": "queryEngineToolLlamaIndex",
+ "type": "QueryEngineTool",
+ "baseClasses": ["QueryEngineTool"],
+ "tags": ["LlamaIndex"],
+ "category": "Tools",
+ "description": "Tool used to invoke query engine",
+ "inputParams": [
+ {
+ "label": "Tool Name",
+ "name": "toolName",
+ "type": "string",
+ "description": "Tool name must be small capital letter with underscore. Ex: my_tool",
+ "id": "queryEngineToolLlamaIndex_1-input-toolName-string"
+ },
+ {
+ "label": "Tool Description",
+ "name": "toolDesc",
+ "type": "string",
+ "rows": 4,
+ "id": "queryEngineToolLlamaIndex_1-input-toolDesc-string"
+ }
+ ],
+ "inputAnchors": [
+ {
+ "label": "Base QueryEngine",
+ "name": "baseQueryEngine",
+ "type": "BaseQueryEngine",
+ "id": "queryEngineToolLlamaIndex_1-input-baseQueryEngine-BaseQueryEngine"
+ }
+ ],
+ "inputs": {
+ "baseQueryEngine": "{{queryEngine_1.data.instance}}",
+ "toolName": "tesla_tool",
+ "toolDesc": "A SEC Form 10K filing describing the financials of Tesla Inc (TSLA) for the 2022 time period."
+ },
+ "outputAnchors": [
+ {
+ "id": "queryEngineToolLlamaIndex_1-output-queryEngineToolLlamaIndex-QueryEngineTool",
+ "name": "queryEngineToolLlamaIndex",
+ "label": "QueryEngineTool",
+ "description": "Tool used to invoke query engine",
+ "type": "QueryEngineTool"
+ }
+ ],
+ "outputs": {},
+ "selected": false
+ },
+ "selected": false,
+ "positionAbsolute": {
+ "x": 771.5434180813253,
+ "y": -109.03650423344013
+ },
+ "dragging": false
+ },
+ {
+ "width": 300,
+ "height": 382,
+ "id": "queryEngine_1",
+ "position": {
+ "x": 411.8632262885343,
+ "y": -68.91392354277994
+ },
+ "type": "customNode",
+ "data": {
+ "id": "queryEngine_1",
+ "label": "Query Engine",
+ "version": 2,
+ "name": "queryEngine",
+ "type": "QueryEngine",
+ "baseClasses": ["QueryEngine", "BaseQueryEngine"],
+ "tags": ["LlamaIndex"],
+ "category": "Engine",
+ "description": "Simple query engine built to answer question over your data, without memory",
+ "inputParams": [
+ {
+ "label": "Return Source Documents",
+ "name": "returnSourceDocuments",
+ "type": "boolean",
+ "optional": true,
+ "id": "queryEngine_1-input-returnSourceDocuments-boolean"
+ }
+ ],
+ "inputAnchors": [
+ {
+ "label": "Vector Store Retriever",
+ "name": "vectorStoreRetriever",
+ "type": "VectorIndexRetriever",
+ "id": "queryEngine_1-input-vectorStoreRetriever-VectorIndexRetriever"
+ },
+ {
+ "label": "Response Synthesizer",
+ "name": "responseSynthesizer",
+ "type": "ResponseSynthesizer",
+ "description": "ResponseSynthesizer is responsible for sending the query, nodes, and prompt templates to the LLM to generate a response. See more",
+ "optional": true,
+ "id": "queryEngine_1-input-responseSynthesizer-ResponseSynthesizer"
+ }
+ ],
+ "inputs": {
+ "vectorStoreRetriever": "{{pineconeLlamaIndex_0.data.instance}}",
+ "responseSynthesizer": "",
+ "returnSourceDocuments": ""
+ },
+ "outputAnchors": [
+ {
+ "id": "queryEngine_1-output-queryEngine-QueryEngine|BaseQueryEngine",
+ "name": "queryEngine",
+ "label": "QueryEngine",
+ "description": "Simple query engine built to answer question over your data, without memory",
+ "type": "QueryEngine | BaseQueryEngine"
+ }
+ ],
+ "outputs": {},
+ "selected": false
+ },
+ "selected": false,
+ "positionAbsolute": {
+ "x": 411.8632262885343,
+ "y": -68.91392354277994
+ },
+ "dragging": false
+ },
+ {
+ "width": 300,
+ "height": 484,
+ "id": "subQuestionQueryEngine_0",
+ "position": {
+ "x": 1204.489328490966,
+ "y": 347.2090726754211
+ },
+ "type": "customNode",
+ "data": {
+ "id": "subQuestionQueryEngine_0",
+ "label": "Sub Question Query Engine",
+ "version": 2,
+ "name": "subQuestionQueryEngine",
+ "type": "SubQuestionQueryEngine",
+ "baseClasses": ["SubQuestionQueryEngine", "BaseQueryEngine"],
+ "tags": ["LlamaIndex"],
+ "category": "Engine",
+ "description": "Breaks complex query into sub questions for each relevant data source, then gather all the intermediate reponses and synthesizes a final response",
+ "inputParams": [
+ {
+ "label": "Return Source Documents",
+ "name": "returnSourceDocuments",
+ "type": "boolean",
+ "optional": true,
+ "id": "subQuestionQueryEngine_0-input-returnSourceDocuments-boolean"
+ }
+ ],
+ "inputAnchors": [
+ {
+ "label": "QueryEngine Tools",
+ "name": "queryEngineTools",
+ "type": "QueryEngineTool",
+ "list": true,
+ "id": "subQuestionQueryEngine_0-input-queryEngineTools-QueryEngineTool"
+ },
+ {
+ "label": "Chat Model",
+ "name": "model",
+ "type": "BaseChatModel_LlamaIndex",
+ "id": "subQuestionQueryEngine_0-input-model-BaseChatModel_LlamaIndex"
+ },
+ {
+ "label": "Embeddings",
+ "name": "embeddings",
+ "type": "BaseEmbedding_LlamaIndex",
+ "id": "subQuestionQueryEngine_0-input-embeddings-BaseEmbedding_LlamaIndex"
+ },
+ {
+ "label": "Response Synthesizer",
+ "name": "responseSynthesizer",
+ "type": "ResponseSynthesizer",
+ "description": "ResponseSynthesizer is responsible for sending the query, nodes, and prompt templates to the LLM to generate a response. See more",
+ "optional": true,
+ "id": "subQuestionQueryEngine_0-input-responseSynthesizer-ResponseSynthesizer"
+ }
+ ],
+ "inputs": {
+ "queryEngineTools": ["{{queryEngineToolLlamaIndex_2.data.instance}}", "{{queryEngineToolLlamaIndex_1.data.instance}}"],
+ "model": "{{chatOpenAI_LlamaIndex_1.data.instance}}",
+ "embeddings": "{{openAIEmbedding_LlamaIndex_1.data.instance}}",
+ "responseSynthesizer": "{{compactrefineLlamaIndex_0.data.instance}}",
+ "returnSourceDocuments": true
+ },
+ "outputAnchors": [
+ {
+ "id": "subQuestionQueryEngine_0-output-subQuestionQueryEngine-SubQuestionQueryEngine|BaseQueryEngine",
+ "name": "subQuestionQueryEngine",
+ "label": "SubQuestionQueryEngine",
+ "description": "Breaks complex query into sub questions for each relevant data source, then gather all the intermediate reponses and synthesizes a final response",
+ "type": "SubQuestionQueryEngine | BaseQueryEngine"
+ }
+ ],
+ "outputs": {},
+ "selected": false
+ },
+ "selected": false,
+ "positionAbsolute": {
+ "x": 1204.489328490966,
+ "y": 347.2090726754211
+ },
+ "dragging": false
+ },
{
"width": 300,
"height": 82,
"id": "stickyNote_0",
"position": {
- "x": 35.90892935132143,
- "y": -936.1282632923861
+ "x": 1208.1786832265154,
+ "y": 238.26647262900994
},
"type": "stickyNote",
"data": {
@@ -987,13 +1126,14 @@
],
"inputAnchors": [],
"inputs": {
- "note": "Query previously upserted documents with corresponding metadata key value pair - \n{ source: \"apple\"}"
+ "note": "Break questions into subqueries, then retrieve corresponding context using queryengine tools"
},
"outputAnchors": [
{
"id": "stickyNote_0-output-stickyNote-StickyNote",
"name": "stickyNote",
"label": "StickyNote",
+ "description": "Add a sticky note",
"type": "StickyNote"
}
],
@@ -1002,8 +1142,8 @@
},
"selected": false,
"positionAbsolute": {
- "x": 35.90892935132143,
- "y": -936.1282632923861
+ "x": 1208.1786832265154,
+ "y": 238.26647262900994
},
"dragging": false
},
@@ -1012,8 +1152,8 @@
"height": 82,
"id": "stickyNote_1",
"position": {
- "x": 37.74909394815296,
- "y": -215.17456133022054
+ "x": 416.8958270395809,
+ "y": -179.9680840754678
},
"type": "stickyNote",
"data": {
@@ -1038,13 +1178,14 @@
],
"inputAnchors": [],
"inputs": {
- "note": "Query previously upserted documents with corresponding metadata key value pair - \n{ source: \"tesla\"}"
+ "note": "Query previously upserted documents with corresponding metadata key value pair - \n{ source: \"\"}"
},
"outputAnchors": [
{
"id": "stickyNote_1-output-stickyNote-StickyNote",
"name": "stickyNote",
"label": "StickyNote",
+ "description": "Add a sticky note",
"type": "StickyNote"
}
],
@@ -1053,59 +1194,8 @@
},
"selected": false,
"positionAbsolute": {
- "x": 37.74909394815296,
- "y": -215.17456133022054
- },
- "dragging": false
- },
- {
- "width": 300,
- "height": 163,
- "id": "stickyNote_2",
- "position": {
- "x": 984.9543031068163,
- "y": 171.04264459503852
- },
- "type": "stickyNote",
- "data": {
- "id": "stickyNote_2",
- "label": "Sticky Note",
- "version": 1,
- "name": "stickyNote",
- "type": "StickyNote",
- "baseClasses": ["StickyNote"],
- "category": "Utilities",
- "description": "Add a sticky note",
- "inputParams": [
- {
- "label": "",
- "name": "note",
- "type": "string",
- "rows": 1,
- "placeholder": "Type something here",
- "optional": true,
- "id": "stickyNote_2-input-note-string"
- }
- ],
- "inputAnchors": [],
- "inputs": {
- "note": "Break questions into subqueries, then retrieve corresponding context using queryengine tool.\n\nThis implementation does not contains memory, we can use OpenAI Agent to function call this flow"
- },
- "outputAnchors": [
- {
- "id": "stickyNote_2-output-stickyNote-StickyNote",
- "name": "stickyNote",
- "label": "StickyNote",
- "type": "StickyNote"
- }
- ],
- "outputs": {},
- "selected": false
- },
- "selected": false,
- "positionAbsolute": {
- "x": 984.9543031068163,
- "y": 171.04264459503852
+ "x": 416.8958270395809,
+ "y": -179.9680840754678
},
"dragging": false
}
@@ -1128,20 +1218,60 @@
"id": "openAIEmbedding_LlamaIndex_0-openAIEmbedding_LlamaIndex_0-output-openAIEmbedding_LlamaIndex-OpenAIEmbedding|BaseEmbedding_LlamaIndex|BaseEmbedding-pineconeLlamaIndex_1-pineconeLlamaIndex_1-input-embeddings-BaseEmbedding_LlamaIndex"
},
{
- "source": "pineconeLlamaIndex_1",
- "sourceHandle": "pineconeLlamaIndex_1-output-vectorStore-Pinecone|VectorStoreIndex",
- "target": "queryEngineToolLlamaIndex_0",
- "targetHandle": "queryEngineToolLlamaIndex_0-input-vectorStoreIndex-VectorStoreIndex",
+ "source": "openAIEmbedding_LlamaIndex_0",
+ "sourceHandle": "openAIEmbedding_LlamaIndex_0-output-openAIEmbedding_LlamaIndex-OpenAIEmbedding|BaseEmbedding_LlamaIndex|BaseEmbedding",
+ "target": "pineconeLlamaIndex_0",
+ "targetHandle": "pineconeLlamaIndex_0-input-embeddings-BaseEmbedding_LlamaIndex",
"type": "buttonedge",
- "id": "pineconeLlamaIndex_1-pineconeLlamaIndex_1-output-vectorStore-Pinecone|VectorStoreIndex-queryEngineToolLlamaIndex_0-queryEngineToolLlamaIndex_0-input-vectorStoreIndex-VectorStoreIndex"
+ "id": "openAIEmbedding_LlamaIndex_0-openAIEmbedding_LlamaIndex_0-output-openAIEmbedding_LlamaIndex-OpenAIEmbedding|BaseEmbedding_LlamaIndex|BaseEmbedding-pineconeLlamaIndex_0-pineconeLlamaIndex_0-input-embeddings-BaseEmbedding_LlamaIndex"
+ },
+ {
+ "source": "chatOpenAI_LlamaIndex_0",
+ "sourceHandle": "chatOpenAI_LlamaIndex_0-output-chatOpenAI_LlamaIndex-ChatOpenAI|BaseChatModel_LlamaIndex|BaseLLM",
+ "target": "pineconeLlamaIndex_0",
+ "targetHandle": "pineconeLlamaIndex_0-input-model-BaseChatModel_LlamaIndex",
+ "type": "buttonedge",
+ "id": "chatOpenAI_LlamaIndex_0-chatOpenAI_LlamaIndex_0-output-chatOpenAI_LlamaIndex-ChatOpenAI|BaseChatModel_LlamaIndex|BaseLLM-pineconeLlamaIndex_0-pineconeLlamaIndex_0-input-model-BaseChatModel_LlamaIndex"
+ },
+ {
+ "source": "pineconeLlamaIndex_1",
+ "sourceHandle": "pineconeLlamaIndex_1-output-retriever-Pinecone|VectorIndexRetriever",
+ "target": "queryEngine_0",
+ "targetHandle": "queryEngine_0-input-vectorStoreRetriever-VectorIndexRetriever",
+ "type": "buttonedge",
+ "id": "pineconeLlamaIndex_1-pineconeLlamaIndex_1-output-retriever-Pinecone|VectorIndexRetriever-queryEngine_0-queryEngine_0-input-vectorStoreRetriever-VectorIndexRetriever"
+ },
+ {
+ "source": "queryEngine_0",
+ "sourceHandle": "queryEngine_0-output-queryEngine-QueryEngine|BaseQueryEngine",
+ "target": "queryEngineToolLlamaIndex_2",
+ "targetHandle": "queryEngineToolLlamaIndex_2-input-baseQueryEngine-BaseQueryEngine",
+ "type": "buttonedge",
+ "id": "queryEngine_0-queryEngine_0-output-queryEngine-QueryEngine|BaseQueryEngine-queryEngineToolLlamaIndex_2-queryEngineToolLlamaIndex_2-input-baseQueryEngine-BaseQueryEngine"
},
{
"source": "pineconeLlamaIndex_0",
- "sourceHandle": "pineconeLlamaIndex_0-output-vectorStore-Pinecone|VectorStoreIndex",
- "target": "queryEngineToolLlamaIndex_1",
- "targetHandle": "queryEngineToolLlamaIndex_1-input-vectorStoreIndex-VectorStoreIndex",
+ "sourceHandle": "pineconeLlamaIndex_0-output-retriever-Pinecone|VectorIndexRetriever",
+ "target": "queryEngine_1",
+ "targetHandle": "queryEngine_1-input-vectorStoreRetriever-VectorIndexRetriever",
"type": "buttonedge",
- "id": "pineconeLlamaIndex_0-pineconeLlamaIndex_0-output-vectorStore-Pinecone|VectorStoreIndex-queryEngineToolLlamaIndex_1-queryEngineToolLlamaIndex_1-input-vectorStoreIndex-VectorStoreIndex"
+ "id": "pineconeLlamaIndex_0-pineconeLlamaIndex_0-output-retriever-Pinecone|VectorIndexRetriever-queryEngine_1-queryEngine_1-input-vectorStoreRetriever-VectorIndexRetriever"
+ },
+ {
+ "source": "queryEngine_1",
+ "sourceHandle": "queryEngine_1-output-queryEngine-QueryEngine|BaseQueryEngine",
+ "target": "queryEngineToolLlamaIndex_1",
+ "targetHandle": "queryEngineToolLlamaIndex_1-input-baseQueryEngine-BaseQueryEngine",
+ "type": "buttonedge",
+ "id": "queryEngine_1-queryEngine_1-output-queryEngine-QueryEngine|BaseQueryEngine-queryEngineToolLlamaIndex_1-queryEngineToolLlamaIndex_1-input-baseQueryEngine-BaseQueryEngine"
+ },
+ {
+ "source": "queryEngineToolLlamaIndex_2",
+ "sourceHandle": "queryEngineToolLlamaIndex_2-output-queryEngineToolLlamaIndex-QueryEngineTool",
+ "target": "subQuestionQueryEngine_0",
+ "targetHandle": "subQuestionQueryEngine_0-input-queryEngineTools-QueryEngineTool",
+ "type": "buttonedge",
+ "id": "queryEngineToolLlamaIndex_2-queryEngineToolLlamaIndex_2-output-queryEngineToolLlamaIndex-QueryEngineTool-subQuestionQueryEngine_0-subQuestionQueryEngine_0-input-queryEngineTools-QueryEngineTool"
},
{
"source": "queryEngineToolLlamaIndex_1",
@@ -1151,14 +1281,6 @@
"type": "buttonedge",
"id": "queryEngineToolLlamaIndex_1-queryEngineToolLlamaIndex_1-output-queryEngineToolLlamaIndex-QueryEngineTool-subQuestionQueryEngine_0-subQuestionQueryEngine_0-input-queryEngineTools-QueryEngineTool"
},
- {
- "source": "queryEngineToolLlamaIndex_0",
- "sourceHandle": "queryEngineToolLlamaIndex_0-output-queryEngineToolLlamaIndex-QueryEngineTool",
- "target": "subQuestionQueryEngine_0",
- "targetHandle": "subQuestionQueryEngine_0-input-queryEngineTools-QueryEngineTool",
- "type": "buttonedge",
- "id": "queryEngineToolLlamaIndex_0-queryEngineToolLlamaIndex_0-output-queryEngineToolLlamaIndex-QueryEngineTool-subQuestionQueryEngine_0-subQuestionQueryEngine_0-input-queryEngineTools-QueryEngineTool"
- },
{
"source": "chatOpenAI_LlamaIndex_1",
"sourceHandle": "chatOpenAI_LlamaIndex_1-output-chatOpenAI_LlamaIndex-ChatOpenAI|BaseChatModel_LlamaIndex|BaseLLM",
@@ -1182,22 +1304,6 @@
"targetHandle": "subQuestionQueryEngine_0-input-responseSynthesizer-ResponseSynthesizer",
"type": "buttonedge",
"id": "compactrefineLlamaIndex_0-compactrefineLlamaIndex_0-output-compactrefineLlamaIndex-CompactRefine|ResponseSynthesizer-subQuestionQueryEngine_0-subQuestionQueryEngine_0-input-responseSynthesizer-ResponseSynthesizer"
- },
- {
- "source": "openAIEmbedding_LlamaIndex_0",
- "sourceHandle": "openAIEmbedding_LlamaIndex_0-output-openAIEmbedding_LlamaIndex-OpenAIEmbedding|BaseEmbedding_LlamaIndex|BaseEmbedding",
- "target": "pineconeLlamaIndex_0",
- "targetHandle": "pineconeLlamaIndex_0-input-embeddings-BaseEmbedding_LlamaIndex",
- "type": "buttonedge",
- "id": "openAIEmbedding_LlamaIndex_0-openAIEmbedding_LlamaIndex_0-output-openAIEmbedding_LlamaIndex-OpenAIEmbedding|BaseEmbedding_LlamaIndex|BaseEmbedding-pineconeLlamaIndex_0-pineconeLlamaIndex_0-input-embeddings-BaseEmbedding_LlamaIndex"
- },
- {
- "source": "chatOpenAI_LlamaIndex_0",
- "sourceHandle": "chatOpenAI_LlamaIndex_0-output-chatOpenAI_LlamaIndex-ChatOpenAI|BaseChatModel_LlamaIndex|BaseLLM",
- "target": "pineconeLlamaIndex_0",
- "targetHandle": "pineconeLlamaIndex_0-input-model-BaseChatModel_LlamaIndex",
- "type": "buttonedge",
- "id": "chatOpenAI_LlamaIndex_0-chatOpenAI_LlamaIndex_0-output-chatOpenAI_LlamaIndex-ChatOpenAI|BaseChatModel_LlamaIndex|BaseLLM-pineconeLlamaIndex_0-pineconeLlamaIndex_0-input-model-BaseChatModel_LlamaIndex"
}
]
}
diff --git a/packages/server/marketplaces/chatflows/Translator.json b/packages/server/marketplaces/chatflows/Translator.json
index 5c8a3cc5..a9a8b570 100644
--- a/packages/server/marketplaces/chatflows/Translator.json
+++ b/packages/server/marketplaces/chatflows/Translator.json
@@ -119,6 +119,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -139,6 +143,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/WebBrowser.json b/packages/server/marketplaces/chatflows/WebBrowser.json
index 232bd83e..600639d8 100644
--- a/packages/server/marketplaces/chatflows/WebBrowser.json
+++ b/packages/server/marketplaces/chatflows/WebBrowser.json
@@ -162,6 +162,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -182,6 +186,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
@@ -460,6 +468,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -480,6 +492,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/marketplaces/chatflows/WebPage QnA.json b/packages/server/marketplaces/chatflows/WebPage QnA.json
index 50806161..24b13b87 100644
--- a/packages/server/marketplaces/chatflows/WebPage QnA.json
+++ b/packages/server/marketplaces/chatflows/WebPage QnA.json
@@ -429,6 +429,10 @@
"label": "gpt-4-1106-preview",
"name": "gpt-4-1106-preview"
},
+ {
+ "label": "gpt-4-1106-vision-preview",
+ "name": "gpt-4-1106-vision-preview"
+ },
{
"label": "gpt-4-vision-preview",
"name": "gpt-4-vision-preview"
@@ -449,6 +453,10 @@
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
},
+ {
+ "label": "gpt-3.5-turbo-0125",
+ "name": "gpt-3.5-turbo-0125"
+ },
{
"label": "gpt-3.5-turbo-1106",
"name": "gpt-3.5-turbo-1106"
diff --git a/packages/server/src/commands/start.ts b/packages/server/src/commands/start.ts
index dfb20766..7de5a526 100644
--- a/packages/server/src/commands/start.ts
+++ b/packages/server/src/commands/start.ts
@@ -18,6 +18,7 @@ export default class Start extends Command {
static flags = {
FLOWISE_USERNAME: Flags.string(),
FLOWISE_PASSWORD: Flags.string(),
+ FLOWISE_FILE_SIZE_LIMIT: Flags.string(),
PORT: Flags.string(),
CORS_ORIGINS: Flags.string(),
IFRAME_ORIGINS: Flags.string(),
@@ -91,6 +92,9 @@ export default class Start extends Command {
if (flags.FLOWISE_PASSWORD) process.env.FLOWISE_PASSWORD = flags.FLOWISE_PASSWORD
if (flags.APIKEY_PATH) process.env.APIKEY_PATH = flags.APIKEY_PATH
+ //API Configuration
+ if (flags.FLOWISE_FILE_SIZE_LIMIT) process.env.FLOWISE_FILE_SIZE_LIMIT = flags.FLOWISE_FILE_SIZE_LIMIT
+
// Credentials
if (flags.SECRETKEY_PATH) process.env.SECRETKEY_PATH = flags.SECRETKEY_PATH
if (flags.FLOWISE_SECRETKEY_OVERWRITE) process.env.FLOWISE_SECRETKEY_OVERWRITE = flags.FLOWISE_SECRETKEY_OVERWRITE
@@ -123,6 +127,9 @@ export default class Start extends Command {
// Telemetry
if (flags.DISABLE_FLOWISE_TELEMETRY) process.env.DISABLE_FLOWISE_TELEMETRY = flags.DISABLE_FLOWISE_TELEMETRY
+ // Disable langchain warnings
+ process.env.LANGCHAIN_SUPPRESS_MIGRATION_WARNINGS = 'true'
+
await (async () => {
try {
logger.info('Starting Flowise...')
diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts
index 331b4fd0..498b2e2c 100644
--- a/packages/server/src/index.ts
+++ b/packages/server/src/index.ts
@@ -10,7 +10,7 @@ import logger from './utils/logger'
import { expressRequestLogger } from './utils/logger'
import { v4 as uuidv4 } from 'uuid'
import OpenAI from 'openai'
-import { Between, IsNull, FindOptionsWhere } from 'typeorm'
+import { FindOptionsWhere, MoreThanOrEqual, LessThanOrEqual } from 'typeorm'
import {
IChatFlow,
IncomingInput,
@@ -27,7 +27,7 @@ import {
import {
getNodeModulesPackagePath,
getStartingNodes,
- buildLangchain,
+ buildFlow,
getEndingNodes,
constructGraphs,
resolveVariables,
@@ -122,8 +122,9 @@ export class App {
async config(socketIO?: Server) {
// Limit is needed to allow sending/receiving base64 encoded string
- this.app.use(express.json({ limit: '50mb' }))
- this.app.use(express.urlencoded({ limit: '50mb', extended: true }))
+ const flowise_file_size_limit = process.env.FLOWISE_FILE_SIZE_LIMIT ?? '50mb'
+ this.app.use(express.json({ limit: flowise_file_size_limit }))
+ this.app.use(express.urlencoded({ limit: flowise_file_size_limit, extended: true }))
if (process.env.NUMBER_OF_PROXIES && parseInt(process.env.NUMBER_OF_PROXIES) > 0)
this.app.set('trust proxy', parseInt(process.env.NUMBER_OF_PROXIES))
@@ -442,7 +443,7 @@ export class App {
// chatFlowPool is initialized only when a flow is opened
// if the user attempts to rename/update category without opening any flow, chatFlowPool will be undefined
if (this.chatflowPool) {
- // Update chatflowpool inSync to false, to build Langchain again because data has been changed
+ // Update chatflowpool inSync to false, to build flow from scratch again because data has been changed
this.chatflowPool.updateInSync(chatflow.id, false)
}
@@ -512,6 +513,7 @@ export class App {
const chatId = req.query?.chatId as string | undefined
const memoryType = req.query?.memoryType as string | undefined
const sessionId = req.query?.sessionId as string | undefined
+ const messageId = req.query?.messageId as string | undefined
const startDate = req.query?.startDate as string | undefined
const endDate = req.query?.endDate as string | undefined
const feedback = req.query?.feedback as boolean | undefined
@@ -541,6 +543,7 @@ export class App {
sessionId,
startDate,
endDate,
+ messageId,
feedback
)
return res.json(chatmessages)
@@ -1183,8 +1186,14 @@ export class App {
this.app.get('/api/v1/fetch-links', async (req: Request, res: Response) => {
const url = decodeURIComponent(req.query.url as string)
const relativeLinksMethod = req.query.relativeLinksMethod as string
+ if (!relativeLinksMethod) {
+ return res.status(500).send('Please choose a Relative Links Method in Additional Parameters.')
+ }
+
+ const limit = parseInt(req.query.limit as string)
if (process.env.DEBUG === 'true') console.info(`Start ${relativeLinksMethod}`)
- const links: string[] = relativeLinksMethod === 'webCrawl' ? await webCrawl(url, 0) : await xmlScrape(url, 0)
+ const links: string[] = relativeLinksMethod === 'webCrawl' ? await webCrawl(url, limit) : await xmlScrape(url, limit)
+ if (process.env.DEBUG === 'true') console.info(`Finish ${relativeLinksMethod}`)
res.json({ status: 'OK', links })
})
@@ -1470,22 +1479,34 @@ export class App {
sessionId?: string,
startDate?: string,
endDate?: string,
+ messageId?: string,
feedback?: boolean
): Promise {
+ const setDateToStartOrEndOfDay = (dateTimeStr: string, setHours: 'start' | 'end') => {
+ const date = new Date(dateTimeStr)
+ if (isNaN(date.getTime())) {
+ return undefined
+ }
+ setHours === 'start' ? date.setHours(0, 0, 0, 0) : date.setHours(23, 59, 59, 999)
+ return date
+ }
+
let fromDate
- if (startDate) fromDate = new Date(startDate)
+ if (startDate) fromDate = setDateToStartOrEndOfDay(startDate, 'start')
let toDate
- if (endDate) toDate = new Date(endDate)
+ if (endDate) toDate = setDateToStartOrEndOfDay(endDate, 'end')
return await this.AppDataSource.getRepository(ChatMessage).find({
where: {
chatflowid,
chatType,
chatId,
- memoryType: memoryType ?? (chatId ? IsNull() : undefined),
+ memoryType: memoryType ?? undefined,
sessionId: sessionId ?? undefined,
- createdDate: toDate && fromDate ? Between(fromDate, toDate) : undefined
+ ...(fromDate && { createdDate: MoreThanOrEqual(fromDate) }),
+ ...(toDate && { createdDate: LessThanOrEqual(toDate) }),
+ id: messageId ?? undefined
},
order: {
createdDate: sortOrder === 'DESC' ? 'DESC' : 'ASC'
@@ -1620,7 +1641,7 @@ export class App {
const { startingNodeIds, depthQueue } = getStartingNodes(filteredGraph, stopNodeId)
- await buildLangchain(
+ await buildFlow(
startingNodeIds,
nodes,
edges,
@@ -1837,7 +1858,7 @@ export class App {
logger.debug(`[server]: Start building chatflow ${chatflowid}`)
/*** BFS to traverse from Starting Nodes to Ending Node ***/
- const reactFlowNodes = await buildLangchain(
+ const reactFlowNodes = await buildFlow(
startingNodeIds,
nodes,
edges,
diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts
index 421a15ec..4f222151 100644
--- a/packages/server/src/utils/index.ts
+++ b/packages/server/src/utils/index.ts
@@ -263,7 +263,7 @@ export const getEndingNodes = (nodeDependencies: INodeDependencies, graph: INode
* @param {ICommonObject} overrideConfig
* @param {CachePool} cachePool
*/
-export const buildLangchain = async (
+export const buildFlow = async (
startingNodeIds: string[],
reactFlowNodes: IReactFlowNode[],
reactFlowEdges: IReactFlowEdge[],
diff --git a/packages/ui/public/index.html b/packages/ui/public/index.html
index b4ec9ea1..61fd6fe5 100644
--- a/packages/ui/public/index.html
+++ b/packages/ui/public/index.html
@@ -18,13 +18,19 @@
-
+
-
+