mirror of
https://github.com/farcasclaudiu/Flowise.git
synced 2026-06-28 17:01:00 +03:00
Feature/seq agents (#2798)
* update build functions * sequential agents * update langchain to 0.2, added sequential agent nodes * add marketplace templates * update howto wordings * Merge branch 'main' into feature/Seq-Agents # Conflicts: # pnpm-lock.yaml * update deprecated functions and add new sequential nodes * add marketplace templates * update marketplace templates, add structured output to llm node * add multi agents template * update llm node with bindmodels * update cypress version * update templates sticky note wordings * update tool node to include human in loop action * update structured outputs error from models * update cohere package to resolve google genai pipeThrough bug * update mistral package version, added message reconstruction before invoke seq agent * add HITL to agent * update state messages restructuring * update load and split methods for s3 directory
This commit is contained in:
@@ -123,7 +123,8 @@ class API_DocumentLoaders implements INode {
|
||||
let docs: IDocument[] = []
|
||||
|
||||
if (textSplitter) {
|
||||
docs = await loader.loadAndSplit(textSplitter)
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
@@ -153,7 +153,8 @@ class Airtable_DocumentLoaders implements INode {
|
||||
let docs: IDocument[] = []
|
||||
|
||||
if (textSplitter) {
|
||||
docs = await loader.loadAndSplit(textSplitter)
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
+3
-2
@@ -2,7 +2,7 @@ import { omit } from 'lodash'
|
||||
import { INode, INodeData, INodeParams, ICommonObject } from '../../../src/Interface'
|
||||
import { getCredentialData, getCredentialParam } from '../../../src/utils'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { ApifyDatasetLoader } from 'langchain/document_loaders/web/apify_dataset'
|
||||
import { ApifyDatasetLoader } from '@langchain/community/document_loaders/web/apify_dataset'
|
||||
import { Document } from '@langchain/core/documents'
|
||||
|
||||
class ApifyWebsiteContentCrawler_DocumentLoaders implements INode {
|
||||
@@ -165,7 +165,8 @@ class ApifyWebsiteContentCrawler_DocumentLoaders implements INode {
|
||||
let docs = []
|
||||
|
||||
if (textSplitter) {
|
||||
docs = await loader.loadAndSplit(textSplitter)
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { omit } from 'lodash'
|
||||
import { CheerioWebBaseLoader, WebBaseLoaderParams } from 'langchain/document_loaders/web/cheerio'
|
||||
import { CheerioWebBaseLoader, WebBaseLoaderParams } from '@langchain/community/document_loaders/web/cheerio'
|
||||
import { test } from 'linkifyjs'
|
||||
import { parse } from 'css-what'
|
||||
import { webCrawl, xmlScrape } from '../../../src'
|
||||
@@ -138,7 +138,8 @@ class Cheerio_DocumentLoaders implements INode {
|
||||
}
|
||||
const loader = new CheerioWebBaseLoader(url, params)
|
||||
if (textSplitter) {
|
||||
docs = await loader.loadAndSplit(textSplitter)
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { omit } from 'lodash'
|
||||
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { ConfluencePagesLoader, ConfluencePagesLoaderParams } from 'langchain/document_loaders/web/confluence'
|
||||
import { ConfluencePagesLoader, ConfluencePagesLoaderParams } from '@langchain/community/document_loaders/web/confluence'
|
||||
import { getCredentialData, getCredentialParam } from '../../../src'
|
||||
|
||||
class Confluence_DocumentLoaders implements INode {
|
||||
@@ -119,7 +119,8 @@ class Confluence_DocumentLoaders implements INode {
|
||||
let docs = []
|
||||
|
||||
if (textSplitter) {
|
||||
docs = await loader.loadAndSplit(textSplitter)
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { omit } from 'lodash'
|
||||
import { ICommonObject, IDocument, INode, INodeData, INodeOutputsValue, INodeParams } from '../../../src/Interface'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { CSVLoader } from 'langchain/document_loaders/fs/csv'
|
||||
import { CSVLoader } from '@langchain/community/document_loaders/fs/csv'
|
||||
import { getFileFromStorage, handleEscapeCharacters } from '../../../src'
|
||||
|
||||
class Csv_DocumentLoaders implements INode {
|
||||
@@ -113,7 +113,8 @@ class Csv_DocumentLoaders implements INode {
|
||||
const loader = new CSVLoader(blob, columnName.trim().length === 0 ? undefined : columnName.trim())
|
||||
|
||||
if (textSplitter) {
|
||||
docs.push(...(await loader.loadAndSplit(textSplitter)))
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs.push(...(await loader.load()))
|
||||
}
|
||||
@@ -133,7 +134,8 @@ class Csv_DocumentLoaders implements INode {
|
||||
const loader = new CSVLoader(blob, columnName.trim().length === 0 ? undefined : columnName.trim())
|
||||
|
||||
if (textSplitter) {
|
||||
docs.push(...(await loader.loadAndSplit(textSplitter)))
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs.push(...(await loader.load()))
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { omit } from 'lodash'
|
||||
import { ICommonObject, IDocument, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { DocxLoader } from 'langchain/document_loaders/fs/docx'
|
||||
import { DocxLoader } from '@langchain/community/document_loaders/fs/docx'
|
||||
import { getFileFromStorage } from '../../../src'
|
||||
|
||||
class Docx_DocumentLoaders implements INode {
|
||||
@@ -88,7 +88,9 @@ class Docx_DocumentLoaders implements INode {
|
||||
const loader = new DocxLoader(blob)
|
||||
|
||||
if (textSplitter) {
|
||||
docs.push(...(await loader.loadAndSplit(textSplitter)))
|
||||
let splittedDocs = await loader.load()
|
||||
splittedDocs = await textSplitter.splitDocuments(splittedDocs)
|
||||
docs.push(...splittedDocs)
|
||||
} else {
|
||||
docs.push(...(await loader.load()))
|
||||
}
|
||||
@@ -108,7 +110,9 @@ class Docx_DocumentLoaders implements INode {
|
||||
const loader = new DocxLoader(blob)
|
||||
|
||||
if (textSplitter) {
|
||||
docs.push(...(await loader.loadAndSplit(textSplitter)))
|
||||
let splittedDocs = await loader.load()
|
||||
splittedDocs = await textSplitter.splitDocuments(splittedDocs)
|
||||
docs.push(...splittedDocs)
|
||||
} else {
|
||||
docs.push(...(await loader.load()))
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { omit } from 'lodash'
|
||||
import { getCredentialData, getCredentialParam } from '../../../src'
|
||||
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { FigmaFileLoader, FigmaLoaderParams } from 'langchain/document_loaders/web/figma'
|
||||
import { ICommonObject, IDocument, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { FigmaFileLoader, FigmaLoaderParams } from '@langchain/community/document_loaders/web/figma'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
|
||||
class Figma_DocumentLoaders implements INode {
|
||||
@@ -105,7 +105,14 @@ class Figma_DocumentLoaders implements INode {
|
||||
|
||||
const loader = new FigmaFileLoader(figmaOptions)
|
||||
|
||||
let docs = textSplitter ? await loader.loadAndSplit() : await loader.load()
|
||||
let docs: IDocument[] = []
|
||||
|
||||
if (textSplitter) {
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
if (metadata) {
|
||||
const parsedMetadata = typeof metadata === 'object' ? metadata : JSON.parse(metadata)
|
||||
|
||||
@@ -4,9 +4,9 @@ import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { TextLoader } from 'langchain/document_loaders/fs/text'
|
||||
import { DirectoryLoader } from 'langchain/document_loaders/fs/directory'
|
||||
import { JSONLoader } from 'langchain/document_loaders/fs/json'
|
||||
import { CSVLoader } from 'langchain/document_loaders/fs/csv'
|
||||
import { PDFLoader } from 'langchain/document_loaders/fs/pdf'
|
||||
import { DocxLoader } from 'langchain/document_loaders/fs/docx'
|
||||
import { CSVLoader } from '@langchain/community/document_loaders/fs/csv'
|
||||
import { PDFLoader } from '@langchain/community/document_loaders/fs/pdf'
|
||||
import { DocxLoader } from '@langchain/community/document_loaders/fs/docx'
|
||||
|
||||
class Folder_DocumentLoaders implements INode {
|
||||
label: string
|
||||
@@ -153,7 +153,8 @@ class Folder_DocumentLoaders implements INode {
|
||||
let docs = []
|
||||
|
||||
if (textSplitter) {
|
||||
docs = await loader.loadAndSplit(textSplitter)
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { omit } from 'lodash'
|
||||
import { INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { IDocument, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { GitbookLoader } from 'langchain/document_loaders/web/gitbook'
|
||||
import { GitbookLoader } from '@langchain/community/document_loaders/web/gitbook'
|
||||
|
||||
class Gitbook_DocumentLoaders implements INode {
|
||||
label: string
|
||||
@@ -79,7 +79,14 @@ class Gitbook_DocumentLoaders implements INode {
|
||||
|
||||
const loader = shouldLoadAllPaths ? new GitbookLoader(webPath, { shouldLoadAllPaths }) : new GitbookLoader(webPath)
|
||||
|
||||
let docs = textSplitter ? await loader.loadAndSplit() : await loader.load()
|
||||
let docs: IDocument[] = []
|
||||
|
||||
if (textSplitter) {
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
if (metadata) {
|
||||
const parsedMetadata = typeof metadata === 'object' ? metadata : JSON.parse(metadata)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { omit } from 'lodash'
|
||||
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { ICommonObject, IDocument, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { GithubRepoLoader, GithubRepoLoaderParams } from 'langchain/document_loaders/web/github'
|
||||
import { GithubRepoLoader, GithubRepoLoaderParams } from '@langchain/community/document_loaders/web/github'
|
||||
import { getCredentialData, getCredentialParam } from '../../../src'
|
||||
|
||||
class Github_DocumentLoaders implements INode {
|
||||
@@ -139,7 +139,15 @@ class Github_DocumentLoaders implements INode {
|
||||
if (ignorePath) githubOptions.ignorePaths = JSON.parse(ignorePath)
|
||||
|
||||
const loader = new GithubRepoLoader(repoLink, githubOptions)
|
||||
let docs = textSplitter ? await loader.loadAndSplit(textSplitter) : await loader.load()
|
||||
|
||||
let docs: IDocument[] = []
|
||||
|
||||
if (textSplitter) {
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
if (metadata) {
|
||||
const parsedMetadata = typeof metadata === 'object' ? metadata : JSON.parse(metadata)
|
||||
|
||||
@@ -104,7 +104,9 @@ class Json_DocumentLoaders implements INode {
|
||||
const loader = new JSONLoader(blob, pointers.length != 0 ? pointers : undefined)
|
||||
|
||||
if (textSplitter) {
|
||||
docs.push(...(await loader.loadAndSplit(textSplitter)))
|
||||
let splittedDocs = await loader.load()
|
||||
splittedDocs = await textSplitter.splitDocuments(splittedDocs)
|
||||
docs.push(...splittedDocs)
|
||||
} else {
|
||||
docs.push(...(await loader.load()))
|
||||
}
|
||||
@@ -124,7 +126,9 @@ class Json_DocumentLoaders implements INode {
|
||||
const loader = new JSONLoader(blob, pointers.length != 0 ? pointers : undefined)
|
||||
|
||||
if (textSplitter) {
|
||||
docs.push(...(await loader.loadAndSplit(textSplitter)))
|
||||
let splittedDocs = await loader.load()
|
||||
splittedDocs = await textSplitter.splitDocuments(splittedDocs)
|
||||
docs.push(...splittedDocs)
|
||||
} else {
|
||||
docs.push(...(await loader.load()))
|
||||
}
|
||||
|
||||
@@ -98,7 +98,9 @@ class Jsonlines_DocumentLoaders implements INode {
|
||||
const loader = new JSONLinesLoader(blob, pointer)
|
||||
|
||||
if (textSplitter) {
|
||||
docs.push(...(await loader.loadAndSplit(textSplitter)))
|
||||
let splittedDocs = await loader.load()
|
||||
splittedDocs = await textSplitter.splitDocuments(splittedDocs)
|
||||
docs.push(...splittedDocs)
|
||||
} else {
|
||||
docs.push(...(await loader.load()))
|
||||
}
|
||||
@@ -118,7 +120,9 @@ class Jsonlines_DocumentLoaders implements INode {
|
||||
const loader = new JSONLinesLoader(blob, pointer)
|
||||
|
||||
if (textSplitter) {
|
||||
docs.push(...(await loader.loadAndSplit(textSplitter)))
|
||||
let splittedDocs = await loader.load()
|
||||
splittedDocs = await textSplitter.splitDocuments(splittedDocs)
|
||||
docs.push(...splittedDocs)
|
||||
} else {
|
||||
docs.push(...(await loader.load()))
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { omit } from 'lodash'
|
||||
import { ICommonObject, IDocument, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { NotionAPILoader, NotionAPILoaderOptions } from 'langchain/document_loaders/web/notionapi'
|
||||
import { NotionAPILoader, NotionAPILoaderOptions } from '@langchain/community/document_loaders/web/notionapi'
|
||||
import { getCredentialData, getCredentialParam } from '../../../src'
|
||||
|
||||
class NotionDB_DocumentLoaders implements INode {
|
||||
@@ -95,7 +95,8 @@ class NotionDB_DocumentLoaders implements INode {
|
||||
|
||||
let docs: IDocument[] = []
|
||||
if (textSplitter) {
|
||||
docs = await loader.loadAndSplit(textSplitter)
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { omit } from 'lodash'
|
||||
import { IDocument, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { NotionLoader } from 'langchain/document_loaders/fs/notion'
|
||||
import { NotionLoader } from '@langchain/community/document_loaders/fs/notion'
|
||||
|
||||
class NotionFolder_DocumentLoaders implements INode {
|
||||
label: string
|
||||
@@ -74,7 +74,8 @@ class NotionFolder_DocumentLoaders implements INode {
|
||||
let docs: IDocument[] = []
|
||||
|
||||
if (textSplitter) {
|
||||
docs = await loader.loadAndSplit(textSplitter)
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { omit } from 'lodash'
|
||||
import { ICommonObject, IDocument, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { NotionAPILoader, NotionAPILoaderOptions } from 'langchain/document_loaders/web/notionapi'
|
||||
import { NotionAPILoader, NotionAPILoaderOptions } from '@langchain/community/document_loaders/web/notionapi'
|
||||
import { getCredentialData, getCredentialParam } from '../../../src'
|
||||
|
||||
class NotionPage_DocumentLoaders implements INode {
|
||||
@@ -92,7 +92,8 @@ class NotionPage_DocumentLoaders implements INode {
|
||||
|
||||
let docs: IDocument[] = []
|
||||
if (textSplitter) {
|
||||
docs = await loader.loadAndSplit(textSplitter)
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { omit } from 'lodash'
|
||||
import { IDocument, ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { PDFLoader } from 'langchain/document_loaders/fs/pdf'
|
||||
import { PDFLoader } from '@langchain/community/document_loaders/fs/pdf'
|
||||
import { getFileFromStorage } from '../../../src'
|
||||
|
||||
class Pdf_DocumentLoaders implements INode {
|
||||
@@ -172,7 +172,9 @@ class Pdf_DocumentLoaders implements INode {
|
||||
legacyBuild ? import('pdfjs-dist/legacy/build/pdf.js') : import('pdf-parse/lib/pdf.js/v1.10.100/build/pdf.js')
|
||||
})
|
||||
if (textSplitter) {
|
||||
docs.push(...(await loader.loadAndSplit(textSplitter)))
|
||||
let splittedDocs = await loader.load()
|
||||
splittedDocs = await textSplitter.splitDocuments(splittedDocs)
|
||||
docs.push(...splittedDocs)
|
||||
} else {
|
||||
docs.push(...(await loader.load()))
|
||||
}
|
||||
@@ -183,7 +185,9 @@ class Pdf_DocumentLoaders implements INode {
|
||||
legacyBuild ? import('pdfjs-dist/legacy/build/pdf.js') : import('pdf-parse/lib/pdf.js/v1.10.100/build/pdf.js')
|
||||
})
|
||||
if (textSplitter) {
|
||||
docs.push(...(await loader.loadAndSplit(textSplitter)))
|
||||
let splittedDocs = await loader.load()
|
||||
splittedDocs = await textSplitter.splitDocuments(splittedDocs)
|
||||
docs.push(...splittedDocs)
|
||||
} else {
|
||||
docs.push(...(await loader.load()))
|
||||
}
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
import { omit } from 'lodash'
|
||||
import { ICommonObject, IDocument, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { Browser, Page, PlaywrightWebBaseLoader, PlaywrightWebBaseLoaderOptions } from 'langchain/document_loaders/web/playwright'
|
||||
import {
|
||||
Browser,
|
||||
Page,
|
||||
PlaywrightWebBaseLoader,
|
||||
PlaywrightWebBaseLoaderOptions
|
||||
} from '@langchain/community/document_loaders/web/playwright'
|
||||
import { test } from 'linkifyjs'
|
||||
import { webCrawl, xmlScrape } from '../../../src'
|
||||
|
||||
@@ -174,7 +179,8 @@ class Playwright_DocumentLoaders implements INode {
|
||||
}
|
||||
const loader = new PlaywrightWebBaseLoader(url, config)
|
||||
if (textSplitter) {
|
||||
docs = await loader.loadAndSplit(textSplitter)
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { omit } from 'lodash'
|
||||
import { ICommonObject, IDocument, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { Browser, Page, PuppeteerWebBaseLoader, PuppeteerWebBaseLoaderOptions } from 'langchain/document_loaders/web/puppeteer'
|
||||
import { Browser, Page, PuppeteerWebBaseLoader, PuppeteerWebBaseLoaderOptions } from '@langchain/community/document_loaders/web/puppeteer'
|
||||
import { test } from 'linkifyjs'
|
||||
import { webCrawl, xmlScrape } from '../../../src'
|
||||
import { PuppeteerLifeCycleEvent } from 'puppeteer'
|
||||
@@ -175,7 +175,8 @@ class Puppeteer_DocumentLoaders implements INode {
|
||||
}
|
||||
const loader = new PuppeteerWebBaseLoader(url, config)
|
||||
if (textSplitter) {
|
||||
docs = await loader.loadAndSplit(textSplitter)
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
@@ -271,7 +271,9 @@ class S3_DocumentLoaders implements INode {
|
||||
let docs = []
|
||||
|
||||
if (textSplitter) {
|
||||
docs = await loader.loadAndSplit(textSplitter)
|
||||
let splittedDocs = await loader.load()
|
||||
splittedDocs = await textSplitter.splitDocuments(splittedDocs)
|
||||
docs.push(...splittedDocs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import { omit } from 'lodash'
|
||||
import { ICommonObject, INode, INodeData, INodeOptionsValue, INodeParams } from '../../../src/Interface'
|
||||
import { S3Loader } from 'langchain/document_loaders/web/s3'
|
||||
import { S3Loader } from '@langchain/community/document_loaders/web/s3'
|
||||
import {
|
||||
UnstructuredLoader,
|
||||
UnstructuredLoaderOptions,
|
||||
UnstructuredLoaderStrategy,
|
||||
SkipInferTableTypes,
|
||||
HiResModelName
|
||||
} from 'langchain/document_loaders/fs/unstructured'
|
||||
} from '@langchain/community/document_loaders/fs/unstructured'
|
||||
import { getCredentialData, getCredentialParam } from '../../../src/utils'
|
||||
import { S3Client, GetObjectCommand, S3ClientConfig } from '@aws-sdk/client-s3'
|
||||
import { getRegions, MODEL_TYPE } from '../../../src/modelLoader'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { omit } from 'lodash'
|
||||
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { ICommonObject, IDocument, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { SearchApiLoader } from 'langchain/document_loaders/web/searchapi'
|
||||
import { SearchApiLoader } from '@langchain/community/document_loaders/web/searchapi'
|
||||
import { getCredentialData, getCredentialParam } from '../../../src'
|
||||
|
||||
// Provides access to multiple search engines using the SearchApi.
|
||||
@@ -106,7 +106,13 @@ class SearchAPI_DocumentLoaders implements INode {
|
||||
const loader = new SearchApiLoader(loaderConfig)
|
||||
|
||||
// Fetch documents, split if a text splitter is provided
|
||||
let docs = textSplitter ? await loader.loadAndSplit() : await loader.load()
|
||||
let docs: IDocument[] = []
|
||||
if (textSplitter) {
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
if (metadata) {
|
||||
const parsedMetadata = typeof metadata === 'object' ? metadata : JSON.parse(metadata)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { omit } from 'lodash'
|
||||
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { ICommonObject, IDocument, INode, INodeData, INodeParams } from '../../../src/Interface'
|
||||
import { TextSplitter } from 'langchain/text_splitter'
|
||||
import { SerpAPILoader } from 'langchain/document_loaders/web/serpapi'
|
||||
import { SerpAPILoader } from '@langchain/community/document_loaders/web/serpapi'
|
||||
import { getCredentialData, getCredentialParam } from '../../../src'
|
||||
|
||||
class SerpAPI_DocumentLoaders implements INode {
|
||||
@@ -80,7 +80,14 @@ class SerpAPI_DocumentLoaders implements INode {
|
||||
const credentialData = await getCredentialData(nodeData.credential ?? '', options)
|
||||
const serpApiKey = getCredentialParam('serpApiKey', credentialData, nodeData)
|
||||
const loader = new SerpAPILoader({ q: query, apiKey: serpApiKey })
|
||||
let docs = textSplitter ? await loader.loadAndSplit() : await loader.load()
|
||||
|
||||
let docs: IDocument[] = []
|
||||
if (textSplitter) {
|
||||
docs = await loader.load()
|
||||
docs = await textSplitter.splitDocuments(docs)
|
||||
} else {
|
||||
docs = await loader.load()
|
||||
}
|
||||
|
||||
if (metadata) {
|
||||
const parsedMetadata = typeof metadata === 'object' ? metadata : JSON.parse(metadata)
|
||||
|
||||
@@ -106,7 +106,9 @@ class Text_DocumentLoaders implements INode {
|
||||
const loader = new TextLoader(blob)
|
||||
|
||||
if (textSplitter) {
|
||||
docs.push(...(await loader.loadAndSplit(textSplitter)))
|
||||
let splittedDocs = await loader.load()
|
||||
splittedDocs = await textSplitter.splitDocuments(splittedDocs)
|
||||
docs.push(...splittedDocs)
|
||||
} else {
|
||||
docs.push(...(await loader.load()))
|
||||
}
|
||||
@@ -126,7 +128,9 @@ class Text_DocumentLoaders implements INode {
|
||||
const loader = new TextLoader(blob)
|
||||
|
||||
if (textSplitter) {
|
||||
docs.push(...(await loader.loadAndSplit(textSplitter)))
|
||||
let splittedDocs = await loader.load()
|
||||
splittedDocs = await textSplitter.splitDocuments(splittedDocs)
|
||||
docs.push(...splittedDocs)
|
||||
} else {
|
||||
docs.push(...(await loader.load()))
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import {
|
||||
SkipInferTableTypes,
|
||||
UnstructuredLoaderOptions,
|
||||
UnstructuredLoaderStrategy
|
||||
} from 'langchain/document_loaders/fs/unstructured'
|
||||
} from '@langchain/community/document_loaders/fs/unstructured'
|
||||
import { BaseDocumentLoader } from 'langchain/document_loaders/base'
|
||||
import { StringWithAutocomplete } from 'langchain/dist/util/types'
|
||||
import { Document } from '@langchain/core/documents'
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
SkipInferTableTypes,
|
||||
HiResModelName,
|
||||
UnstructuredLoader as LCUnstructuredLoader
|
||||
} from 'langchain/document_loaders/fs/unstructured'
|
||||
} from '@langchain/community/document_loaders/fs/unstructured'
|
||||
import { getCredentialData, getCredentialParam } from '../../../src/utils'
|
||||
import { getFileFromStorage } from '../../../src'
|
||||
import { UnstructuredLoader } from './Unstructured'
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
UnstructuredLoaderStrategy,
|
||||
SkipInferTableTypes,
|
||||
HiResModelName
|
||||
} from 'langchain/document_loaders/fs/unstructured'
|
||||
} from '@langchain/community/document_loaders/fs/unstructured'
|
||||
import { getCredentialData, getCredentialParam } from '../../../src/utils'
|
||||
|
||||
class UnstructuredFolder_DocumentLoaders implements INode {
|
||||
|
||||
Reference in New Issue
Block a user