diff --git a/packages/components/.env.example b/packages/components/.env.example new file mode 100644 index 00000000000..352bc6cb0a8 --- /dev/null +++ b/packages/components/.env.example @@ -0,0 +1 @@ +DEBUG=true \ No newline at end of file diff --git a/packages/components/README.md b/packages/components/README.md index 5b564beccbf..8014661e146 100644 --- a/packages/components/README.md +++ b/packages/components/README.md @@ -12,6 +12,14 @@ Install: npm i flowise-components ``` +## Debug + +To view all the logs, create an `.env` file and add: + +``` +DEBUG=true +``` + ## License Source code in this repository is made available under the [MIT License](https://github.com/FlowiseAI/Flowise/blob/master/LICENSE.md). diff --git a/packages/components/nodes/agents/ConversationalAgent/ConversationalAgent.ts b/packages/components/nodes/agents/ConversationalAgent/ConversationalAgent.ts index 15c0ac7d0b1..d2106e18510 100644 --- a/packages/components/nodes/agents/ConversationalAgent/ConversationalAgent.ts +++ b/packages/components/nodes/agents/ConversationalAgent/ConversationalAgent.ts @@ -70,7 +70,7 @@ class ConversationalAgent_Agents implements INode { const obj: InitializeAgentExecutorOptions = { agentType: 'chat-conversational-react-description', - verbose: true + verbose: process.env.DEBUG === 'true' ? true : false } const agentArgs: any = {} diff --git a/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts b/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts index a140d2dcf62..34b36fc1ec7 100644 --- a/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts +++ b/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts @@ -43,7 +43,7 @@ class MRKLAgentChat_Agents implements INode { tools = tools.flat() const executor = await initializeAgentExecutorWithOptions(tools, model, { agentType: 'chat-zero-shot-react-description', - verbose: true + verbose: process.env.DEBUG === 'true' ? true : false }) return executor } diff --git a/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts b/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts index 1aa23364623..20246ffa196 100644 --- a/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts +++ b/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts @@ -44,7 +44,7 @@ class MRKLAgentLLM_Agents implements INode { const executor = await initializeAgentExecutorWithOptions(tools, model, { agentType: 'zero-shot-react-description', - verbose: true + verbose: process.env.DEBUG === 'true' ? true : false }) return executor } diff --git a/packages/components/nodes/chains/ConversationalRetrievalQAChain/ConversationalRetrievalQAChain.ts b/packages/components/nodes/chains/ConversationalRetrievalQAChain/ConversationalRetrievalQAChain.ts index 1c0afaec6f2..81ac3a6ee3d 100644 --- a/packages/components/nodes/chains/ConversationalRetrievalQAChain/ConversationalRetrievalQAChain.ts +++ b/packages/components/nodes/chains/ConversationalRetrievalQAChain/ConversationalRetrievalQAChain.ts @@ -40,7 +40,9 @@ class ConversationalRetrievalQAChain_Chains implements INode { const model = nodeData.inputs?.model as BaseLanguageModel const vectorStoreRetriever = nodeData.inputs?.vectorStoreRetriever as BaseRetriever - const chain = ConversationalRetrievalQAChain.fromLLM(model, vectorStoreRetriever) + const chain = ConversationalRetrievalQAChain.fromLLM(model, vectorStoreRetriever, { + verbose: process.env.DEBUG === 'true' ? true : false + }) return chain } diff --git a/packages/components/nodes/chains/LLMChain/LLMChain.ts b/packages/components/nodes/chains/LLMChain/LLMChain.ts index 1e45cc44baa..b178e28dfd3 100644 --- a/packages/components/nodes/chains/LLMChain/LLMChain.ts +++ b/packages/components/nodes/chains/LLMChain/LLMChain.ts @@ -62,10 +62,10 @@ class LLMChain_Chains implements INode { const promptValues = prompt.promptValues as ICommonObject if (output === this.name) { - const chain = new LLMChain({ llm: model, prompt }) + const chain = new LLMChain({ llm: model, prompt, verbose: process.env.DEBUG === 'true' ? true : false }) return chain } else if (output === 'outputPrediction') { - const chain = new LLMChain({ llm: model, prompt }) + const chain = new LLMChain({ llm: model, prompt, verbose: process.env.DEBUG === 'true' ? true : false }) const inputVariables = chain.prompt.inputVariables as string[] // ["product"] const res = await runPrediction(inputVariables, chain, input, promptValues) // eslint-disable-next-line no-console diff --git a/packages/components/nodes/chains/RetrievalQAChain/RetrievalQAChain.ts b/packages/components/nodes/chains/RetrievalQAChain/RetrievalQAChain.ts index 8514fc6a239..c002b6848b5 100644 --- a/packages/components/nodes/chains/RetrievalQAChain/RetrievalQAChain.ts +++ b/packages/components/nodes/chains/RetrievalQAChain/RetrievalQAChain.ts @@ -40,7 +40,7 @@ class RetrievalQAChain_Chains implements INode { const model = nodeData.inputs?.model as BaseLanguageModel const vectorStoreRetriever = nodeData.inputs?.vectorStoreRetriever as BaseRetriever - const chain = RetrievalQAChain.fromLLM(model, vectorStoreRetriever) + const chain = RetrievalQAChain.fromLLM(model, vectorStoreRetriever, { verbose: process.env.DEBUG === 'true' ? true : false }) return chain } diff --git a/packages/components/nodes/chains/SqlDatabaseChain/SqlDatabaseChain.ts b/packages/components/nodes/chains/SqlDatabaseChain/SqlDatabaseChain.ts index 5cf8255784c..7ea10d9418d 100644 --- a/packages/components/nodes/chains/SqlDatabaseChain/SqlDatabaseChain.ts +++ b/packages/components/nodes/chains/SqlDatabaseChain/SqlDatabaseChain.ts @@ -82,7 +82,8 @@ const getSQLDBChain = async (databaseType: 'sqlite', dbFilePath: string, llm: Ba const obj: SqlDatabaseChainInput = { llm, - database: db + database: db, + verbose: process.env.DEBUG === 'true' ? true : false } const chain = new SqlDatabaseChain(obj) diff --git a/packages/components/nodes/chains/VectorDBQAChain/VectorDBQAChain.ts b/packages/components/nodes/chains/VectorDBQAChain/VectorDBQAChain.ts index 91b3fed1e59..37d388b4aa1 100644 --- a/packages/components/nodes/chains/VectorDBQAChain/VectorDBQAChain.ts +++ b/packages/components/nodes/chains/VectorDBQAChain/VectorDBQAChain.ts @@ -40,7 +40,7 @@ class VectorDBQAChain_Chains implements INode { const model = nodeData.inputs?.model as BaseLanguageModel const vectorStore = nodeData.inputs?.vectorStore as VectorStore - const chain = VectorDBQAChain.fromLLM(model, vectorStore) + const chain = VectorDBQAChain.fromLLM(model, vectorStore, { verbose: process.env.DEBUG === 'true' ? true : false }) return chain } diff --git a/packages/components/package.json b/packages/components/package.json index dd3c0fc5b39..f7227275367 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -29,7 +29,7 @@ "express": "^4.17.3", "form-data": "^4.0.0", "graphql": "^16.6.0", - "langchain": "^0.0.73", + "langchain": "^0.0.78", "linkifyjs": "^4.1.1", "mammoth": "^1.5.1", "moment": "^2.29.3", diff --git a/packages/components/src/index.ts b/packages/components/src/index.ts index 537faa89b31..d04f5bf613a 100644 --- a/packages/components/src/index.ts +++ b/packages/components/src/index.ts @@ -1,2 +1,8 @@ +import dotenv from 'dotenv' +import path from 'path' + +const envPath = path.join(__dirname, '..', '..', '.env') +dotenv.config({ path: envPath }) + export * from './Interface' export * from './utils'