From 4fd73b86ed9ca198a560b821bb4cabf1ac1bdb8f Mon Sep 17 00:00:00 2001 From: atilgner Date: Tue, 13 Jun 2023 13:13:49 -0700 Subject: [PATCH 01/10] feat: added puppeteer loader node --- .../documentloaders/Puppeteer/Puppeteer.ts | 122 ++++++++++++++++++ .../documentloaders/Puppeteer/puppeteer.svg | 14 ++ packages/components/package.json | 5 +- 3 files changed, 139 insertions(+), 2 deletions(-) create mode 100644 packages/components/nodes/documentloaders/Puppeteer/Puppeteer.ts create mode 100644 packages/components/nodes/documentloaders/Puppeteer/puppeteer.svg diff --git a/packages/components/nodes/documentloaders/Puppeteer/Puppeteer.ts b/packages/components/nodes/documentloaders/Puppeteer/Puppeteer.ts new file mode 100644 index 000000000..1331c736e --- /dev/null +++ b/packages/components/nodes/documentloaders/Puppeteer/Puppeteer.ts @@ -0,0 +1,122 @@ +import { INode, INodeData, INodeParams } from '../../../src/Interface' +import { TextSplitter } from 'langchain/text_splitter' +import { PuppeteerWebBaseLoader } from 'langchain/document_loaders/web/puppeteer' +import { test } from 'linkifyjs' +import { getAvailableURLs } from '../../../src' + +class Puppeteer_DocumentLoaders implements INode { + label: string + name: string + description: string + type: string + icon: string + category: string + baseClasses: string[] + inputs: INodeParams[] + + constructor() { + this.label = 'Puppeteer Web Scraper' + this.name = 'puppeteerWebScraper' + this.type = 'Document' + this.icon = 'puppeteer.svg' + this.category = 'Document Loaders' + this.description = `Load data from webpages` + this.baseClasses = [this.type] + this.inputs = [ + { + label: 'URL', + name: 'url', + type: 'string' + }, + { + label: 'Text Splitter', + name: 'textSplitter', + type: 'TextSplitter', + optional: true + }, + { + label: 'Web Scrape for Relative Links', + name: 'webScrape', + type: 'boolean', + optional: true, + additionalParams: true + }, + { + label: 'Web Scrape Links Limit', + name: 'limit', + type: 'number', + default: 10, + optional: true, + additionalParams: true + }, + { + label: 'Metadata', + name: 'metadata', + type: 'json', + optional: true, + additionalParams: true + } + ] + } + + async init(nodeData: INodeData): Promise { + const textSplitter = nodeData.inputs?.textSplitter as TextSplitter + const metadata = nodeData.inputs?.metadata + const webScrape = nodeData.inputs?.webScrape as boolean + let limit = nodeData.inputs?.limit as string + + let url = nodeData.inputs?.url as string + url = url.trim() + if (!test(url)) { + throw new Error('Invalid URL') + } + + const puppeteerLoader = async (url: string): Promise => { + let docs = [] + const loader = new PuppeteerWebBaseLoader(url) + if (textSplitter) { + docs = await loader.loadAndSplit(textSplitter) + } else { + docs = await loader.load() + } + return docs + } + + let availableUrls: string[] + let docs = [] + if (webScrape) { + if (!limit) limit = '10' + availableUrls = await getAvailableURLs(url, parseInt(limit)) + for (let i = 0; i < availableUrls.length; i++) { + try { + docs.push(...(await puppeteerLoader(availableUrls[i]))) + } catch (error) { + console.error('Error loading url with puppeteer. URL: ', availableUrls[i], 'Error: ', error) + continue + } + } + } else { + docs = await puppeteerLoader(url) + } + + if (metadata) { + const parsedMetadata = typeof metadata === 'object' ? metadata : JSON.parse(metadata) + let finaldocs = [] + for (const doc of docs) { + const newdoc = { + ...doc, + metadata: { + ...doc.metadata, + ...parsedMetadata + } + } + finaldocs.push(newdoc) + } + return finaldocs + } + + return docs + } +} + +module.exports = { nodeClass: Puppeteer_DocumentLoaders } diff --git a/packages/components/nodes/documentloaders/Puppeteer/puppeteer.svg b/packages/components/nodes/documentloaders/Puppeteer/puppeteer.svg new file mode 100644 index 000000000..8477fc52d --- /dev/null +++ b/packages/components/nodes/documentloaders/Puppeteer/puppeteer.svg @@ -0,0 +1,14 @@ + + + + + + + + \ No newline at end of file diff --git a/packages/components/package.json b/packages/components/package.json index a778ea8fd..3bcac0d93 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -32,15 +32,16 @@ "faiss-node": "^0.2.1", "form-data": "^4.0.0", "graphql": "^16.6.0", + "html-to-text": "^9.0.5", "langchain": "^0.0.91", "linkifyjs": "^4.1.1", "mammoth": "^1.5.1", "moment": "^2.29.3", "node-fetch": "^2.6.11", "pdf-parse": "^1.1.1", + "puppeteer": "^20.7.1", "weaviate-ts-client": "^1.1.0", - "ws": "^8.9.0", - "html-to-text": "^9.0.5" + "ws": "^8.9.0" }, "devDependencies": { "@types/gulp": "4.0.9", From 74939c187a583bd434bb14cfa75b2497ec0f8a60 Mon Sep 17 00:00:00 2001 From: Henry Date: Wed, 14 Jun 2023 13:39:38 +0100 Subject: [PATCH 02/10] add fixes --- .../nodes/chains/MultiPromptChain/MultiPromptChain.ts | 2 +- .../nodes/chains/MultiRetrievalQAChain/MultiRetrievalQAChain.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/components/nodes/chains/MultiPromptChain/MultiPromptChain.ts b/packages/components/nodes/chains/MultiPromptChain/MultiPromptChain.ts index c74e3257f..659641f8c 100644 --- a/packages/components/nodes/chains/MultiPromptChain/MultiPromptChain.ts +++ b/packages/components/nodes/chains/MultiPromptChain/MultiPromptChain.ts @@ -61,7 +61,7 @@ class MultiPromptChain_Chains implements INode { const obj = { input } if (options.socketIO && options.socketIOClientId) { - const handler = new CustomChainHandler(options.socketIO, options.socketIOClientId) + const handler = new CustomChainHandler(options.socketIO, options.socketIOClientId, 2) const res = await chain.call(obj, [handler]) return res?.text } else { diff --git a/packages/components/nodes/chains/MultiRetrievalQAChain/MultiRetrievalQAChain.ts b/packages/components/nodes/chains/MultiRetrievalQAChain/MultiRetrievalQAChain.ts index b17125c21..b18ac8677 100644 --- a/packages/components/nodes/chains/MultiRetrievalQAChain/MultiRetrievalQAChain.ts +++ b/packages/components/nodes/chains/MultiRetrievalQAChain/MultiRetrievalQAChain.ts @@ -61,7 +61,7 @@ class MultiRetrievalQAChain_Chains implements INode { const obj = { input } if (options.socketIO && options.socketIOClientId) { - const handler = new CustomChainHandler(options.socketIO, options.socketIOClientId) + const handler = new CustomChainHandler(options.socketIO, options.socketIOClientId, 2) const res = await chain.call(obj, [handler]) return res?.text } else { From e50c065acad8a552832180b12e63af687f715efc Mon Sep 17 00:00:00 2001 From: Henry Date: Wed, 14 Jun 2023 15:47:33 +0100 Subject: [PATCH 03/10] update multi chains --- .../MultiPromptChain/MultiPromptChain.ts | 9 ++++--- .../MultiRetrievalQAChain.ts | 26 ++++++++++++++----- .../Multi Retrieval QA Chain.json | 9 ++++++- 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/packages/components/nodes/chains/MultiPromptChain/MultiPromptChain.ts b/packages/components/nodes/chains/MultiPromptChain/MultiPromptChain.ts index 659641f8c..189f41f72 100644 --- a/packages/components/nodes/chains/MultiPromptChain/MultiPromptChain.ts +++ b/packages/components/nodes/chains/MultiPromptChain/MultiPromptChain.ts @@ -49,9 +49,12 @@ class MultiPromptChain_Chains implements INode { promptTemplates.push(prompt.systemMessage) } - const chain = MultiPromptChain.fromPrompts(model, promptNames, promptDescriptions, promptTemplates, undefined, { - verbose: process.env.DEBUG === 'true' ? true : false - } as any) + const chain = MultiPromptChain.fromLLMAndPrompts(model, { + promptNames, + promptDescriptions, + promptTemplates, + llmChainOpts: { verbose: process.env.DEBUG === 'true' ? true : false } + }) return chain } diff --git a/packages/components/nodes/chains/MultiRetrievalQAChain/MultiRetrievalQAChain.ts b/packages/components/nodes/chains/MultiRetrievalQAChain/MultiRetrievalQAChain.ts index b18ac8677..b3575a930 100644 --- a/packages/components/nodes/chains/MultiRetrievalQAChain/MultiRetrievalQAChain.ts +++ b/packages/components/nodes/chains/MultiRetrievalQAChain/MultiRetrievalQAChain.ts @@ -32,6 +32,12 @@ class MultiRetrievalQAChain_Chains implements INode { name: 'vectorStoreRetriever', type: 'VectorStoreRetriever', list: true + }, + { + label: 'Return Source Documents', + name: 'returnSourceDocuments', + type: 'boolean', + optional: true } ] } @@ -39,6 +45,8 @@ class MultiRetrievalQAChain_Chains implements INode { async init(nodeData: INodeData): Promise { const model = nodeData.inputs?.model as BaseLanguageModel const vectorStoreRetriever = nodeData.inputs?.vectorStoreRetriever as VectorStoreRetriever[] + const returnSourceDocuments = nodeData.inputs?.returnSourceDocuments as boolean + const retrieverNames = [] const retrieverDescriptions = [] const retrievers = [] @@ -49,23 +57,29 @@ class MultiRetrievalQAChain_Chains implements INode { retrievers.push(vs.vectorStore.asRetriever((vs.vectorStore as any).k ?? 4)) } - const chain = MultiRetrievalQAChain.fromRetrievers(model, retrieverNames, retrieverDescriptions, retrievers, undefined, { - verbose: process.env.DEBUG === 'true' ? true : false - } as any) - + const chain = MultiRetrievalQAChain.fromLLMAndRetrievers(model, { + retrieverNames, + retrieverDescriptions, + retrievers, + retrievalQAChainOpts: { verbose: process.env.DEBUG === 'true' ? true : false, returnSourceDocuments } + }) return chain } - async run(nodeData: INodeData, input: string, options: ICommonObject): Promise { + async run(nodeData: INodeData, input: string, options: ICommonObject): Promise { const chain = nodeData.instance as MultiRetrievalQAChain + const returnSourceDocuments = nodeData.inputs?.returnSourceDocuments as boolean + const obj = { input } if (options.socketIO && options.socketIOClientId) { - const handler = new CustomChainHandler(options.socketIO, options.socketIOClientId, 2) + const handler = new CustomChainHandler(options.socketIO, options.socketIOClientId, 2, returnSourceDocuments) const res = await chain.call(obj, [handler]) + if (res.text && res.sourceDocuments) return res return res?.text } else { const res = await chain.call(obj) + if (res.text && res.sourceDocuments) return res return res?.text } } diff --git a/packages/server/marketplaces/Multi Retrieval QA Chain.json b/packages/server/marketplaces/Multi Retrieval QA Chain.json index cdb468d1f..f3cd1fcc1 100644 --- a/packages/server/marketplaces/Multi Retrieval QA Chain.json +++ b/packages/server/marketplaces/Multi Retrieval QA Chain.json @@ -84,7 +84,14 @@ "baseClasses": ["MultiRetrievalQAChain", "MultiRouteChain", "BaseChain", "BaseLangChain"], "category": "Chains", "description": "QA Chain that automatically picks an appropriate vector store from multiple retrievers", - "inputParams": [], + "inputParams": [ + { + "label": "Return Source Documents", + "name": "returnSourceDocuments", + "type": "boolean", + "optional": true + } + ], "inputAnchors": [ { "label": "Language Model", From 8fa04285094cd8c7683f8851dc73481a6c8adb77 Mon Sep 17 00:00:00 2001 From: Govind Kumar Date: Wed, 14 Jun 2023 20:29:38 +0530 Subject: [PATCH 04/10] Feature: Subtitles Loader Integration --- .../documentloaders/Subtitles/Subtitles.ts | 95 +++++++++++++++++++ .../Subtitles/subtitlesFile.svg | 1 + packages/components/package.json | 5 +- 3 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 packages/components/nodes/documentloaders/Subtitles/Subtitles.ts create mode 100644 packages/components/nodes/documentloaders/Subtitles/subtitlesFile.svg diff --git a/packages/components/nodes/documentloaders/Subtitles/Subtitles.ts b/packages/components/nodes/documentloaders/Subtitles/Subtitles.ts new file mode 100644 index 000000000..0f60e151e --- /dev/null +++ b/packages/components/nodes/documentloaders/Subtitles/Subtitles.ts @@ -0,0 +1,95 @@ +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 + description: string + type: string + icon: string + category: string + baseClasses: string[] + inputs: INodeParams[] + + constructor() { + this.label = 'Subtitles File' + this.name = 'subtitlesFile' + 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 new file mode 100644 index 000000000..a6ee925bc --- /dev/null +++ b/packages/components/nodes/documentloaders/Subtitles/subtitlesFile.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/package.json b/packages/components/package.json index 207d3e897..30a6b407d 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -32,15 +32,16 @@ "faiss-node": "^0.2.1", "form-data": "^4.0.0", "graphql": "^16.6.0", + "html-to-text": "^9.0.5", "langchain": "^0.0.94", "linkifyjs": "^4.1.1", "mammoth": "^1.5.1", "moment": "^2.29.3", "node-fetch": "^2.6.11", "pdf-parse": "^1.1.1", + "srt-parser-2": "^1.2.3", "weaviate-ts-client": "^1.1.0", - "ws": "^8.9.0", - "html-to-text": "^9.0.5" + "ws": "^8.9.0" }, "devDependencies": { "@types/gulp": "4.0.9", From 2e43b233a5adfd81fb8a11e7f57f8eca63a9af9c Mon Sep 17 00:00:00 2001 From: Henry Date: Wed, 14 Jun 2023 19:48:44 +0100 Subject: [PATCH 05/10] add 16k model --- .../nodes/chatmodels/ChatOpenAI/ChatOpenAI.ts | 28 ++++--- packages/server/marketplaces/API Agent.json | 84 +++++++++++-------- packages/server/marketplaces/AutoGPT.json | 28 ++++--- packages/server/marketplaces/BabyAGI.json | 28 ++++--- .../server/marketplaces/ChatGPTPlugin.json | 28 ++++--- .../marketplaces/Conversational Agent.json | 28 ++++--- .../Conversational Retrieval QA Chain.json | 28 ++++--- .../server/marketplaces/Github Repo QnA.json | 28 ++++--- .../marketplaces/Multi Prompt Chain.json | 28 ++++--- .../Multi Retrieval QA Chain.json | 28 ++++--- .../server/marketplaces/OpenAI Agent.json | 28 ++++--- .../Simple Conversation Chain.json | 28 ++++--- packages/server/marketplaces/Translator.json | 28 ++++--- packages/server/marketplaces/WebBrowser.json | 56 +++++++------ 14 files changed, 272 insertions(+), 204 deletions(-) diff --git a/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI.ts b/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI.ts index 7ddb17afa..26f54db84 100644 --- a/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI.ts +++ b/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI.ts @@ -35,29 +35,33 @@ class ChatOpenAI_ChatModels implements INode { label: 'gpt-4', name: 'gpt-4' }, - { - label: 'gpt-4-0314', - name: 'gpt-4-0314' - }, - { - label: 'gpt-4-32k-0314', - name: 'gpt-4-32k-0314' - }, { label: 'gpt-4-0613', name: 'gpt-4-0613' }, + { + label: 'gpt-4-32k', + name: 'gpt-4-32k' + }, + { + label: 'gpt-4-32k-0613', + name: 'gpt-4-32k-0613' + }, { label: 'gpt-3.5-turbo', name: 'gpt-3.5-turbo' }, - { - label: 'gpt-3.5-turbo-0301', - name: 'gpt-3.5-turbo-0301' - }, { label: 'gpt-3.5-turbo-0613', name: 'gpt-3.5-turbo-0613' + }, + { + label: 'gpt-3.5-turbo-16k', + name: 'gpt-3.5-turbo-16k' + }, + { + label: 'gpt-3.5-turbo-16k-0613', + name: 'gpt-3.5-turbo-16k-0613' } ], default: 'gpt-3.5-turbo', diff --git a/packages/server/marketplaces/API Agent.json b/packages/server/marketplaces/API Agent.json index ce4b7fb00..8ca799261 100644 --- a/packages/server/marketplaces/API Agent.json +++ b/packages/server/marketplaces/API Agent.json @@ -278,29 +278,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", @@ -481,29 +485,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", @@ -628,29 +636,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", diff --git a/packages/server/marketplaces/AutoGPT.json b/packages/server/marketplaces/AutoGPT.json index 4bb687223..479262726 100644 --- a/packages/server/marketplaces/AutoGPT.json +++ b/packages/server/marketplaces/AutoGPT.json @@ -124,29 +124,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", diff --git a/packages/server/marketplaces/BabyAGI.json b/packages/server/marketplaces/BabyAGI.json index aefb9902e..572d73f10 100644 --- a/packages/server/marketplaces/BabyAGI.json +++ b/packages/server/marketplaces/BabyAGI.json @@ -227,29 +227,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", diff --git a/packages/server/marketplaces/ChatGPTPlugin.json b/packages/server/marketplaces/ChatGPTPlugin.json index 4d5d18699..76964a09d 100644 --- a/packages/server/marketplaces/ChatGPTPlugin.json +++ b/packages/server/marketplaces/ChatGPTPlugin.json @@ -287,29 +287,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", diff --git a/packages/server/marketplaces/Conversational Agent.json b/packages/server/marketplaces/Conversational Agent.json index d6d61e864..b0295fd6e 100644 --- a/packages/server/marketplaces/Conversational Agent.json +++ b/packages/server/marketplaces/Conversational Agent.json @@ -34,29 +34,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", diff --git a/packages/server/marketplaces/Conversational Retrieval QA Chain.json b/packages/server/marketplaces/Conversational Retrieval QA Chain.json index 4d8b2881d..ed190cdcc 100644 --- a/packages/server/marketplaces/Conversational Retrieval QA Chain.json +++ b/packages/server/marketplaces/Conversational Retrieval QA Chain.json @@ -348,29 +348,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", diff --git a/packages/server/marketplaces/Github Repo QnA.json b/packages/server/marketplaces/Github Repo QnA.json index 852c9741d..92867957d 100644 --- a/packages/server/marketplaces/Github Repo QnA.json +++ b/packages/server/marketplaces/Github Repo QnA.json @@ -365,29 +365,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", diff --git a/packages/server/marketplaces/Multi Prompt Chain.json b/packages/server/marketplaces/Multi Prompt Chain.json index d4aa45505..339476e74 100644 --- a/packages/server/marketplaces/Multi Prompt Chain.json +++ b/packages/server/marketplaces/Multi Prompt Chain.json @@ -294,29 +294,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", diff --git a/packages/server/marketplaces/Multi Retrieval QA Chain.json b/packages/server/marketplaces/Multi Retrieval QA Chain.json index f3cd1fcc1..04df2fee7 100644 --- a/packages/server/marketplaces/Multi Retrieval QA Chain.json +++ b/packages/server/marketplaces/Multi Retrieval QA Chain.json @@ -298,29 +298,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", diff --git a/packages/server/marketplaces/OpenAI Agent.json b/packages/server/marketplaces/OpenAI Agent.json index 77192eb1e..7e6855462 100644 --- a/packages/server/marketplaces/OpenAI Agent.json +++ b/packages/server/marketplaces/OpenAI Agent.json @@ -34,29 +34,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", diff --git a/packages/server/marketplaces/Simple Conversation Chain.json b/packages/server/marketplaces/Simple Conversation Chain.json index 93cf06d7e..f7e654dbd 100644 --- a/packages/server/marketplaces/Simple Conversation Chain.json +++ b/packages/server/marketplaces/Simple Conversation Chain.json @@ -34,29 +34,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", diff --git a/packages/server/marketplaces/Translator.json b/packages/server/marketplaces/Translator.json index 5a57a8f57..fda400e28 100644 --- a/packages/server/marketplaces/Translator.json +++ b/packages/server/marketplaces/Translator.json @@ -104,29 +104,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", diff --git a/packages/server/marketplaces/WebBrowser.json b/packages/server/marketplaces/WebBrowser.json index d533c75f1..f87fe07e2 100644 --- a/packages/server/marketplaces/WebBrowser.json +++ b/packages/server/marketplaces/WebBrowser.json @@ -34,29 +34,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", @@ -318,29 +322,33 @@ "label": "gpt-4", "name": "gpt-4" }, - { - "label": "gpt-4-0314", - "name": "gpt-4-0314" - }, - { - "label": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314" - }, { "label": "gpt-4-0613", "name": "gpt-4-0613" }, + { + "label": "gpt-4-32k", + "name": "gpt-4-32k" + }, + { + "label": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613" + }, { "label": "gpt-3.5-turbo", "name": "gpt-3.5-turbo" }, - { - "label": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301" - }, { "label": "gpt-3.5-turbo-0613", "name": "gpt-3.5-turbo-0613" + }, + { + "label": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k" + }, + { + "label": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613" } ], "default": "gpt-3.5-turbo", From 919d04930616c12065621f5acb01c7f4c33bb359 Mon Sep 17 00:00:00 2001 From: atilgner Date: Wed, 14 Jun 2023 12:09:31 -0700 Subject: [PATCH 06/10] fix: accidentally deleted html to text --- packages/components/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/components/package.json b/packages/components/package.json index 0aa161f8f..b0a581619 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -40,7 +40,8 @@ "pdf-parse": "^1.1.1", "puppeteer": "^20.7.1", "weaviate-ts-client": "^1.1.0", - "ws": "^8.9.0" + "ws": "^8.9.0", + "html-to-text": "^9.0.5" }, "devDependencies": { "@types/gulp": "4.0.9", From 74993dbca85f2697dac20620ea217e582dd432e1 Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Wed, 14 Jun 2023 23:38:25 +0100 Subject: [PATCH 07/10] Update bug_report.md --- .github/ISSUE_TEMPLATE/bug_report.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index b73185075..135312808 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -23,9 +23,13 @@ A clear and concise description of what you expected to happen. **Screenshots** If applicable, add screenshots to help explain your problem. -**Setup** +**Flow** +If applicable, add exported flow in order to help replicating the problem. -- OS: [e.g. iOS, Windows, Linux] +**Setup** +- Installation [e.g. docker, `npx flowise start`, `yarn start`] +- Flowise Version [e.g. 1.2.11] +- OS: [e.g. macOS, Windows, Linux] - Browser [e.g. chrome, safari] **Additional context** From 17318ad7bbeda768ea0b6a47dab59292f36a0888 Mon Sep 17 00:00:00 2001 From: Pravesh-mansharamani Date: Thu, 15 Jun 2023 07:27:07 +0530 Subject: [PATCH 08/10] Added the LatexTextSplitter --- .../LatexTextSplitter/LatexTextSplitter.ts | 52 +++++++++++++++++++ .../LatexTextSplitter/latexTextSplitter.svg | 6 +++ 2 files changed, 58 insertions(+) create mode 100644 packages/components/nodes/textsplitters/LatexTextSplitter/LatexTextSplitter.ts create mode 100644 packages/components/nodes/textsplitters/LatexTextSplitter/latexTextSplitter.svg diff --git a/packages/components/nodes/textsplitters/LatexTextSplitter/LatexTextSplitter.ts b/packages/components/nodes/textsplitters/LatexTextSplitter/LatexTextSplitter.ts new file mode 100644 index 000000000..d6568d078 --- /dev/null +++ b/packages/components/nodes/textsplitters/LatexTextSplitter/LatexTextSplitter.ts @@ -0,0 +1,52 @@ +import { INode, INodeData, INodeParams } from '../../../src/Interface' +import { getBaseClasses } from '../../../src/utils' +import { RecursiveCharacterTextSplitter, RecursiveCharacterTextSplitterParams } from 'langchain/text_splitter' + +class LatexTextSplitter_TextSplitters implements INode { + label: string + name: string + description: string + type: string + icon: string + category: string + baseClasses: string[] + inputs: INodeParams[] + constructor() { + this.label = 'Latex Text Splitter' + this.name = 'latexTextSplitter' + this.type = 'LatexTextSplitter' + this.icon = 'latexTextSplitter.svg' + this.category = 'Text Splitters' + this.description = `Split documents along Latex headings, headlines, enumerations and more.` + this.baseClasses = [this.type, ...getBaseClasses(RecursiveCharacterTextSplitter)] + this.inputs = [ + { + label: 'Chunk Size', + name: 'chunkSize', + type: 'number', + default: 1000, + optional: true + }, + { + label: 'Chunk Overlap', + name: 'chunkOverlap', + type: 'number', + optional: true + } + ] + } + async init(nodeData: INodeData): Promise { + const chunkSize = nodeData.inputs?.chunkSize as string + const chunkOverlap = nodeData.inputs?.chunkOverlap as string + + const obj = {} as RecursiveCharacterTextSplitterParams + + if (chunkSize) obj.chunkSize = parseInt(chunkSize, 10) + if (chunkOverlap) obj.chunkOverlap = parseInt(chunkOverlap, 10) + + const splitter = RecursiveCharacterTextSplitter.fromLanguage('latex', obj) + + return splitter + } +} +module.exports = { nodeClass: LatexTextSplitter_TextSplitters } diff --git a/packages/components/nodes/textsplitters/LatexTextSplitter/latexTextSplitter.svg b/packages/components/nodes/textsplitters/LatexTextSplitter/latexTextSplitter.svg new file mode 100644 index 000000000..ae9d89beb --- /dev/null +++ b/packages/components/nodes/textsplitters/LatexTextSplitter/latexTextSplitter.svg @@ -0,0 +1,6 @@ + + + + + + From b499d30774b5158a9ab9eaece35af027f14e4182 Mon Sep 17 00:00:00 2001 From: Pravesh-mansharamani Date: Thu, 15 Jun 2023 20:52:49 +0530 Subject: [PATCH 09/10] Added the Figma docs loader --- .../nodes/documentloaders/Figma/Figma.ts | 81 ++++++++++++++++++ .../nodes/documentloaders/Figma/figma.png | Bin 0 -> 176029 bytes 2 files changed, 81 insertions(+) create mode 100644 packages/components/nodes/documentloaders/Figma/Figma.ts create mode 100644 packages/components/nodes/documentloaders/Figma/figma.png diff --git a/packages/components/nodes/documentloaders/Figma/Figma.ts b/packages/components/nodes/documentloaders/Figma/Figma.ts new file mode 100644 index 000000000..480c834d7 --- /dev/null +++ b/packages/components/nodes/documentloaders/Figma/Figma.ts @@ -0,0 +1,81 @@ +import { INode, INodeData, INodeParams } from '../../../src/Interface'; +import { FigmaFileLoader, FigmaLoaderParams } from 'langchain/document_loaders/web/figma'; + +class Figma_DocumentLoaders implements INode { + label: string; + name: string; + description: string; + type: string; + icon: string; + category: string; + baseClasses: string[]; + inputs: INodeParams[]; + + constructor() { + this.label = 'Figma'; + this.name = 'figma'; + this.type = 'Document'; + this.icon = 'figma.png'; + this.category = 'Document Loaders'; + this.description = 'Load data from a Figma file'; + this.baseClasses = [this.type]; + this.inputs = [ + { + label: 'Access Token', + name: 'accessToken', + type: 'password', + placeholder: '', + }, + { + label: 'File Key', + name: 'fileKey', + type: 'string', + placeholder: 'key', + }, + { + label: 'Node IDs', + name: 'nodeIds', + type: 'string', + placeholder: '0, 1, 2', + }, + { + label: 'Recursive', + name: 'recursive', + type: 'boolean', + optional: true + }, + { + 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 accessToken = nodeData.inputs?.accessToken as string; + const nodeIds = (nodeData.inputs?.nodeIds as string)?.split(',') || []; + const fileKey = nodeData.inputs?.fileKey as string; + + const options: FigmaLoaderParams = { + accessToken, + nodeIds, + fileKey, + }; + + const loader = new FigmaFileLoader(options); + const docs = await loader.load(); + + return docs; + } +} + +module.exports = { nodeClass: Figma_DocumentLoaders }; diff --git a/packages/components/nodes/documentloaders/Figma/figma.png b/packages/components/nodes/documentloaders/Figma/figma.png new file mode 100644 index 0000000000000000000000000000000000000000..72372ddff0e6eec27448d24b10c46c987edf317d GIT binary patch literal 176029 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

?1A{3edV5r?d-vCR~^xf@Hu&y&T1 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 V5p|!MT;T}c;(o Date: Thu, 15 Jun 2023 21:00:19 +0530 Subject: [PATCH 10/10] fixed the prettier error --- .../nodes/documentloaders/Figma/Figma.ts | 144 +++++++++--------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/packages/components/nodes/documentloaders/Figma/Figma.ts b/packages/components/nodes/documentloaders/Figma/Figma.ts index 480c834d7..388c4ee05 100644 --- a/packages/components/nodes/documentloaders/Figma/Figma.ts +++ b/packages/components/nodes/documentloaders/Figma/Figma.ts @@ -1,81 +1,81 @@ -import { INode, INodeData, INodeParams } from '../../../src/Interface'; -import { FigmaFileLoader, FigmaLoaderParams } from 'langchain/document_loaders/web/figma'; +import { INode, INodeData, INodeParams } from '../../../src/Interface' +import { FigmaFileLoader, FigmaLoaderParams } from 'langchain/document_loaders/web/figma' class Figma_DocumentLoaders implements INode { - label: string; - name: string; - description: string; - type: string; - icon: string; - category: string; - baseClasses: string[]; - inputs: INodeParams[]; + label: string + name: string + description: string + type: string + icon: string + category: string + baseClasses: string[] + inputs: INodeParams[] - constructor() { - this.label = 'Figma'; - this.name = 'figma'; - this.type = 'Document'; - this.icon = 'figma.png'; - this.category = 'Document Loaders'; - this.description = 'Load data from a Figma file'; - this.baseClasses = [this.type]; - this.inputs = [ - { - label: 'Access Token', - name: 'accessToken', - type: 'password', - placeholder: '', - }, - { - label: 'File Key', - name: 'fileKey', - type: 'string', - placeholder: 'key', - }, - { - label: 'Node IDs', - name: 'nodeIds', - type: 'string', - placeholder: '0, 1, 2', - }, - { - label: 'Recursive', - name: 'recursive', - type: 'boolean', - optional: true - }, - { - label: 'Text Splitter', - name: 'textSplitter', - type: 'TextSplitter', - optional: true - }, - { - label: 'Metadata', - name: 'metadata', - type: 'json', - optional: true, - additionalParams: true - } - ]; - } + constructor() { + this.label = 'Figma' + this.name = 'figma' + this.type = 'Document' + this.icon = 'figma.png' + this.category = 'Document Loaders' + this.description = 'Load data from a Figma file' + this.baseClasses = [this.type] + this.inputs = [ + { + label: 'Access Token', + name: 'accessToken', + type: 'password', + placeholder: '' + }, + { + label: 'File Key', + name: 'fileKey', + type: 'string', + placeholder: 'key' + }, + { + label: 'Node IDs', + name: 'nodeIds', + type: 'string', + placeholder: '0, 1, 2' + }, + { + label: 'Recursive', + name: 'recursive', + type: 'boolean', + optional: true + }, + { + 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 accessToken = nodeData.inputs?.accessToken as string; - const nodeIds = (nodeData.inputs?.nodeIds as string)?.split(',') || []; - const fileKey = nodeData.inputs?.fileKey as string; + async init(nodeData: INodeData): Promise { + const accessToken = nodeData.inputs?.accessToken as string + const nodeIds = (nodeData.inputs?.nodeIds as string)?.split(',') || [] + const fileKey = nodeData.inputs?.fileKey as string - const options: FigmaLoaderParams = { - accessToken, - nodeIds, - fileKey, - }; + const options: FigmaLoaderParams = { + accessToken, + nodeIds, + fileKey + } - const loader = new FigmaFileLoader(options); - const docs = await loader.load(); + const loader = new FigmaFileLoader(options) + const docs = await loader.load() - return docs; - } + return docs + } } -module.exports = { nodeClass: Figma_DocumentLoaders }; +module.exports = { nodeClass: Figma_DocumentLoaders }