From 1f4efd673418da1c4d925a827d48176fb90538cd Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 19 May 2023 18:20:41 +0100 Subject: [PATCH] add debug --- packages/components/.env.example | 1 + packages/components/README.md | 8 ++++++++ .../agents/ConversationalAgent/ConversationalAgent.ts | 2 +- .../nodes/agents/MRKLAgentChat/MRKLAgentChat.ts | 2 +- .../components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts | 2 +- .../ConversationalRetrievalQAChain.ts | 4 +++- packages/components/nodes/chains/LLMChain/LLMChain.ts | 4 ++-- .../nodes/chains/RetrievalQAChain/RetrievalQAChain.ts | 2 +- .../nodes/chains/SqlDatabaseChain/SqlDatabaseChain.ts | 3 ++- .../nodes/chains/VectorDBQAChain/VectorDBQAChain.ts | 2 +- packages/components/package.json | 2 +- packages/components/src/index.ts | 6 ++++++ 12 files changed, 28 insertions(+), 10 deletions(-) create mode 100644 packages/components/.env.example diff --git a/packages/components/.env.example b/packages/components/.env.example new file mode 100644 index 00000000..352bc6cb --- /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 5b564bec..8014661e 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 15c0ac7d..d2106e18 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 a140d2dc..34b36fc1 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 1aa23364..20246ffa 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 1c0afaec..81ac3a6e 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 1e45cc44..b178e28d 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 8514fc6a..c002b684 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 5cf82557..7ea10d94 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 91b3fed1..37d388b4 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 dd3c0fc5..f7227275 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 537faa89..d04f5bf6 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'