From 1d1bd4f5562a34f91ca0bb390ee08f4337e420cb Mon Sep 17 00:00:00 2001 From: vinodkiran Date: Sun, 10 Dec 2023 22:38:18 +0530 Subject: [PATCH 01/58] Environment Variables: Dashboard along with CRUD Operations on variables. --- packages/server/src/Interface.ts | 9 + .../server/src/database/entities/Variable.ts | 25 ++ .../server/src/database/entities/index.ts | 4 +- .../mysql/1702200925471-AddVariableEntity.ts | 21 ++ .../src/database/migrations/mysql/index.ts | 4 +- .../1702200925471-AddVariableEntity.ts | 21 ++ .../src/database/migrations/postgres/index.ts | 4 +- .../sqlite/1702200925471-AddVariableEntity.ts | 13 + .../src/database/migrations/sqlite/index.ts | 4 +- packages/server/src/index.ts | 42 +++ packages/ui/src/api/variables.js | 16 + packages/ui/src/menu-items/dashboard.js | 12 +- packages/ui/src/routes/MainRoutes.js | 7 + .../views/variables/AddEditVariableDialog.js | 265 +++++++++++++++ packages/ui/src/views/variables/index.js | 301 ++++++++++++++++++ 15 files changed, 742 insertions(+), 6 deletions(-) create mode 100644 packages/server/src/database/entities/Variable.ts create mode 100644 packages/server/src/database/migrations/mysql/1702200925471-AddVariableEntity.ts create mode 100644 packages/server/src/database/migrations/postgres/1702200925471-AddVariableEntity.ts create mode 100644 packages/server/src/database/migrations/sqlite/1702200925471-AddVariableEntity.ts create mode 100644 packages/ui/src/api/variables.js create mode 100644 packages/ui/src/views/variables/AddEditVariableDialog.js create mode 100644 packages/ui/src/views/variables/index.js diff --git a/packages/server/src/Interface.ts b/packages/server/src/Interface.ts index f82c6690..126aac38 100644 --- a/packages/server/src/Interface.ts +++ b/packages/server/src/Interface.ts @@ -68,6 +68,15 @@ export interface ICredential { createdDate: Date } +export interface IVariable { + id: string + name: string + value: string + type: string + updatedDate: Date + createdDate: Date +} + export interface IComponentNodes { [key: string]: INode } diff --git a/packages/server/src/database/entities/Variable.ts b/packages/server/src/database/entities/Variable.ts new file mode 100644 index 00000000..88e0587d --- /dev/null +++ b/packages/server/src/database/entities/Variable.ts @@ -0,0 +1,25 @@ +/* eslint-disable */ +import { Entity, Column, CreateDateColumn, UpdateDateColumn, PrimaryGeneratedColumn } from 'typeorm' +import { IVariable } from "../../Interface"; + +@Entity() +export class Variable implements IVariable{ + @PrimaryGeneratedColumn('uuid') + id: string + + @Column() + name: string + + @Column({ nullable: true, type: 'text' }) + value: string + + @Column({default: 'string', type: 'text'}) + type: string + + + @CreateDateColumn() + createdDate: Date + + @UpdateDateColumn() + updatedDate: Date +} diff --git a/packages/server/src/database/entities/index.ts b/packages/server/src/database/entities/index.ts index 58447a1f..af5c559f 100644 --- a/packages/server/src/database/entities/index.ts +++ b/packages/server/src/database/entities/index.ts @@ -3,11 +3,13 @@ import { ChatMessage } from './ChatMessage' import { Credential } from './Credential' import { Tool } from './Tool' import { Assistant } from './Assistant' +import { Variable } from './Variable' export const entities = { ChatFlow, ChatMessage, Credential, Tool, - Assistant + Assistant, + Variable } diff --git a/packages/server/src/database/migrations/mysql/1702200925471-AddVariableEntity.ts b/packages/server/src/database/migrations/mysql/1702200925471-AddVariableEntity.ts new file mode 100644 index 00000000..a6c81887 --- /dev/null +++ b/packages/server/src/database/migrations/mysql/1702200925471-AddVariableEntity.ts @@ -0,0 +1,21 @@ +import { MigrationInterface, QueryRunner } from 'typeorm' + +export class AddVariableEntity1699325775451 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TABLE IF NOT EXISTS \`variable\` ( + \`id\` varchar(36) NOT NULL, + \`name\` varchar(255) NOT NULL, + \`value\` text NOT NULL, + \`type\` varchar(255) DEFAULT NULL, + \`createdDate\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), + \`updatedDate\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), + PRIMARY KEY (\`id\`) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;` + ) + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP TABLE variable`) + } +} diff --git a/packages/server/src/database/migrations/mysql/index.ts b/packages/server/src/database/migrations/mysql/index.ts index 8f9824a8..a5220ad8 100644 --- a/packages/server/src/database/migrations/mysql/index.ts +++ b/packages/server/src/database/migrations/mysql/index.ts @@ -10,6 +10,7 @@ import { AddAssistantEntity1699325775451 } from './1699325775451-AddAssistantEnt import { AddUsedToolsToChatMessage1699481607341 } from './1699481607341-AddUsedToolsToChatMessage' import { AddCategoryToChatFlow1699900910291 } from './1699900910291-AddCategoryToChatFlow' import { AddFileAnnotationsToChatMessage1700271021237 } from './1700271021237-AddFileAnnotationsToChatMessage' +import { AddVariableEntity1699325775451 } from './1702200925471-AddVariableEntity' export const mysqlMigrations = [ Init1693840429259, @@ -23,5 +24,6 @@ export const mysqlMigrations = [ AddAssistantEntity1699325775451, AddUsedToolsToChatMessage1699481607341, AddCategoryToChatFlow1699900910291, - AddFileAnnotationsToChatMessage1700271021237 + AddFileAnnotationsToChatMessage1700271021237, + AddVariableEntity1699325775451 ] diff --git a/packages/server/src/database/migrations/postgres/1702200925471-AddVariableEntity.ts b/packages/server/src/database/migrations/postgres/1702200925471-AddVariableEntity.ts new file mode 100644 index 00000000..d4a1d7be --- /dev/null +++ b/packages/server/src/database/migrations/postgres/1702200925471-AddVariableEntity.ts @@ -0,0 +1,21 @@ +import { MigrationInterface, QueryRunner } from 'typeorm' + +export class AddVariableEntity1699325775451 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TABLE IF NOT EXISTS variable ( + id uuid NOT NULL DEFAULT uuid_generate_v4(), + "name" varchar NOT NULL, + "value" text NOT NULL, + "type" text NULL, + "createdDate" timestamp NOT NULL DEFAULT now(), + "updatedDate" timestamp NOT NULL DEFAULT now(), + CONSTRAINT "PK_3c7cea7a044ac4c92764576cdbf" PRIMARY KEY (id) + );` + ) + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP TABLE variable`) + } +} diff --git a/packages/server/src/database/migrations/postgres/index.ts b/packages/server/src/database/migrations/postgres/index.ts index d196fbc1..3c3fa396 100644 --- a/packages/server/src/database/migrations/postgres/index.ts +++ b/packages/server/src/database/migrations/postgres/index.ts @@ -10,6 +10,7 @@ import { AddAssistantEntity1699325775451 } from './1699325775451-AddAssistantEnt import { AddUsedToolsToChatMessage1699481607341 } from './1699481607341-AddUsedToolsToChatMessage' import { AddCategoryToChatFlow1699900910291 } from './1699900910291-AddCategoryToChatFlow' import { AddFileAnnotationsToChatMessage1700271021237 } from './1700271021237-AddFileAnnotationsToChatMessage' +import { AddVariableEntity1699325775451 } from './1702200925471-AddVariableEntity' export const postgresMigrations = [ Init1693891895163, @@ -23,5 +24,6 @@ export const postgresMigrations = [ AddAssistantEntity1699325775451, AddUsedToolsToChatMessage1699481607341, AddCategoryToChatFlow1699900910291, - AddFileAnnotationsToChatMessage1700271021237 + AddFileAnnotationsToChatMessage1700271021237, + AddVariableEntity1699325775451 ] diff --git a/packages/server/src/database/migrations/sqlite/1702200925471-AddVariableEntity.ts b/packages/server/src/database/migrations/sqlite/1702200925471-AddVariableEntity.ts new file mode 100644 index 00000000..63ec709f --- /dev/null +++ b/packages/server/src/database/migrations/sqlite/1702200925471-AddVariableEntity.ts @@ -0,0 +1,13 @@ +import { MigrationInterface, QueryRunner } from 'typeorm' + +export class AddVariableEntity1699325775451 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TABLE IF NOT EXISTS "variable" ("id" varchar PRIMARY KEY NOT NULL, "name" text NOT NULL, "value" text NOT NULL, "type" varchar, "createdDate" datetime NOT NULL DEFAULT (datetime('now')), "updatedDate" datetime NOT NULL DEFAULT (datetime('now')));` + ) + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP TABLE variable`) + } +} diff --git a/packages/server/src/database/migrations/sqlite/index.ts b/packages/server/src/database/migrations/sqlite/index.ts index fdd83064..c0ade080 100644 --- a/packages/server/src/database/migrations/sqlite/index.ts +++ b/packages/server/src/database/migrations/sqlite/index.ts @@ -10,6 +10,7 @@ import { AddAssistantEntity1699325775451 } from './1699325775451-AddAssistantEnt import { AddUsedToolsToChatMessage1699481607341 } from './1699481607341-AddUsedToolsToChatMessage' import { AddCategoryToChatFlow1699900910291 } from './1699900910291-AddCategoryToChatFlow' import { AddFileAnnotationsToChatMessage1700271021237 } from './1700271021237-AddFileAnnotationsToChatMessage' +import { AddVariableEntity1699325775451 } from './1702200925471-AddVariableEntity' export const sqliteMigrations = [ Init1693835579790, @@ -23,5 +24,6 @@ export const sqliteMigrations = [ AddAssistantEntity1699325775451, AddUsedToolsToChatMessage1699481607341, AddCategoryToChatFlow1699900910291, - AddFileAnnotationsToChatMessage1700271021237 + AddFileAnnotationsToChatMessage1700271021237, + AddVariableEntity1699325775451 ] diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 2ab454ad..2b4e6436 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -62,6 +62,7 @@ import { sanitizeMiddleware } from './utils/XSS' import axios from 'axios' import { Client } from 'langchainhub' import { parsePrompt } from './utils/hub' +import { Variable } from "./database/entities/Variable"; export class App { app: express.Application @@ -1150,6 +1151,47 @@ export class App { return res.json(templates) }) + // ---------------------------------------- + // Variables + // ---------------------------------------- + this.app.get('/api/v1/variables', async (req: Request, res: Response) => { + const variables = await getDataSource().getRepository(Variable).find() + return res.json(variables) + }) + + // Create new variable + this.app.post('/api/v1/variables', async (req: Request, res: Response) => { + const body = req.body + const newVariable = new Variable() + Object.assign(newVariable, body) + const variable = this.AppDataSource.getRepository(Variable).create(newVariable) + const results = await this.AppDataSource.getRepository(Variable).save(variable) + return res.json(results) + }) + + // Update variable + this.app.put('/api/v1/variables/:id', async (req: Request, res: Response) => { + const variable = await this.AppDataSource.getRepository(Variable).findOneBy({ + id: req.params.id + }) + + if (!variable) return res.status(404).send(`Variable ${req.params.id} not found`) + + const body = req.body + const updateVariable = new Variable() + Object.assign(updateVariable, body) + this.AppDataSource.getRepository(Variable).merge(variable, updateVariable) + const result = await this.AppDataSource.getRepository(Variable).save(variable) + + return res.json(result) + }) + + // Delete variable via id + this.app.delete('/api/v1/variables/:id', async (req: Request, res: Response) => { + const results = await this.AppDataSource.getRepository(Variable).delete({ id: req.params.id }) + return res.json(results) + }) + // ---------------------------------------- // API Keys // ---------------------------------------- diff --git a/packages/ui/src/api/variables.js b/packages/ui/src/api/variables.js new file mode 100644 index 00000000..944b8319 --- /dev/null +++ b/packages/ui/src/api/variables.js @@ -0,0 +1,16 @@ +import client from './client' + +const getAllVariables = () => client.get('/variables') + +const createVariable = (body) => client.post(`/variables`, body) + +const updateVariable = (id, body) => client.put(`/variables/${id}`, body) + +const deleteVariable = (id) => client.delete(`/variables/${id}`) + +export default { + getAllVariables, + createVariable, + updateVariable, + deleteVariable +} diff --git a/packages/ui/src/menu-items/dashboard.js b/packages/ui/src/menu-items/dashboard.js index 8bf5b392..b0e5d66e 100644 --- a/packages/ui/src/menu-items/dashboard.js +++ b/packages/ui/src/menu-items/dashboard.js @@ -1,8 +1,8 @@ // assets -import { IconHierarchy, IconBuildingStore, IconKey, IconTool, IconLock, IconRobot } from '@tabler/icons' +import { IconHierarchy, IconBuildingStore, IconKey, IconTool, IconLock, IconRobot, IconVariable } from '@tabler/icons' // constant -const icons = { IconHierarchy, IconBuildingStore, IconKey, IconTool, IconLock, IconRobot } +const icons = { IconHierarchy, IconBuildingStore, IconKey, IconTool, IconLock, IconRobot, IconVariable } // ==============================|| DASHBOARD MENU ITEMS ||============================== // @@ -51,6 +51,14 @@ const dashboard = { icon: icons.IconLock, breadcrumbs: true }, + { + id: 'variables', + title: 'Environment Variables', + type: 'item', + url: '/variables', + icon: icons.IconVariable, + breadcrumbs: true + }, { id: 'apikey', title: 'API Keys', diff --git a/packages/ui/src/routes/MainRoutes.js b/packages/ui/src/routes/MainRoutes.js index bce0de13..08dd721d 100644 --- a/packages/ui/src/routes/MainRoutes.js +++ b/packages/ui/src/routes/MainRoutes.js @@ -22,6 +22,9 @@ const Assistants = Loadable(lazy(() => import('views/assistants'))) // credentials routing const Credentials = Loadable(lazy(() => import('views/credentials'))) +// variables routing +const Variables = Loadable(lazy(() => import('views/variables'))) + // ==============================|| MAIN ROUTING ||============================== // const MainRoutes = { @@ -55,6 +58,10 @@ const MainRoutes = { { path: '/credentials', element: + }, + { + path: '/variables', + element: } ] } diff --git a/packages/ui/src/views/variables/AddEditVariableDialog.js b/packages/ui/src/views/variables/AddEditVariableDialog.js new file mode 100644 index 00000000..e32ce663 --- /dev/null +++ b/packages/ui/src/views/variables/AddEditVariableDialog.js @@ -0,0 +1,265 @@ +import { createPortal } from 'react-dom' +import PropTypes from 'prop-types' +import { useState, useEffect } from 'react' +import { useDispatch } from 'react-redux' +import { enqueueSnackbar as enqueueSnackbarAction, closeSnackbar as closeSnackbarAction } from 'store/actions' + +// Material +import { Button, Dialog, DialogActions, DialogContent, DialogTitle, Box, Typography, OutlinedInput } from '@mui/material' + +// Project imports +import { StyledButton } from 'ui-component/button/StyledButton' +import ConfirmDialog from 'ui-component/dialog/ConfirmDialog' + +// Icons +import { IconX, IconVariable } from '@tabler/icons' + +// API +import variablesApi from 'api/variables' + +// Hooks + +// utils +import useNotifier from 'utils/useNotifier' + +// const +import { HIDE_CANVAS_DIALOG, SHOW_CANVAS_DIALOG } from 'store/actions' +import { TooltipWithParser } from '../../ui-component/tooltip/TooltipWithParser' +import { Dropdown } from '../../ui-component/dropdown/Dropdown' + +const variableTypes = [ + { + label: 'Static Variable', + name: 'static' + }, + { + label: 'Runtime Variable', + name: 'runtime' + } +] + +const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm }) => { + const portalElement = document.getElementById('portal') + + const dispatch = useDispatch() + + // ==============================|| Snackbar ||============================== // + + useNotifier() + + const enqueueSnackbar = (...args) => dispatch(enqueueSnackbarAction(...args)) + const closeSnackbar = (...args) => dispatch(closeSnackbarAction(...args)) + + const [name, setName] = useState('') + const [value, setValue] = useState('') + const [type, setType] = useState('') + + const [variable, setVariable] = useState({}) + + useEffect(() => { + if (dialogProps.type === 'EDIT' && dialogProps.data) { + // When variable dialog is opened from Variables dashboard + setName(dialogProps.data.name) + setValue(dialogProps.data.value) + setType(dialogProps.data.type) + //setVariable(dialogProps.data) + } else if (dialogProps.type === 'ADD' && dialogProps.data) { + // When variable dialog is to add a new variable + setName('') + setValue('') + setType('static') + //setVariable({ name: '', value: '', type: 'static' }) + } + + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [dialogProps]) + + useEffect(() => { + if (show) dispatch({ type: SHOW_CANVAS_DIALOG }) + else dispatch({ type: HIDE_CANVAS_DIALOG }) + return () => dispatch({ type: HIDE_CANVAS_DIALOG }) + }, [show, dispatch]) + + const addNewVariable = async () => { + try { + const obj = { + name, + value, + type + } + const createResp = await variablesApi.createVariable(obj) + if (createResp.data) { + enqueueSnackbar({ + message: 'New Variable added', + options: { + key: new Date().getTime() + Math.random(), + variant: 'success', + action: (key) => ( + + ) + } + }) + onConfirm(createResp.data.id) + } + } catch (err) { + const errorData = typeof err === 'string' ? err : err.response?.data || `${err.response?.status}: ${err.response?.statusText}` + enqueueSnackbar({ + message: `Failed to add new Variable: ${errorData}`, + options: { + key: new Date().getTime() + Math.random(), + variant: 'error', + persist: true, + action: (key) => ( + + ) + } + }) + onCancel() + } + } + + const saveVariable = async () => { + try { + const saveObj = { + name, + value, + type + } + + const saveResp = await variablesApi.updateVariable(variable.id, saveObj) + if (saveResp.data) { + enqueueSnackbar({ + message: 'Variable saved', + options: { + key: new Date().getTime() + Math.random(), + variant: 'success', + action: (key) => ( + + ) + } + }) + onConfirm(saveResp.data.id) + } + } catch (error) { + const errorData = error.response?.data || `${error.response?.status}: ${error.response?.statusText}` + enqueueSnackbar({ + message: `Failed to save Variable: ${errorData}`, + options: { + key: new Date().getTime() + Math.random(), + variant: 'error', + persist: true, + action: (key) => ( + + ) + } + }) + onCancel() + } + } + + const component = show ? ( + + +
+
+ +
+ {dialogProps.type === 'ADD' ? 'Add Variable' : 'Edit Variable'} +
+
+ + +
+ + Variable Name * + + +
+
+ setName(e.target.value)} value={name ?? ''} /> +
+ +
+ + Value + + +
+
+ setValue(e.target.value)} value={value ?? ''} /> + Leave the value empty for runtime variables. Will be populated at runtime. +
+ +
+ + Type * + +
+
+ setType(newValue)} + value={type ?? 'static'} + /> + + Runtime: Value would be populated from env. Static: Value would be used as is. + +
+
+ + (dialogProps.type === 'ADD' ? addNewVariable() : saveVariable())} + > + {dialogProps.confirmButtonName} + + + +
+ ) : null + + return createPortal(component, portalElement) +} + +AddEditVariableDialog.propTypes = { + show: PropTypes.bool, + dialogProps: PropTypes.object, + onCancel: PropTypes.func, + onConfirm: PropTypes.func +} + +export default AddEditVariableDialog diff --git a/packages/ui/src/views/variables/index.js b/packages/ui/src/views/variables/index.js new file mode 100644 index 00000000..ccec36d3 --- /dev/null +++ b/packages/ui/src/views/variables/index.js @@ -0,0 +1,301 @@ +import { useEffect, useState } from 'react' +import { useDispatch, useSelector } from 'react-redux' +import { enqueueSnackbar as enqueueSnackbarAction, closeSnackbar as closeSnackbarAction } from 'store/actions' +import moment from 'moment' + +// material-ui +import { + Button, + Box, + Stack, + Table, + TableBody, + TableCell, + TableContainer, + TableHead, + TableRow, + Paper, + IconButton, + Toolbar, + TextField, + InputAdornment, + ButtonGroup +} from '@mui/material' +import { useTheme } from '@mui/material/styles' + +// project imports +import MainCard from 'ui-component/cards/MainCard' +import { StyledButton } from 'ui-component/button/StyledButton' +import ConfirmDialog from 'ui-component/dialog/ConfirmDialog' + +// API +import variablesApi from 'api/variables' + +// Hooks +import useApi from 'hooks/useApi' +import useConfirm from 'hooks/useConfirm' + +// utils +import useNotifier from 'utils/useNotifier' + +// Icons +import { IconTrash, IconEdit, IconX, IconPlus, IconSearch, IconVariable } from '@tabler/icons' +import CredentialEmptySVG from 'assets/images/credential_empty.svg' + +// const +import AddEditVariableDialog from './AddEditVariableDialog' + +// ==============================|| Credentials ||============================== // + +const Variables = () => { + const theme = useTheme() + const customization = useSelector((state) => state.customization) + + const dispatch = useDispatch() + useNotifier() + + const enqueueSnackbar = (...args) => dispatch(enqueueSnackbarAction(...args)) + const closeSnackbar = (...args) => dispatch(closeSnackbarAction(...args)) + + const [showVariableDialog, setShowVariableDialog] = useState(false) + const [variableDialogProps, setVariableDialogProps] = useState({}) + const [variables, setVariables] = useState([]) + + const { confirm } = useConfirm() + + const getAllVariables = useApi(variablesApi.getAllVariables) + + const [search, setSearch] = useState('') + const onSearchChange = (event) => { + setSearch(event.target.value) + } + function filterVariables(data) { + return data.name.toLowerCase().indexOf(search.toLowerCase()) > -1 + } + + const addNew = () => { + const dialogProp = { + type: 'ADD', + cancelButtonName: 'Cancel', + confirmButtonName: 'Add', + data: {} + } + setVariableDialogProps(dialogProp) + setShowVariableDialog(true) + } + + const edit = (variable) => { + const dialogProp = { + type: 'EDIT', + cancelButtonName: 'Cancel', + confirmButtonName: 'Save', + data: variable + } + setVariableDialogProps(dialogProp) + setShowVariableDialog(true) + } + + const deleteVariable = async (credential) => { + const confirmPayload = { + title: `Delete`, + description: `Delete variable ${variable.name}?`, + confirmButtonName: 'Delete', + cancelButtonName: 'Cancel' + } + const isConfirmed = await confirm(confirmPayload) + + if (isConfirmed) { + try { + const deleteResp = await variablesApi.deleteVariable(credential.id) + if (deleteResp.data) { + enqueueSnackbar({ + message: 'Variable deleted', + options: { + key: new Date().getTime() + Math.random(), + variant: 'success', + action: (key) => ( + + ) + } + }) + onConfirm() + } + } catch (error) { + const errorData = error.response?.data || `${error.response?.status}: ${error.response?.statusText}` + enqueueSnackbar({ + message: `Failed to delete Variable: ${errorData}`, + options: { + key: new Date().getTime() + Math.random(), + variant: 'error', + persist: true, + action: (key) => ( + + ) + } + }) + } + } + } + + const onConfirm = () => { + setShowVariableDialog(false) + getAllVariables.request() + } + + useEffect(() => { + getAllVariables.request() + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []) + + useEffect(() => { + if (getAllVariables.data) { + setVariables(getAllVariables.data) + } + }, [getAllVariables.data]) + + return ( + <> + + + + +

Environment Variables 

+ + + + ) + }} + /> + + + + } + > + Add Variable + + + +
+
+
+ {variables.length <= 0 && ( + + + CredentialEmptySVG + +
No Variables Yet
+
+ )} + {variables.length > 0 && ( + + + + + Name + Value + Type + Last Updated + Created + + + + + + {variables.filter(filterVariables).map((variable, index) => ( + + +
+
+ +
+ {variable.name} +
+
+ {variable.value} + {variable.type === 'static' ? 'Static Variable' : 'Runtime Variable'} + {moment(variable.updatedDate).format('DD-MMM-YY')} + {moment(variable.createdDate).format('DD-MMM-YY')} + + edit(variable)}> + + + + + deleteVariable(variable)}> + + + +
+ ))} +
+
+
+ )} +
+ setShowVariableDialog(false)} + onConfirm={onConfirm} + > + + + ) +} + +export default Variables From 0bf5536095a31c8493e13e30e371258232052d58 Mon Sep 17 00:00:00 2001 From: vinodkiran Date: Sun, 10 Dec 2023 22:39:06 +0530 Subject: [PATCH 02/58] Environment Variables: injection of variables into the custom script --- packages/components/nodes/tools/CustomTool/core.ts | 3 ++- packages/server/src/index.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/components/nodes/tools/CustomTool/core.ts b/packages/components/nodes/tools/CustomTool/core.ts index 12dd72f1..343acafd 100644 --- a/packages/components/nodes/tools/CustomTool/core.ts +++ b/packages/components/nodes/tools/CustomTool/core.ts @@ -80,7 +80,8 @@ export class DynamicStructuredTool< sandbox[`$${item}`] = arg[item] } } - + sandbox['$env'] = { USER: 'VINOD' } + console.log('sandbox === ' + JSON.stringify(sandbox)) const defaultAllowBuiltInDep = [ 'assert', 'buffer', diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 2b4e6436..39baaf8e 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -62,7 +62,7 @@ import { sanitizeMiddleware } from './utils/XSS' import axios from 'axios' import { Client } from 'langchainhub' import { parsePrompt } from './utils/hub' -import { Variable } from "./database/entities/Variable"; +import { Variable } from './database/entities/Variable' export class App { app: express.Application From bfa870e56b0371e661ef5d980ded8140b78de42a Mon Sep 17 00:00:00 2001 From: vinodkiran Date: Tue, 12 Dec 2023 12:19:35 +0530 Subject: [PATCH 03/58] Environment Variables: injection of variables ($env) into the custom tool and addition of ($flow) object --- .../nodes/tools/CustomTool/CustomTool.ts | 27 ++++++++++++++- .../components/nodes/tools/CustomTool/core.ts | 33 +++++++++++++++++-- packages/components/src/Interface.ts | 1 + packages/server/src/utils/index.ts | 4 ++- .../views/variables/AddEditVariableDialog.js | 16 ++++----- 5 files changed, 69 insertions(+), 12 deletions(-) diff --git a/packages/components/nodes/tools/CustomTool/CustomTool.ts b/packages/components/nodes/tools/CustomTool/CustomTool.ts index 541edcf0..aba803e4 100644 --- a/packages/components/nodes/tools/CustomTool/CustomTool.ts +++ b/packages/components/nodes/tools/CustomTool/CustomTool.ts @@ -80,7 +80,32 @@ class CustomTool_Tools implements INode { code: tool.func } if (customToolFunc) obj.code = customToolFunc - return new DynamicStructuredTool(obj) + + const variables = await appDataSource.getRepository(databaseEntities['Variable']).find() + + // override variables defined in overrideConfig + // nodeData.inputs.variables is an Object, check each property and override the variable + if (nodeData?.inputs?.variables) { + for (const propertyName of Object.getOwnPropertyNames(nodeData.inputs.variables)) { + const foundVar = variables.find((v) => v.name === propertyName) + if (foundVar) { + // even if the variable was defined as runtime, we override it with static value + foundVar.type = 'static' + foundVar.value = nodeData.inputs.variables[propertyName] + } else { + // add it the variables, if not found locally in the db + variables.push({ name: propertyName, type: 'static', value: nodeData.inputs.variables[propertyName] }) + } + } + } + const flow = { + chatId: options.chatId, // id is uppercase (I) + chatflowId: options.chatflowid // id is lowercase (i) + } + let dynamicStructuredTool = new DynamicStructuredTool(obj) + dynamicStructuredTool.setVariables(variables) + dynamicStructuredTool.setFlowObject(flow) + return dynamicStructuredTool } catch (e) { throw new Error(e) } diff --git a/packages/components/nodes/tools/CustomTool/core.ts b/packages/components/nodes/tools/CustomTool/core.ts index 343acafd..b7b1f6a6 100644 --- a/packages/components/nodes/tools/CustomTool/core.ts +++ b/packages/components/nodes/tools/CustomTool/core.ts @@ -2,6 +2,7 @@ import { z } from 'zod' import { CallbackManagerForToolRun } from 'langchain/callbacks' import { StructuredTool, ToolParams } from 'langchain/tools' import { NodeVM } from 'vm2' +import { logger } from "@zilliz/milvus2-sdk-node"; /* * List of dependencies allowed to be import in vm2 @@ -62,6 +63,8 @@ export class DynamicStructuredTool< func: DynamicStructuredToolInput['func'] schema: T + private variables: any[] + private flowObj: any constructor(fields: DynamicStructuredToolInput) { super(fields) @@ -80,8 +83,26 @@ export class DynamicStructuredTool< sandbox[`$${item}`] = arg[item] } } - sandbox['$env'] = { USER: 'VINOD' } - console.log('sandbox === ' + JSON.stringify(sandbox)) + //inject variables + let env = {} + if (this.variables) { + for (const item of this.variables) { + let value = item.value + if (item.type === 'runtime') { + value = process.env[item.name] + } + Object.defineProperty(env, item.name, { + enumerable: true, + configurable: true, + writable: true, + value: value + }) + } + } + sandbox['$env'] = env + if (this.flowObj) { + sandbox['$flow'] = this.flowObj + } const defaultAllowBuiltInDep = [ 'assert', 'buffer', @@ -118,4 +139,12 @@ export class DynamicStructuredTool< return response } + + setVariables(variables: any[]) { + this.variables = variables + } + + setFlowObject(flow: any) { + this.flowObj = flow + } } diff --git a/packages/components/src/Interface.ts b/packages/components/src/Interface.ts index 6752f944..bc50155c 100644 --- a/packages/components/src/Interface.ts +++ b/packages/components/src/Interface.ts @@ -73,6 +73,7 @@ export interface INodeParams { additionalParams?: boolean loadMethod?: string hidden?: boolean + variables?: ICommonObject[] } export interface INodeExecutionData { diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index 2bf1c04a..adec01cd 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -37,6 +37,7 @@ import { Tool } from '../database/entities/Tool' import { Assistant } from '../database/entities/Assistant' import { DataSource } from 'typeorm' import { CachePool } from '../CachePool' +import { Variable } from '../database/entities/Variable' const QUESTION_VAR_PREFIX = 'question' const CHAT_HISTORY_VAR_PREFIX = 'chat_history' @@ -47,7 +48,8 @@ export const databaseEntities: IDatabaseEntity = { ChatMessage: ChatMessage, Tool: Tool, Credential: Credential, - Assistant: Assistant + Assistant: Assistant, + Variable: Variable } /** diff --git a/packages/ui/src/views/variables/AddEditVariableDialog.js b/packages/ui/src/views/variables/AddEditVariableDialog.js index e32ce663..db2116b0 100644 --- a/packages/ui/src/views/variables/AddEditVariableDialog.js +++ b/packages/ui/src/views/variables/AddEditVariableDialog.js @@ -62,13 +62,13 @@ const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm }) => { setName(dialogProps.data.name) setValue(dialogProps.data.value) setType(dialogProps.data.type) - //setVariable(dialogProps.data) + setVariable(dialogProps.data) } else if (dialogProps.type === 'ADD' && dialogProps.data) { // When variable dialog is to add a new variable setName('') setValue('') setType('static') - //setVariable({ name: '', value: '', type: 'static' }) + setVariable({ name: '', value: '', type: 'static' }) } // eslint-disable-next-line react-hooks/exhaustive-deps @@ -83,9 +83,9 @@ const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm }) => { const addNewVariable = async () => { try { const obj = { - name, - value, - type + name: name, + value: value, + type: type } const createResp = await variablesApi.createVariable(obj) if (createResp.data) { @@ -125,9 +125,9 @@ const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm }) => { const saveVariable = async () => { try { const saveObj = { - name, - value, - type + name: name, + value: value, + type: type } const saveResp = await variablesApi.updateVariable(variable.id, saveObj) From 947ab9dae656a472a3cba0f470409a86926009dc Mon Sep 17 00:00:00 2001 From: vinodkiran Date: Tue, 12 Dec 2023 14:15:41 +0530 Subject: [PATCH 04/58] Environment Variables: handling of environment variables in user input --- packages/server/src/index.ts | 7 ++++++- packages/server/src/utils/index.ts | 26 ++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 39baaf8e..8f728f19 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -43,7 +43,8 @@ import { checkMemorySessionId, clearSessionMemoryFromViewMessageDialog, getUserHome, - replaceChatHistory + replaceChatHistory, + replaceEnvVariables } from './utils' import { cloneDeep, omit, uniqWith, isEqual } from 'lodash' import { getDataSource } from './DataSource' @@ -1381,6 +1382,10 @@ export class App { const chatflowid = req.params.id let incomingInput: IncomingInput = req.body + if (incomingInput.question) { + incomingInput.question = await replaceEnvVariables(incomingInput.question, this.AppDataSource) + } + let nodeToExecuteData: INodeData const chatflow = await this.AppDataSource.getRepository(ChatFlow).findOneBy({ diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index adec01cd..d3575388 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -954,3 +954,29 @@ export const getAllValuesFromJson = (obj: any): any[] => { extractValues(obj) return values } + +export const replaceEnvVariables = async (question: string, appDataSource: DataSource): Promise => { + // the incoming question can have more than one env variable with the pattern {{ env.VARIABLE_NAME }} + // extract all the env variables from the question and iterate through them + const envVariables = question.match(/{{[^}]*}}/g) + if (envVariables) { + for (const envVariable of envVariables) { + // this is needed as the user can have spaces between the curly braces and the env keyword + // extract the variable name from the env variable + const variableName = envVariable.replace(/{{\s*env.|\s*}}/g, '') + // get the value of the env variable from the database + const variable = await appDataSource.getRepository(Variable).findOneBy({ + name: variableName + }) + if (variable) { + let value = variable.value + if (variable.type === 'runtime') { + value = process.env[variable.name] as string + } + // replace the env variable with the value from the database + question = question.replace(envVariable, value) + } + } + } + return question +} From c2e97b54acfa741f091881287e744a38b713c522 Mon Sep 17 00:00:00 2001 From: vinodkiran Date: Tue, 12 Dec 2023 16:19:52 +0530 Subject: [PATCH 05/58] Environment Variables: Validations and minor fixes --- .../components/nodes/tools/CustomTool/core.ts | 1 - .../views/variables/AddEditVariableDialog.js | 70 +++++++++++-------- packages/ui/src/views/variables/index.js | 4 +- 3 files changed, 43 insertions(+), 32 deletions(-) diff --git a/packages/components/nodes/tools/CustomTool/core.ts b/packages/components/nodes/tools/CustomTool/core.ts index b7b1f6a6..8bae726c 100644 --- a/packages/components/nodes/tools/CustomTool/core.ts +++ b/packages/components/nodes/tools/CustomTool/core.ts @@ -2,7 +2,6 @@ import { z } from 'zod' import { CallbackManagerForToolRun } from 'langchain/callbacks' import { StructuredTool, ToolParams } from 'langchain/tools' import { NodeVM } from 'vm2' -import { logger } from "@zilliz/milvus2-sdk-node"; /* * List of dependencies allowed to be import in vm2 diff --git a/packages/ui/src/views/variables/AddEditVariableDialog.js b/packages/ui/src/views/variables/AddEditVariableDialog.js index db2116b0..85c40e44 100644 --- a/packages/ui/src/views/variables/AddEditVariableDialog.js +++ b/packages/ui/src/views/variables/AddEditVariableDialog.js @@ -26,6 +26,7 @@ import useNotifier from 'utils/useNotifier' import { HIDE_CANVAS_DIALOG, SHOW_CANVAS_DIALOG } from 'store/actions' import { TooltipWithParser } from '../../ui-component/tooltip/TooltipWithParser' import { Dropdown } from '../../ui-component/dropdown/Dropdown' +import { SwitchInput } from '../../ui-component/switch/Switch' const variableTypes = [ { @@ -50,29 +51,29 @@ const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm }) => { const enqueueSnackbar = (...args) => dispatch(enqueueSnackbarAction(...args)) const closeSnackbar = (...args) => dispatch(closeSnackbarAction(...args)) - const [name, setName] = useState('') - const [value, setValue] = useState('') - const [type, setType] = useState('') + const [variableName, setVariableName] = useState('') + const [variableValue, setVariableValue] = useState('') + const [variableType, setVariableType] = useState('static') + const [dialogType, setDialogType] = useState('ADD') const [variable, setVariable] = useState({}) useEffect(() => { - if (dialogProps.type === 'EDIT' && dialogProps.data) { + if (dialogProps.type === 'EDIT') { // When variable dialog is opened from Variables dashboard - setName(dialogProps.data.name) - setValue(dialogProps.data.value) - setType(dialogProps.data.type) + setVariableName(dialogProps.data.name) + setVariableValue(dialogProps.data.value) + setVariableType(dialogProps.data.type) setVariable(dialogProps.data) - } else if (dialogProps.type === 'ADD' && dialogProps.data) { + setDialogType('EDIT') + } else if (dialogProps.type === 'ADD') { // When variable dialog is to add a new variable - setName('') - setValue('') - setType('static') - setVariable({ name: '', value: '', type: 'static' }) + setVariableName('') + setVariableValue('') + setVariableType('static') + setDialogType('ADD') } - - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [dialogProps]) + }, [dialogProps.data, dialogProps.type]) useEffect(() => { if (show) dispatch({ type: SHOW_CANVAS_DIALOG }) @@ -83,9 +84,9 @@ const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm }) => { const addNewVariable = async () => { try { const obj = { - name: name, - value: value, - type: type + name: variableName, + value: variableValue, + type: variableType } const createResp = await variablesApi.createVariable(obj) if (createResp.data) { @@ -125,9 +126,9 @@ const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm }) => { const saveVariable = async () => { try { const saveObj = { - name: name, - value: value, - type: type + name: variableName, + value: variableValue, + type: variableType } const saveResp = await variablesApi.updateVariable(variable.id, saveObj) @@ -207,7 +208,13 @@ const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm }) => {
- setName(e.target.value)} value={name ?? ''} /> + setVariableName(e.target.value)} + value={variableName ?? ''} + />
@@ -217,7 +224,13 @@ const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm }) => {
- setValue(e.target.value)} value={value ?? ''} /> + setVariableValue(e.target.value)} + value={variableValue ?? ''} + /> Leave the value empty for runtime variables. Will be populated at runtime.
@@ -228,11 +241,10 @@ const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm }) => {
setType(newValue)} - value={type ?? 'static'} + onSelect={(newValue) => setVariableType(newValue)} + value={variableType} /> Runtime: Value would be populated from env. Static: Value would be used as is. @@ -241,9 +253,9 @@ const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm }) => { (dialogProps.type === 'ADD' ? addNewVariable() : saveVariable())} + onClick={() => (dialogType === 'ADD' ? addNewVariable() : saveVariable())} > {dialogProps.confirmButtonName} diff --git a/packages/ui/src/views/variables/index.js b/packages/ui/src/views/variables/index.js index ccec36d3..9399eb20 100644 --- a/packages/ui/src/views/variables/index.js +++ b/packages/ui/src/views/variables/index.js @@ -95,7 +95,7 @@ const Variables = () => { setShowVariableDialog(true) } - const deleteVariable = async (credential) => { + const deleteVariable = async (variable) => { const confirmPayload = { title: `Delete`, description: `Delete variable ${variable.name}?`, @@ -106,7 +106,7 @@ const Variables = () => { if (isConfirmed) { try { - const deleteResp = await variablesApi.deleteVariable(credential.id) + const deleteResp = await variablesApi.deleteVariable(variable.id) if (deleteResp.data) { enqueueSnackbar({ message: 'Variable deleted', From 790c7eabeb7d218639700ce265abda081f7cf813 Mon Sep 17 00:00:00 2001 From: vinodkiran Date: Tue, 12 Dec 2023 16:20:32 +0530 Subject: [PATCH 06/58] Environment Variables: Validations and minor fixes --- packages/ui/src/views/variables/AddEditVariableDialog.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/ui/src/views/variables/AddEditVariableDialog.js b/packages/ui/src/views/variables/AddEditVariableDialog.js index 85c40e44..86a121f6 100644 --- a/packages/ui/src/views/variables/AddEditVariableDialog.js +++ b/packages/ui/src/views/variables/AddEditVariableDialog.js @@ -26,7 +26,6 @@ import useNotifier from 'utils/useNotifier' import { HIDE_CANVAS_DIALOG, SHOW_CANVAS_DIALOG } from 'store/actions' import { TooltipWithParser } from '../../ui-component/tooltip/TooltipWithParser' import { Dropdown } from '../../ui-component/dropdown/Dropdown' -import { SwitchInput } from '../../ui-component/switch/Switch' const variableTypes = [ { From ef3f1b34b149edb2064bc862abf6397522738cc1 Mon Sep 17 00:00:00 2001 From: vinodkiran Date: Tue, 12 Dec 2023 22:22:25 +0530 Subject: [PATCH 07/58] Environment Variables: renaming overrideConfig node to envVars --- packages/components/nodes/tools/CustomTool/CustomTool.ts | 8 ++++---- packages/server/src/index.ts | 4 ---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/components/nodes/tools/CustomTool/CustomTool.ts b/packages/components/nodes/tools/CustomTool/CustomTool.ts index aba803e4..6b0397c8 100644 --- a/packages/components/nodes/tools/CustomTool/CustomTool.ts +++ b/packages/components/nodes/tools/CustomTool/CustomTool.ts @@ -85,16 +85,16 @@ class CustomTool_Tools implements INode { // override variables defined in overrideConfig // nodeData.inputs.variables is an Object, check each property and override the variable - if (nodeData?.inputs?.variables) { - for (const propertyName of Object.getOwnPropertyNames(nodeData.inputs.variables)) { + if (nodeData?.inputs?.envVars) { + for (const propertyName of Object.getOwnPropertyNames(nodeData.inputs.envVars)) { const foundVar = variables.find((v) => v.name === propertyName) if (foundVar) { // even if the variable was defined as runtime, we override it with static value foundVar.type = 'static' - foundVar.value = nodeData.inputs.variables[propertyName] + foundVar.value = nodeData.inputs.envVars[propertyName] } else { // add it the variables, if not found locally in the db - variables.push({ name: propertyName, type: 'static', value: nodeData.inputs.variables[propertyName] }) + variables.push({ name: propertyName, type: 'static', value: nodeData.inputs.envVars[propertyName] }) } } } diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 8f728f19..34e461f7 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -1382,10 +1382,6 @@ export class App { const chatflowid = req.params.id let incomingInput: IncomingInput = req.body - if (incomingInput.question) { - incomingInput.question = await replaceEnvVariables(incomingInput.question, this.AppDataSource) - } - let nodeToExecuteData: INodeData const chatflow = await this.AppDataSource.getRepository(ChatFlow).findOneBy({ From 8c694e79875eba88cdc58a5a885883fc915932cd Mon Sep 17 00:00:00 2001 From: Henry Date: Wed, 20 Dec 2023 21:28:22 +0000 Subject: [PATCH 08/58] change encryption key path --- packages/components/src/utils.ts | 11 +---------- packages/server/src/utils/index.ts | 2 +- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/packages/components/src/utils.ts b/packages/components/src/utils.ts index 239b13ca..98936817 100644 --- a/packages/components/src/utils.ts +++ b/packages/components/src/utils.ts @@ -428,16 +428,7 @@ export const getEnvironmentVariable = (name: string): string | undefined => { * @returns {string} */ const getEncryptionKeyFilePath = (): string => { - const checkPaths = [ - path.join(__dirname, '..', '..', 'encryption.key'), - path.join(__dirname, '..', '..', 'server', 'encryption.key'), - path.join(__dirname, '..', '..', '..', 'encryption.key'), - path.join(__dirname, '..', '..', '..', 'server', 'encryption.key'), - path.join(__dirname, '..', '..', '..', '..', 'encryption.key'), - path.join(__dirname, '..', '..', '..', '..', 'server', 'encryption.key'), - path.join(__dirname, '..', '..', '..', '..', '..', 'encryption.key'), - path.join(__dirname, '..', '..', '..', '..', '..', 'server', 'encryption.key') - ] + const checkPaths = [path.join(getUserHome(), '.flowise', 'encryption.key')] for (const checkPath of checkPaths) { if (fs.existsSync(checkPath)) { return checkPath diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index eec813d4..e0c91723 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -859,7 +859,7 @@ export const isFlowValidForStream = (reactFlowNodes: IReactFlowNode[], endingNod export const getEncryptionKeyPath = (): string => { return process.env.SECRETKEY_PATH ? path.join(process.env.SECRETKEY_PATH, 'encryption.key') - : path.join(__dirname, '..', '..', 'encryption.key') + : path.join(getUserHome(), '.flowise', 'encryption.key') } /** From 48b17fc78554c02a7ab0ea3f0edaa8578d8441bf Mon Sep 17 00:00:00 2001 From: Henry Date: Wed, 20 Dec 2023 23:59:04 +0000 Subject: [PATCH 09/58] pass sessionId to custom tool --- .../OpenAIFunctionAgent.ts | 342 ++++++++++++++++-- .../RedisBackedChatMemory.ts | 74 +++- .../components/nodes/tools/CustomTool/core.ts | 58 ++- packages/components/src/utils.ts | 30 +- packages/server/src/index.ts | 11 +- 5 files changed, 464 insertions(+), 51 deletions(-) diff --git a/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts b/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts index c019ca5a..63749fd2 100644 --- a/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts +++ b/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts @@ -1,10 +1,18 @@ import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface' -import { initializeAgentExecutorWithOptions, AgentExecutor } from 'langchain/agents' -import { getBaseClasses, mapChatHistory } from '../../../src/utils' -import { BaseLanguageModel } from 'langchain/base_language' +import { AgentExecutor, AgentExecutorInput } from 'langchain/agents' +import { ChainValues, AgentStep, AgentFinish, AgentAction, BaseMessage, FunctionMessage, AIMessage } from 'langchain/schema' +import { OutputParserException } from 'langchain/schema/output_parser' +import { CallbackManagerForChainRun } from 'langchain/callbacks' +import { formatToOpenAIFunction } from 'langchain/tools' +import { ToolInputParsingException, Tool } from '@langchain/core/tools' +import { getBaseClasses } from '../../../src/utils' import { flatten } from 'lodash' import { BaseChatMemory } from 'langchain/memory' +import { RunnableSequence } from 'langchain/schema/runnable' import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler' +import { ChatPromptTemplate, MessagesPlaceholder } from 'langchain/prompts' +import { ChatOpenAI } from 'langchain/chat_models/openai' +import { OpenAIFunctionsAgentOutputParser } from 'langchain/agents/openai/output_parser' class OpenAIFunctionAgent_Agents implements INode { label: string @@ -16,8 +24,9 @@ class OpenAIFunctionAgent_Agents implements INode { category: string baseClasses: string[] inputs: INodeParams[] + sessionId?: string - constructor() { + constructor(fields: { sessionId?: string }) { this.label = 'OpenAI Function Agent' this.name = 'openAIFunctionAgent' this.version = 3.0 @@ -52,54 +61,323 @@ class OpenAIFunctionAgent_Agents implements INode { additionalParams: true } ] + this.sessionId = fields?.sessionId } async init(nodeData: INodeData): Promise { - const model = nodeData.inputs?.model as BaseLanguageModel const memory = nodeData.inputs?.memory as BaseChatMemory - const systemMessage = nodeData.inputs?.systemMessage as string - let tools = nodeData.inputs?.tools - tools = flatten(tools) - - const executor = await initializeAgentExecutorWithOptions(tools, model, { - agentType: 'openai-functions', - verbose: process.env.DEBUG === 'true' ? true : false, - agentArgs: { - prefix: systemMessage ?? `You are a helpful AI assistant.` - } - }) + const executor = prepareAgent(nodeData, this.sessionId) if (memory) executor.memory = memory return executor } async run(nodeData: INodeData, input: string, options: ICommonObject): Promise { - const executor = nodeData.instance as AgentExecutor - const memory = nodeData.inputs?.memory as BaseChatMemory + const memory = nodeData.inputs?.memory - if (options && options.chatHistory) { - const chatHistoryClassName = memory.chatHistory.constructor.name - // Only replace when its In-Memory - if (chatHistoryClassName && chatHistoryClassName === 'ChatMessageHistory') { - memory.chatHistory = mapChatHistory(options) - executor.memory = memory - } - } - - ;(executor.memory as any).returnMessages = true // Return true for BaseChatModel + const executor = prepareAgent(nodeData, this.sessionId) const loggerHandler = new ConsoleCallbackHandler(options.logger) const callbacks = await additionalCallbacks(nodeData, options) + let res: ChainValues = {} + if (options.socketIO && options.socketIOClientId) { const handler = new CustomChainHandler(options.socketIO, options.socketIOClientId) - const result = await executor.run(input, [loggerHandler, handler, ...callbacks]) - return result + res = await executor.invoke({ input }, { callbacks: [loggerHandler, handler, ...callbacks] }) } else { - const result = await executor.run(input, [loggerHandler, ...callbacks]) - return result + res = await executor.invoke({ input }, { callbacks: [loggerHandler, ...callbacks] }) } + + await memory.addChatMessages( + [ + { + text: input, + type: 'userMessage' + }, + { + text: res?.output, + type: 'apiMessage' + } + ], + this.sessionId + ) + + return res?.output + } +} + +const formatAgentSteps = (steps: AgentStep[]): BaseMessage[] => + steps.flatMap(({ action, observation }) => { + if ('messageLog' in action && action.messageLog !== undefined) { + const log = action.messageLog as BaseMessage[] + return log.concat(new FunctionMessage(observation, action.tool)) + } else { + return [new AIMessage(action.log)] + } + }) + +const prepareAgent = (nodeData: INodeData, sessionId?: string) => { + const model = nodeData.inputs?.model as ChatOpenAI + const memory = nodeData.inputs?.memory + const systemMessage = nodeData.inputs?.systemMessage as string + let tools = nodeData.inputs?.tools + tools = flatten(tools) + const memoryKey = memory.memoryKey ?? 'chat_history' + + const prompt = ChatPromptTemplate.fromMessages([ + ['ai', systemMessage ?? `You are a helpful AI assistant.`], + new MessagesPlaceholder(memoryKey), + ['human', '{input}'], + new MessagesPlaceholder('agent_scratchpad') + ]) + + const modelWithFunctions = model.bind({ + functions: [...tools.map((tool: any) => formatToOpenAIFunction(tool))] + }) + + const runnableAgent = RunnableSequence.from([ + { + input: (i: { input: string; steps: AgentStep[] }) => i.input, + agent_scratchpad: (i: { input: string; steps: AgentStep[] }) => formatAgentSteps(i.steps), + [memoryKey]: async (_: { input: string; steps: AgentStep[] }) => { + const messages: BaseMessage[] = await memory.getChatMessages(sessionId, true) + return messages ?? [] + } + }, + prompt, + modelWithFunctions, + new OpenAIFunctionsAgentOutputParser() + ]) + + const executor = AgentExecutorExtended.fromAgentAndTools({ + agent: runnableAgent, + tools, + sessionId + }) + + return executor +} + +type AgentExecutorOutput = ChainValues + +class AgentExecutorExtended extends AgentExecutor { + sessionId?: string + + static fromAgentAndTools(fields: AgentExecutorInput & { sessionId?: string }): AgentExecutorExtended { + const newInstance = new AgentExecutorExtended(fields) + if (fields.sessionId) newInstance.sessionId = fields.sessionId + return newInstance + } + + shouldContinueIteration(iterations: number): boolean { + return this.maxIterations === undefined || iterations < this.maxIterations + } + + async _call(inputs: ChainValues, runManager?: CallbackManagerForChainRun): Promise { + const toolsByName = Object.fromEntries(this.tools.map((t) => [t.name.toLowerCase(), t])) + + const steps: AgentStep[] = [] + let iterations = 0 + + const getOutput = async (finishStep: AgentFinish): Promise => { + const { returnValues } = finishStep + const additional = await this.agent.prepareForOutput(returnValues, steps) + + if (this.returnIntermediateSteps) { + return { ...returnValues, intermediateSteps: steps, ...additional } + } + await runManager?.handleAgentEnd(finishStep) + return { ...returnValues, ...additional } + } + + while (this.shouldContinueIteration(iterations)) { + let output + try { + output = await this.agent.plan(steps, inputs, runManager?.getChild()) + } catch (e) { + if (e instanceof OutputParserException) { + let observation + let text = e.message + if (this.handleParsingErrors === true) { + if (e.sendToLLM) { + observation = e.observation + text = e.llmOutput ?? '' + } else { + observation = 'Invalid or incomplete response' + } + } else if (typeof this.handleParsingErrors === 'string') { + observation = this.handleParsingErrors + } else if (typeof this.handleParsingErrors === 'function') { + observation = this.handleParsingErrors(e) + } else { + throw e + } + output = { + tool: '_Exception', + toolInput: observation, + log: text + } as AgentAction + } else { + throw e + } + } + // Check if the agent has finished + if ('returnValues' in output) { + return getOutput(output) + } + + let actions: AgentAction[] + if (Array.isArray(output)) { + actions = output as AgentAction[] + } else { + actions = [output as AgentAction] + } + + const newSteps = await Promise.all( + actions.map(async (action) => { + await runManager?.handleAgentAction(action) + const tool = action.tool === '_Exception' ? new ExceptionTool() : toolsByName[action.tool?.toLowerCase()] + let observation + try { + // here we need to override Tool call method to include sessionId as parameter + observation = tool + ? // @ts-ignore + await tool.call(action.toolInput, runManager?.getChild(), undefined, this.sessionId) + : `${action.tool} is not a valid tool, try another one.` + } catch (e) { + if (e instanceof ToolInputParsingException) { + if (this.handleParsingErrors === true) { + observation = 'Invalid or incomplete tool input. Please try again.' + } else if (typeof this.handleParsingErrors === 'string') { + observation = this.handleParsingErrors + } else if (typeof this.handleParsingErrors === 'function') { + observation = this.handleParsingErrors(e) + } else { + throw e + } + observation = await new ExceptionTool().call(observation, runManager?.getChild()) + return { action, observation: observation ?? '' } + } + } + return { action, observation: observation ?? '' } + }) + ) + + steps.push(...newSteps) + + const lastStep = steps[steps.length - 1] + const lastTool = toolsByName[lastStep.action.tool?.toLowerCase()] + + if (lastTool?.returnDirect) { + return getOutput({ + returnValues: { [this.agent.returnValues[0]]: lastStep.observation }, + log: '' + }) + } + + iterations += 1 + } + + const finish = await this.agent.returnStoppedResponse(this.earlyStoppingMethod, steps, inputs) + + return getOutput(finish) + } + + async _takeNextStep( + nameToolMap: Record, + inputs: ChainValues, + intermediateSteps: AgentStep[], + runManager?: CallbackManagerForChainRun + ): Promise { + let output + try { + output = await this.agent.plan(intermediateSteps, inputs, runManager?.getChild()) + } catch (e) { + if (e instanceof OutputParserException) { + let observation + let text = e.message + if (this.handleParsingErrors === true) { + if (e.sendToLLM) { + observation = e.observation + text = e.llmOutput ?? '' + } else { + observation = 'Invalid or incomplete response' + } + } else if (typeof this.handleParsingErrors === 'string') { + observation = this.handleParsingErrors + } else if (typeof this.handleParsingErrors === 'function') { + observation = this.handleParsingErrors(e) + } else { + throw e + } + output = { + tool: '_Exception', + toolInput: observation, + log: text + } as AgentAction + } else { + throw e + } + } + + if ('returnValues' in output) { + return output + } + + let actions: AgentAction[] + if (Array.isArray(output)) { + actions = output as AgentAction[] + } else { + actions = [output as AgentAction] + } + + const result: AgentStep[] = [] + for (const agentAction of actions) { + let observation = '' + if (runManager) { + await runManager?.handleAgentAction(agentAction) + } + if (agentAction.tool in nameToolMap) { + const tool = nameToolMap[agentAction.tool] + try { + // here we need to override Tool call method to include sessionId as parameter + // @ts-ignore + observation = await tool.call(agentAction.toolInput, runManager?.getChild(), undefined, this.sessionId) + } catch (e) { + if (e instanceof ToolInputParsingException) { + if (this.handleParsingErrors === true) { + observation = 'Invalid or incomplete tool input. Please try again.' + } else if (typeof this.handleParsingErrors === 'string') { + observation = this.handleParsingErrors + } else if (typeof this.handleParsingErrors === 'function') { + observation = this.handleParsingErrors(e) + } else { + throw e + } + observation = await new ExceptionTool().call(observation, runManager?.getChild()) + } + } + } else { + observation = `${agentAction.tool} is not a valid tool, try another available tool: ${Object.keys(nameToolMap).join(', ')}` + } + result.push({ + action: agentAction, + observation + }) + } + return result + } +} + +class ExceptionTool extends Tool { + name = '_Exception' + + description = 'Exception tool' + + async _call(query: string) { + return query } } diff --git a/packages/components/nodes/memory/RedisBackedChatMemory/RedisBackedChatMemory.ts b/packages/components/nodes/memory/RedisBackedChatMemory/RedisBackedChatMemory.ts index d6ec9a11..72af1cb5 100644 --- a/packages/components/nodes/memory/RedisBackedChatMemory/RedisBackedChatMemory.ts +++ b/packages/components/nodes/memory/RedisBackedChatMemory/RedisBackedChatMemory.ts @@ -1,8 +1,14 @@ -import { INode, INodeData, INodeParams, ICommonObject } from '../../../src/Interface' -import { getBaseClasses, getCredentialData, getCredentialParam, serializeChatHistory } from '../../../src/utils' +import { INode, INodeData, INodeParams, ICommonObject, IMessage, MessageType } from '../../../src/Interface' +import { + convertBaseMessagetoIMessage, + getBaseClasses, + getCredentialData, + getCredentialParam, + serializeChatHistory +} from '../../../src/utils' import { BufferMemory, BufferMemoryInput } from 'langchain/memory' import { RedisChatMessageHistory, RedisChatMessageHistoryInput } from 'langchain/stores/message/ioredis' -import { mapStoredMessageToChatMessage, BaseMessage } from 'langchain/schema' +import { mapStoredMessageToChatMessage, BaseMessage, AIMessage, HumanMessage } from 'langchain/schema' import { Redis } from 'ioredis' class RedisBackedChatMemory_Memory implements INode { @@ -94,14 +100,20 @@ class RedisBackedChatMemory_Memory implements INode { } const initalizeRedis = async (nodeData: INodeData, options: ICommonObject): Promise => { - const sessionId = nodeData.inputs?.sessionId as string const sessionTTL = nodeData.inputs?.sessionTTL as number const memoryKey = nodeData.inputs?.memoryKey as string const windowSize = nodeData.inputs?.windowSize as number const chatId = options?.chatId as string let isSessionIdUsingChatMessageId = false - if (!sessionId && chatId) isSessionIdUsingChatMessageId = true + let sessionId = '' + + if (!nodeData.inputs?.sessionId && chatId) { + isSessionIdUsingChatMessageId = true + sessionId = chatId + } else { + sessionId = nodeData.inputs?.sessionId + } const credentialData = await getCredentialData(nodeData.credential ?? '', options) const redisUrl = getCredentialParam('redisUrl', credentialData, nodeData) @@ -128,7 +140,7 @@ const initalizeRedis = async (nodeData: INodeData, options: ICommonObject): Prom } let obj: RedisChatMessageHistoryInput = { - sessionId: sessionId ? sessionId : chatId, + sessionId, client } @@ -162,21 +174,67 @@ const initalizeRedis = async (nodeData: INodeData, options: ICommonObject): Prom const memory = new BufferMemoryExtended({ memoryKey: memoryKey ?? 'chat_history', chatHistory: redisChatMessageHistory, - isSessionIdUsingChatMessageId + isSessionIdUsingChatMessageId, + sessionId, + redisClient: client }) return memory } interface BufferMemoryExtendedInput { isSessionIdUsingChatMessageId: boolean + redisClient: Redis + sessionId: string } class BufferMemoryExtended extends BufferMemory { isSessionIdUsingChatMessageId? = false + sessionId = '' + redisClient: Redis - constructor(fields: BufferMemoryInput & Partial) { + constructor(fields: BufferMemoryInput & BufferMemoryExtendedInput) { super(fields) this.isSessionIdUsingChatMessageId = fields.isSessionIdUsingChatMessageId + this.sessionId = fields.sessionId + this.redisClient = fields.redisClient + } + + async getChatMessages(overrideSessionId = '', returnBaseMessage = false): Promise { + if (!this.redisClient) return [] + + const id = overrideSessionId ?? this.sessionId + const rawStoredMessages = await this.redisClient.lrange(id, 0, -1) + const orderedMessages = rawStoredMessages.reverse().map((message) => JSON.parse(message)) + const baseMessages = orderedMessages.map(mapStoredMessageToChatMessage) + return returnBaseMessage ? baseMessages : convertBaseMessagetoIMessage(baseMessages) + } + + async addChatMessages(msgArray: { text: string; type: MessageType }[], overrideSessionId = ''): Promise { + if (!this.redisClient) return + + const id = overrideSessionId ?? this.sessionId + const input = msgArray.find((msg) => msg.type === 'userMessage') + const output = msgArray.find((msg) => msg.type === 'apiMessage') + + if (input) { + const newInputMessage = new HumanMessage(input.text) + const messageToAdd = [newInputMessage].map((msg) => msg.toDict()) + await this.redisClient.lpush(id, JSON.stringify(messageToAdd[0])) + } + + if (output) { + const newOutputMessage = new AIMessage(output.text) + const messageToAdd = [newOutputMessage].map((msg) => msg.toDict()) + await this.redisClient.lpush(id, JSON.stringify(messageToAdd[0])) + } + } + + async clearChatMessages(overrideSessionId = ''): Promise { + if (!this.redisClient) return + + const id = overrideSessionId ?? this.sessionId + await this.redisClient.del(id) + await this.clear() } } diff --git a/packages/components/nodes/tools/CustomTool/core.ts b/packages/components/nodes/tools/CustomTool/core.ts index 7e76e37f..77aa0e6b 100644 --- a/packages/components/nodes/tools/CustomTool/core.ts +++ b/packages/components/nodes/tools/CustomTool/core.ts @@ -1,8 +1,18 @@ import { z } from 'zod' -import { CallbackManagerForToolRun } from 'langchain/callbacks' -import { StructuredTool, ToolParams } from 'langchain/tools' import { NodeVM } from 'vm2' import { availableDependencies } 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' + +class ToolInputParsingException extends Error { + output?: string + + constructor(message: string, output?: string) { + super(message) + this.output = output + } +} export interface BaseDynamicToolInput extends ToolParams { name: string @@ -45,7 +55,47 @@ export class DynamicStructuredTool< this.schema = fields.schema } - protected async _call(arg: z.output): Promise { + async call(arg: z.output, configArg?: RunnableConfig | Callbacks, tags?: string[], overrideSessionId?: string): Promise { + const config = parseCallbackConfigArg(configArg) + if (config.runName === undefined) { + config.runName = this.name + } + let parsed + try { + parsed = await this.schema.parseAsync(arg) + } catch (e) { + throw new ToolInputParsingException(`Received tool input did not match expected schema`, JSON.stringify(arg)) + } + const callbackManager_ = await CallbackManager.configure( + config.callbacks, + this.callbacks, + config.tags || tags, + this.tags, + config.metadata, + this.metadata, + { verbose: this.verbose } + ) + const runManager = await callbackManager_?.handleToolStart( + this.toJSON(), + typeof parsed === 'string' ? parsed : JSON.stringify(parsed), + undefined, + undefined, + undefined, + undefined, + config.runName + ) + let result + try { + result = await this._call(parsed, runManager, overrideSessionId) + } catch (e) { + await runManager?.handleToolError(e) + throw e + } + await runManager?.handleToolEnd(result) + return result + } + + protected async _call(arg: z.output, _?: CallbackManagerForToolRun, overrideSessionId?: string): Promise { let sandbox: any = {} if (typeof arg === 'object' && Object.keys(arg).length) { for (const item in arg) { @@ -70,7 +120,7 @@ export class DynamicStructuredTool< } sandbox['$env'] = env if (this.flowObj) { - sandbox['$flow'] = this.flowObj + sandbox['$flow'] = { ...this.flowObj, sessionId: overrideSessionId } } const defaultAllowBuiltInDep = [ 'assert', diff --git a/packages/components/src/utils.ts b/packages/components/src/utils.ts index 239b13ca..2f6855d7 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 } from './Interface' import { AES, enc } from 'crypto-js' import { ChatMessageHistory } from 'langchain/memory' -import { AIMessage, HumanMessage } from 'langchain/schema' +import { AIMessage, HumanMessage, BaseMessage } from 'langchain/schema' 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 @@ -644,3 +644,31 @@ export const convertSchemaToZod = (schema: string | object): ICommonObject => { throw new Error(e) } } + +/** + * Convert BaseMessage to IMessage + * @param {BaseMessage[]} messages + * @returns {IMessage[]} + */ +export const convertBaseMessagetoIMessage = (messages: BaseMessage[]): IMessage[] => { + const formatmessages: IMessage[] = [] + for (const m of messages) { + if (m._getType() === 'human') { + formatmessages.push({ + message: m.content as string, + type: 'userMessage' + }) + } else if (m._getType() === 'ai') { + formatmessages.push({ + message: m.content as string, + type: 'apiMessage' + }) + } else if (m._getType() === 'system') { + formatmessages.push({ + message: m.content as string, + type: 'apiMessage' + }) + } + } + return formatmessages +} diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 99fcba70..531533c1 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -44,8 +44,7 @@ import { checkMemorySessionId, clearSessionMemoryFromViewMessageDialog, getUserHome, - replaceChatHistory, - replaceEnvVariables + replaceChatHistory } from './utils' import { cloneDeep, omit, uniqWith, isEqual } from 'lodash' import { getDataSource } from './DataSource' @@ -1617,10 +1616,6 @@ export class App { this.chatflowPool.add(chatflowid, nodeToExecuteData, startingNodes, incomingInput?.overrideConfig) } - const nodeInstanceFilePath = this.nodesPool.componentNodes[nodeToExecuteData.name].filePath as string - const nodeModule = await import(nodeInstanceFilePath) - const nodeInstance = new nodeModule.nodeClass() - logger.debug(`[server]: Running ${nodeToExecuteData.label} (${nodeToExecuteData.id})`) let sessionId = undefined @@ -1634,6 +1629,10 @@ export class App { chatHistory = await replaceChatHistory(memoryNode, incomingInput, this.AppDataSource, databaseEntities, logger) } + const nodeInstanceFilePath = this.nodesPool.componentNodes[nodeToExecuteData.name].filePath as string + const nodeModule = await import(nodeInstanceFilePath) + const nodeInstance = new nodeModule.nodeClass({ sessionId }) + let result = isStreamValid ? await nodeInstance.run(nodeToExecuteData, incomingInput.question, { chatflowid, From aac0546a7f1ad824beeaf392c50ce3993aae96db Mon Sep 17 00:00:00 2001 From: Henry Date: Thu, 21 Dec 2023 00:50:24 +0000 Subject: [PATCH 10/58] update all memory nodes --- .../nodes/memory/BufferMemory/BufferMemory.ts | 46 +++- .../BufferWindowMemory/BufferWindowMemory.ts | 44 +++- .../ConversationSummaryMemory.ts | 48 ++++- .../nodes/memory/DynamoDb/DynamoDb.ts | 204 ++++++++++++++++-- .../memory/MongoDBMemory/MongoDBMemory.ts | 96 +++++++-- .../memory/MotorheadMemory/MotorheadMemory.ts | 68 ++++-- .../UpstashRedisBackedChatMemory.ts | 89 ++++++-- .../nodes/memory/ZepMemory/ZepMemory.ts | 31 ++- packages/components/src/Interface.ts | 31 +++ 9 files changed, 579 insertions(+), 78 deletions(-) diff --git a/packages/components/nodes/memory/BufferMemory/BufferMemory.ts b/packages/components/nodes/memory/BufferMemory/BufferMemory.ts index 7793d96d..0ad8adec 100644 --- a/packages/components/nodes/memory/BufferMemory/BufferMemory.ts +++ b/packages/components/nodes/memory/BufferMemory/BufferMemory.ts @@ -1,6 +1,7 @@ -import { INode, INodeData, INodeParams } from '../../../src/Interface' -import { getBaseClasses } from '../../../src/utils' -import { BufferMemory } from 'langchain/memory' +import { FlowiseMemory, IMessage, INode, INodeData, INodeParams, MemoryMethods, MessageType } from '../../../src/Interface' +import { convertBaseMessagetoIMessage, getBaseClasses } from '../../../src/utils' +import { BufferMemory, BufferMemoryInput } from 'langchain/memory' +import { BaseMessage } from 'langchain/schema' class BufferMemory_Memory implements INode { label: string @@ -41,7 +42,7 @@ class BufferMemory_Memory implements INode { async init(nodeData: INodeData): Promise { const memoryKey = nodeData.inputs?.memoryKey as string const inputKey = nodeData.inputs?.inputKey as string - return new BufferMemory({ + return new BufferMemoryExtended({ returnMessages: true, memoryKey, inputKey @@ -49,4 +50,41 @@ class BufferMemory_Memory implements INode { } } +class BufferMemoryExtended extends FlowiseMemory implements MemoryMethods { + constructor(fields: BufferMemoryInput) { + super(fields) + } + + async getChatMessages(_?: string, returnBaseMessages = false): Promise { + const memoryResult = await this.loadMemoryVariables({}) + const baseMessages = memoryResult[this.memoryKey ?? 'chat_history'] + return returnBaseMessages ? baseMessages : convertBaseMessagetoIMessage(baseMessages) + } + + async addChatMessages(msgArray: { text: string; type: MessageType }[]): Promise { + const input = msgArray.find((msg) => msg.type === 'userMessage') + const output = msgArray.find((msg) => msg.type === 'apiMessage') + + const inputValues = { [this.inputKey ?? 'input']: input?.text } + const outputValues = { output: output?.text } + + await this.saveContext(inputValues, outputValues) + } + + async clearChatMessages(): Promise { + await this.clear() + } + + async resumeMessages(messages: IMessage[]): Promise { + // Clear existing chatHistory to avoid duplication + if (messages.length) await this.clear() + + // Insert into chatHistory + for (const msg of messages) { + if (msg.type === 'userMessage') await this.chatHistory.addUserMessage(msg.message) + else if (msg.type === 'apiMessage') await this.chatHistory.addAIChatMessage(msg.message) + } + } +} + module.exports = { nodeClass: BufferMemory_Memory } diff --git a/packages/components/nodes/memory/BufferWindowMemory/BufferWindowMemory.ts b/packages/components/nodes/memory/BufferWindowMemory/BufferWindowMemory.ts index 84e607e5..ca8d0ddf 100644 --- a/packages/components/nodes/memory/BufferWindowMemory/BufferWindowMemory.ts +++ b/packages/components/nodes/memory/BufferWindowMemory/BufferWindowMemory.ts @@ -1,6 +1,7 @@ -import { INode, INodeData, INodeParams } from '../../../src/Interface' -import { getBaseClasses } from '../../../src/utils' +import { FlowiseWindowMemory, IMessage, INode, INodeData, INodeParams, MemoryMethods, MessageType } from '../../../src/Interface' +import { convertBaseMessagetoIMessage, getBaseClasses } from '../../../src/utils' import { BufferWindowMemory, BufferWindowMemoryInput } from 'langchain/memory' +import { BaseMessage } from 'langchain/schema' class BufferWindowMemory_Memory implements INode { label: string @@ -57,7 +58,44 @@ class BufferWindowMemory_Memory implements INode { k: parseInt(k, 10) } - return new BufferWindowMemory(obj) + return new BufferWindowMemoryExtended(obj) + } +} + +class BufferWindowMemoryExtended extends FlowiseWindowMemory implements MemoryMethods { + constructor(fields: BufferWindowMemoryInput) { + super(fields) + } + + async getChatMessages(_?: string, returnBaseMessages = false): Promise { + const memoryResult = await this.loadMemoryVariables({}) + const baseMessages = memoryResult[this.memoryKey ?? 'chat_history'] + return returnBaseMessages ? baseMessages : convertBaseMessagetoIMessage(baseMessages) + } + + async addChatMessages(msgArray: { text: string; type: MessageType }[]): Promise { + const input = msgArray.find((msg) => msg.type === 'userMessage') + const output = msgArray.find((msg) => msg.type === 'apiMessage') + + const inputValues = { [this.inputKey ?? 'input']: input?.text } + const outputValues = { output: output?.text } + + await this.saveContext(inputValues, outputValues) + } + + async clearChatMessages(): Promise { + await this.clear() + } + + async resumeMessages(messages: IMessage[]): Promise { + // Clear existing chatHistory to avoid duplication + if (messages.length) await this.clear() + + // Insert into chatHistory + for (const msg of messages) { + if (msg.type === 'userMessage') await this.chatHistory.addUserMessage(msg.message) + else if (msg.type === 'apiMessage') await this.chatHistory.addAIChatMessage(msg.message) + } } } diff --git a/packages/components/nodes/memory/ConversationSummaryMemory/ConversationSummaryMemory.ts b/packages/components/nodes/memory/ConversationSummaryMemory/ConversationSummaryMemory.ts index 332d73aa..107ab7db 100644 --- a/packages/components/nodes/memory/ConversationSummaryMemory/ConversationSummaryMemory.ts +++ b/packages/components/nodes/memory/ConversationSummaryMemory/ConversationSummaryMemory.ts @@ -1,7 +1,8 @@ -import { INode, INodeData, INodeParams } from '../../../src/Interface' -import { getBaseClasses } from '../../../src/utils' +import { FlowiseSummaryMemory, IMessage, INode, INodeData, INodeParams, MemoryMethods, MessageType } from '../../../src/Interface' +import { convertBaseMessagetoIMessage, getBaseClasses } from '../../../src/utils' import { ConversationSummaryMemory, ConversationSummaryMemoryInput } from 'langchain/memory' import { BaseLanguageModel } from 'langchain/base_language' +import { BaseMessage } from 'langchain/schema' class ConversationSummaryMemory_Memory implements INode { label: string @@ -56,7 +57,48 @@ class ConversationSummaryMemory_Memory implements INode { inputKey } - return new ConversationSummaryMemory(obj) + return new ConversationSummaryMemoryExtended(obj) + } +} + +class ConversationSummaryMemoryExtended extends FlowiseSummaryMemory implements MemoryMethods { + constructor(fields: ConversationSummaryMemoryInput) { + super(fields) + } + + async getChatMessages(_?: string, returnBaseMessages = false): Promise { + const memoryResult = await this.loadMemoryVariables({}) + const baseMessages = memoryResult[this.memoryKey ?? 'chat_history'] + return returnBaseMessages ? baseMessages : convertBaseMessagetoIMessage(baseMessages) + } + + async addChatMessages(msgArray: { text: string; type: MessageType }[]): Promise { + const input = msgArray.find((msg) => msg.type === 'userMessage') + const output = msgArray.find((msg) => msg.type === 'apiMessage') + + const inputValues = { [this.inputKey ?? 'input']: input?.text } + const outputValues = { output: output?.text } + + await this.saveContext(inputValues, outputValues) + } + + async clearChatMessages(): Promise { + await this.clear() + } + + async resumeMessages(messages: IMessage[]): Promise { + // Clear existing chatHistory to avoid duplication + if (messages.length) await this.clear() + + // Insert into chatHistory + for (const msg of messages) { + if (msg.type === 'userMessage') await this.chatHistory.addUserMessage(msg.message) + else if (msg.type === 'apiMessage') await this.chatHistory.addAIChatMessage(msg.message) + } + + // Replace buffer + const chatMessages = await this.chatHistory.getMessages() + this.buffer = await this.predictNewSummary(chatMessages.slice(-2), this.buffer) } } diff --git a/packages/components/nodes/memory/DynamoDb/DynamoDb.ts b/packages/components/nodes/memory/DynamoDb/DynamoDb.ts index 8ca6cf9e..15b00d33 100644 --- a/packages/components/nodes/memory/DynamoDb/DynamoDb.ts +++ b/packages/components/nodes/memory/DynamoDb/DynamoDb.ts @@ -1,15 +1,25 @@ import { - ICommonObject, - INode, - INodeData, - INodeParams, + DynamoDBClient, + DynamoDBClientConfig, + GetItemCommand, + GetItemCommandInput, + UpdateItemCommand, + UpdateItemCommandInput, + DeleteItemCommand, + DeleteItemCommandInput, + AttributeValue +} from '@aws-sdk/client-dynamodb' +import { DynamoDBChatMessageHistory } from 'langchain/stores/message/dynamodb' +import { BufferMemory, BufferMemoryInput } from 'langchain/memory' +import { mapStoredMessageToChatMessage, AIMessage, HumanMessage, StoredMessage, BaseMessage } from 'langchain/schema' +import { + convertBaseMessagetoIMessage, getBaseClasses, getCredentialData, getCredentialParam, serializeChatHistory -} from '../../../src' -import { DynamoDBChatMessageHistory } from 'langchain/stores/message/dynamodb' -import { BufferMemory, BufferMemoryInput } from 'langchain/memory' +} from '../../../src/utils' +import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeParams, MemoryMethods, MessageType } from '../../../src/Interface' class DynamoDb_Memory implements INode { label: string @@ -102,49 +112,199 @@ class DynamoDb_Memory implements INode { const initalizeDynamoDB = async (nodeData: INodeData, options: ICommonObject): Promise => { const tableName = nodeData.inputs?.tableName as string const partitionKey = nodeData.inputs?.partitionKey as string - const sessionId = nodeData.inputs?.sessionId as string const region = nodeData.inputs?.region as string const memoryKey = nodeData.inputs?.memoryKey as string const chatId = options.chatId let isSessionIdUsingChatMessageId = false - if (!sessionId && chatId) isSessionIdUsingChatMessageId = true + let sessionId = '' + + if (!nodeData.inputs?.sessionId && chatId) { + isSessionIdUsingChatMessageId = true + sessionId = chatId + } else { + sessionId = nodeData.inputs?.sessionId + } const credentialData = await getCredentialData(nodeData.credential ?? '', options) const accessKeyId = getCredentialParam('accessKey', credentialData, nodeData) const secretAccessKey = getCredentialParam('secretAccessKey', credentialData, nodeData) + const config: DynamoDBClientConfig = { + region, + credentials: { + accessKeyId, + secretAccessKey + } + } + + const client = new DynamoDBClient(config ?? {}) + const dynamoDb = new DynamoDBChatMessageHistory({ tableName, partitionKey, - sessionId: sessionId ? sessionId : chatId, - config: { - region, - credentials: { - accessKeyId, - secretAccessKey - } - } + sessionId, + config }) const memory = new BufferMemoryExtended({ memoryKey: memoryKey ?? 'chat_history', chatHistory: dynamoDb, - isSessionIdUsingChatMessageId + isSessionIdUsingChatMessageId, + sessionId, + dynamodbClient: client }) return memory } interface BufferMemoryExtendedInput { isSessionIdUsingChatMessageId: boolean + dynamodbClient: DynamoDBClient + sessionId: string } -class BufferMemoryExtended extends BufferMemory { - isSessionIdUsingChatMessageId? = false +interface DynamoDBSerializedChatMessage { + M: { + type: { + S: string + } + text: { + S: string + } + role?: { + S: string + } + } +} - constructor(fields: BufferMemoryInput & Partial) { +class BufferMemoryExtended extends FlowiseMemory implements MemoryMethods { + isSessionIdUsingChatMessageId = false + sessionId = '' + dynamodbClient: DynamoDBClient + + constructor(fields: BufferMemoryInput & BufferMemoryExtendedInput) { super(fields) - this.isSessionIdUsingChatMessageId = fields.isSessionIdUsingChatMessageId + this.sessionId = fields.sessionId + this.dynamodbClient = fields.dynamodbClient + } + + overrideDynamoKey(overrideSessionId = '') { + const existingDynamoKey = (this as any).dynamoKey + const partitionKey = (this as any).partitionKey + + let newDynamoKey: Record = {} + + if (Object.keys(existingDynamoKey).includes(partitionKey)) { + newDynamoKey[partitionKey] = { S: overrideSessionId } + } + + return Object.keys(newDynamoKey).length ? newDynamoKey : existingDynamoKey + } + + async addNewMessage( + messages: StoredMessage[], + client: DynamoDBClient, + tableName = '', + dynamoKey: Record = {}, + messageAttributeName = 'messages' + ) { + const params: UpdateItemCommandInput = { + TableName: tableName, + Key: dynamoKey, + ExpressionAttributeNames: { + '#m': messageAttributeName + }, + ExpressionAttributeValues: { + ':empty_list': { + L: [] + }, + ':m': { + L: messages.map((message) => { + const dynamoSerializedMessage: DynamoDBSerializedChatMessage = { + M: { + type: { + S: message.type + }, + text: { + S: message.data.content + } + } + } + if (message.data.role) { + dynamoSerializedMessage.M.role = { S: message.data.role } + } + return dynamoSerializedMessage + }) + } + }, + UpdateExpression: 'SET #m = list_append(if_not_exists(#m, :empty_list), :m)' + } + + await client.send(new UpdateItemCommand(params)) + } + + async getChatMessages(overrideSessionId = '', returnBaseMessages = false): Promise { + if (!this.dynamodbClient) return [] + + const dynamoKey = overrideSessionId ? this.overrideDynamoKey(overrideSessionId) : (this as any).dynamoKey + const tableName = (this as any).tableName + const messageAttributeName = (this as any).messageAttributeName + + const params: GetItemCommandInput = { + TableName: tableName, + Key: dynamoKey + } + + const response = await this.dynamodbClient.send(new GetItemCommand(params)) + const items = response.Item ? response.Item[messageAttributeName]?.L ?? [] : [] + const messages = items + .map((item) => ({ + type: item.M?.type.S, + data: { + role: item.M?.role?.S, + content: item.M?.text.S + } + })) + .filter((x): x is StoredMessage => x.type !== undefined && x.data.content !== undefined) + const baseMessages = messages.map(mapStoredMessageToChatMessage) + return returnBaseMessages ? baseMessages : convertBaseMessagetoIMessage(baseMessages) + } + + async addChatMessages(msgArray: { text: string; type: MessageType }[], overrideSessionId = ''): Promise { + if (!this.dynamodbClient) return + + const dynamoKey = overrideSessionId ? this.overrideDynamoKey(overrideSessionId) : (this as any).dynamoKey + const tableName = (this as any).tableName + const messageAttributeName = (this as any).messageAttributeName + + const input = msgArray.find((msg) => msg.type === 'userMessage') + const output = msgArray.find((msg) => msg.type === 'apiMessage') + + if (input) { + const newInputMessage = new HumanMessage(input.text) + const messageToAdd = [newInputMessage].map((msg) => msg.toDict()) + await this.addNewMessage(messageToAdd, this.dynamodbClient, tableName, dynamoKey, messageAttributeName) + } + + if (output) { + const newOutputMessage = new AIMessage(output.text) + const messageToAdd = [newOutputMessage].map((msg) => msg.toDict()) + await this.addNewMessage(messageToAdd, this.dynamodbClient, tableName, dynamoKey, messageAttributeName) + } + } + + async clearChatMessages(overrideSessionId = ''): Promise { + if (!this.dynamodbClient) return + + const dynamoKey = overrideSessionId ? this.overrideDynamoKey(overrideSessionId) : (this as any).dynamoKey + const tableName = (this as any).tableName + + const params: DeleteItemCommandInput = { + TableName: tableName, + Key: dynamoKey + } + await this.dynamodbClient.send(new DeleteItemCommand(params)) + await this.clear() } } diff --git a/packages/components/nodes/memory/MongoDBMemory/MongoDBMemory.ts b/packages/components/nodes/memory/MongoDBMemory/MongoDBMemory.ts index b654a5b2..681e9042 100644 --- a/packages/components/nodes/memory/MongoDBMemory/MongoDBMemory.ts +++ b/packages/components/nodes/memory/MongoDBMemory/MongoDBMemory.ts @@ -1,17 +1,15 @@ +import { MongoClient, Collection, Document } from 'mongodb' +import { MongoDBChatMessageHistory } from 'langchain/stores/message/mongodb' +import { BufferMemory, BufferMemoryInput } from 'langchain/memory' +import { mapStoredMessageToChatMessage, AIMessage, HumanMessage, BaseMessage } from 'langchain/schema' import { + convertBaseMessagetoIMessage, getBaseClasses, getCredentialData, getCredentialParam, - ICommonObject, - INode, - INodeData, - INodeParams, serializeChatHistory -} from '../../../src' -import { MongoDBChatMessageHistory } from 'langchain/stores/message/mongodb' -import { BufferMemory, BufferMemoryInput } from 'langchain/memory' -import { BaseMessage, mapStoredMessageToChatMessage } from 'langchain/schema' -import { MongoClient } from 'mongodb' +} from '../../../src/utils' +import { FlowiseMemory, ICommonObject, IMessage, INode, INodeData, INodeParams, MemoryMethods, MessageType } from '../../../src/Interface' class MongoDB_Memory implements INode { label: string @@ -99,23 +97,30 @@ class MongoDB_Memory implements INode { const initializeMongoDB = async (nodeData: INodeData, options: ICommonObject): Promise => { const databaseName = nodeData.inputs?.databaseName as string const collectionName = nodeData.inputs?.collectionName as string - const sessionId = nodeData.inputs?.sessionId as string const memoryKey = nodeData.inputs?.memoryKey as string const chatId = options?.chatId as string let isSessionIdUsingChatMessageId = false - if (!sessionId && chatId) isSessionIdUsingChatMessageId = true + let sessionId = '' + + if (!nodeData.inputs?.sessionId && chatId) { + isSessionIdUsingChatMessageId = true + sessionId = chatId + } else { + sessionId = nodeData.inputs?.sessionId + } const credentialData = await getCredentialData(nodeData.credential ?? '', options) - let mongoDBConnectUrl = getCredentialParam('mongoDBConnectUrl', credentialData, nodeData) + const mongoDBConnectUrl = getCredentialParam('mongoDBConnectUrl', credentialData, nodeData) const client = new MongoClient(mongoDBConnectUrl) await client.connect() + const collection = client.db(databaseName).collection(collectionName) const mongoDBChatMessageHistory = new MongoDBChatMessageHistory({ collection, - sessionId: sessionId ? sessionId : chatId + sessionId }) mongoDBChatMessageHistory.getMessages = async (): Promise => { @@ -144,20 +149,77 @@ const initializeMongoDB = async (nodeData: INodeData, options: ICommonObject): P return new BufferMemoryExtended({ memoryKey: memoryKey ?? 'chat_history', chatHistory: mongoDBChatMessageHistory, - isSessionIdUsingChatMessageId + isSessionIdUsingChatMessageId, + sessionId, + collection }) } interface BufferMemoryExtendedInput { isSessionIdUsingChatMessageId: boolean + collection: Collection + sessionId: string } -class BufferMemoryExtended extends BufferMemory { +class BufferMemoryExtended extends FlowiseMemory implements MemoryMethods { + sessionId = '' + collection: Collection isSessionIdUsingChatMessageId? = false - constructor(fields: BufferMemoryInput & Partial) { + constructor(fields: BufferMemoryInput & BufferMemoryExtendedInput) { super(fields) - this.isSessionIdUsingChatMessageId = fields.isSessionIdUsingChatMessageId + this.sessionId = fields.sessionId + this.collection = fields.collection + } + + async getChatMessages(overrideSessionId = '', returnBaseMessages = false): Promise { + if (!this.collection) return [] + + const id = overrideSessionId ?? this.sessionId + const document = await this.collection.findOne({ sessionId: id }) + const messages = document?.messages || [] + const baseMessages = messages.map(mapStoredMessageToChatMessage) + return returnBaseMessages ? baseMessages : convertBaseMessagetoIMessage(baseMessages) + } + + async addChatMessages(msgArray: { text: string; type: MessageType }[], overrideSessionId = ''): Promise { + if (!this.collection) return + + const id = overrideSessionId ?? this.sessionId + const input = msgArray.find((msg) => msg.type === 'userMessage') + const output = msgArray.find((msg) => msg.type === 'apiMessage') + + if (input) { + const newInputMessage = new HumanMessage(input.text) + const messageToAdd = [newInputMessage].map((msg) => msg.toDict()) + await this.collection.updateOne( + { sessionId: id }, + { + $push: { messages: { $each: messageToAdd } } + }, + { upsert: true } + ) + } + + if (output) { + const newOutputMessage = new AIMessage(output.text) + const messageToAdd = [newOutputMessage].map((msg) => msg.toDict()) + await this.collection.updateOne( + { sessionId: id }, + { + $push: { messages: { $each: messageToAdd } } + }, + { upsert: true } + ) + } + } + + async clearChatMessages(overrideSessionId = ''): Promise { + if (!this.collection) return + + const id = overrideSessionId ?? this.sessionId + await this.collection.deleteOne({ sessionId: id }) + await this.clear() } } diff --git a/packages/components/nodes/memory/MotorheadMemory/MotorheadMemory.ts b/packages/components/nodes/memory/MotorheadMemory/MotorheadMemory.ts index fc4a06dc..97f25ba3 100644 --- a/packages/components/nodes/memory/MotorheadMemory/MotorheadMemory.ts +++ b/packages/components/nodes/memory/MotorheadMemory/MotorheadMemory.ts @@ -1,9 +1,9 @@ -import { INode, INodeData, INodeParams } from '../../../src/Interface' -import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' +import { IMessage, INode, INodeData, INodeParams, MessageType } from '../../../src/Interface' +import { convertBaseMessagetoIMessage, getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' import { ICommonObject } from '../../../src' -import { MotorheadMemory, MotorheadMemoryInput } from 'langchain/memory' +import { MotorheadMemory, MotorheadMemoryInput, InputValues, MemoryVariables, OutputValues, getBufferString } from 'langchain/memory' import fetch from 'node-fetch' -import { getBufferString } from 'langchain/memory' +import { BaseMessage } from 'langchain/schema' class MotorMemory_Memory implements INode { label: string @@ -88,19 +88,26 @@ class MotorMemory_Memory implements INode { const initalizeMotorhead = async (nodeData: INodeData, options: ICommonObject): Promise => { const memoryKey = nodeData.inputs?.memoryKey as string const baseURL = nodeData.inputs?.baseURL as string - const sessionId = nodeData.inputs?.sessionId as string const chatId = options?.chatId as string let isSessionIdUsingChatMessageId = false - if (!sessionId && chatId) isSessionIdUsingChatMessageId = true + let sessionId = '' + + if (!nodeData.inputs?.sessionId && chatId) { + isSessionIdUsingChatMessageId = true + sessionId = chatId + } else { + sessionId = nodeData.inputs?.sessionId + } const credentialData = await getCredentialData(nodeData.credential ?? '', options) const apiKey = getCredentialParam('apiKey', credentialData, nodeData) const clientId = getCredentialParam('clientId', credentialData, nodeData) - let obj: MotorheadMemoryInput & Partial = { + let obj: MotorheadMemoryInput & MotorheadMemoryExtendedInput = { returnMessages: true, - sessionId: sessionId ? sessionId : chatId, + isSessionIdUsingChatMessageId, + sessionId, memoryKey } @@ -117,8 +124,6 @@ const initalizeMotorhead = async (nodeData: INodeData, options: ICommonObject): } } - if (isSessionIdUsingChatMessageId) obj.isSessionIdUsingChatMessageId = true - const motorheadMemory = new MotorheadMemoryExtended(obj) // Get messages from sessionId @@ -134,12 +139,29 @@ interface MotorheadMemoryExtendedInput { class MotorheadMemoryExtended extends MotorheadMemory { isSessionIdUsingChatMessageId? = false - constructor(fields: MotorheadMemoryInput & Partial) { + constructor(fields: MotorheadMemoryInput & MotorheadMemoryExtendedInput) { super(fields) this.isSessionIdUsingChatMessageId = fields.isSessionIdUsingChatMessageId } - async clear(): Promise { + async loadMemoryVariables(values: InputValues, overrideSessionId = ''): Promise { + if (overrideSessionId) { + this.sessionId = overrideSessionId + } + return super.loadMemoryVariables({ values }) + } + + async saveContext(inputValues: InputValues, outputValues: OutputValues, overrideSessionId = ''): Promise { + if (overrideSessionId) { + this.sessionId = overrideSessionId + } + return super.saveContext(inputValues, outputValues) + } + + async clear(overrideSessionId = ''): Promise { + if (overrideSessionId) { + this.sessionId = overrideSessionId + } try { await this.caller.call(fetch, `${this.url}/sessions/${this.sessionId}/memory`, { //@ts-ignore @@ -155,6 +177,28 @@ class MotorheadMemoryExtended extends MotorheadMemory { await this.chatHistory.clear() await super.clear() } + + async getChatMessages(overrideSessionId = '', returnBaseMessages = false): Promise { + const id = overrideSessionId ?? this.sessionId + const memoryVariables = await this.loadMemoryVariables({}, id) + const baseMessages = memoryVariables[this.memoryKey] + return returnBaseMessages ? baseMessages : convertBaseMessagetoIMessage(baseMessages) + } + + async addChatMessages(msgArray: { text: string; type: MessageType }[], overrideSessionId = ''): Promise { + const id = overrideSessionId ?? this.sessionId + const input = msgArray.find((msg) => msg.type === 'userMessage') + const output = msgArray.find((msg) => msg.type === 'apiMessage') + const inputValues = { [this.inputKey ?? 'input']: input?.text } + const outputValues = { output: output?.text } + + await this.saveContext(inputValues, outputValues, id) + } + + async clearChatMessages(overrideSessionId = ''): Promise { + const id = overrideSessionId ?? this.sessionId + await this.clear(id) + } } module.exports = { nodeClass: MotorMemory_Memory } diff --git a/packages/components/nodes/memory/UpstashRedisBackedChatMemory/UpstashRedisBackedChatMemory.ts b/packages/components/nodes/memory/UpstashRedisBackedChatMemory/UpstashRedisBackedChatMemory.ts index 8bca0440..3ff20a88 100644 --- a/packages/components/nodes/memory/UpstashRedisBackedChatMemory/UpstashRedisBackedChatMemory.ts +++ b/packages/components/nodes/memory/UpstashRedisBackedChatMemory/UpstashRedisBackedChatMemory.ts @@ -1,8 +1,16 @@ -import { INode, INodeData, INodeParams } from '../../../src/Interface' -import { getBaseClasses, getCredentialData, getCredentialParam, serializeChatHistory } from '../../../src/utils' -import { ICommonObject } from '../../../src' +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 { FlowiseMemory, IMessage, INode, INodeData, INodeParams, MemoryMethods, MessageType } from '../../../src/Interface' +import { + convertBaseMessagetoIMessage, + getBaseClasses, + getCredentialData, + getCredentialParam, + serializeChatHistory +} from '../../../src/utils' +import { ICommonObject } from '../../../src/Interface' class UpstashRedisBackedChatMemory_Memory implements INode { label: string @@ -84,29 +92,39 @@ class UpstashRedisBackedChatMemory_Memory implements INode { const initalizeUpstashRedis = async (nodeData: INodeData, options: ICommonObject): Promise => { const baseURL = nodeData.inputs?.baseURL as string - const sessionId = nodeData.inputs?.sessionId as string const sessionTTL = nodeData.inputs?.sessionTTL as string const chatId = options?.chatId as string let isSessionIdUsingChatMessageId = false - if (!sessionId && chatId) isSessionIdUsingChatMessageId = true + let sessionId = '' + + if (!nodeData.inputs?.sessionId && chatId) { + isSessionIdUsingChatMessageId = true + sessionId = chatId + } else { + sessionId = nodeData.inputs?.sessionId + } const credentialData = await getCredentialData(nodeData.credential ?? '', options) const upstashRestToken = getCredentialParam('upstashRestToken', credentialData, nodeData) + const client = new Redis({ + url: baseURL, + token: upstashRestToken + }) + const redisChatMessageHistory = new UpstashRedisChatMessageHistory({ - sessionId: sessionId ? sessionId : chatId, + sessionId, sessionTTL: sessionTTL ? parseInt(sessionTTL, 10) : undefined, - config: { - url: baseURL, - token: upstashRestToken - } + client }) const memory = new BufferMemoryExtended({ memoryKey: 'chat_history', chatHistory: redisChatMessageHistory, - isSessionIdUsingChatMessageId + isSessionIdUsingChatMessageId, + sessionId, + redisClient: client }) return memory @@ -114,14 +132,59 @@ const initalizeUpstashRedis = async (nodeData: INodeData, options: ICommonObject interface BufferMemoryExtendedInput { isSessionIdUsingChatMessageId: boolean + redisClient: Redis + sessionId: string } -class BufferMemoryExtended extends BufferMemory { +class BufferMemoryExtended extends FlowiseMemory implements MemoryMethods { isSessionIdUsingChatMessageId? = false + sessionId = '' + redisClient: Redis - constructor(fields: BufferMemoryInput & Partial) { + constructor(fields: BufferMemoryInput & BufferMemoryExtendedInput) { super(fields) this.isSessionIdUsingChatMessageId = fields.isSessionIdUsingChatMessageId + this.sessionId = fields.sessionId + this.redisClient = fields.redisClient + } + + async getChatMessages(overrideSessionId = '', returnBaseMessages = false): Promise { + if (!this.redisClient) return [] + + const id = overrideSessionId ?? this.sessionId + const rawStoredMessages: StoredMessage[] = await this.redisClient.lrange(id, 0, -1) + const orderedMessages = rawStoredMessages.reverse() + const previousMessages = orderedMessages.filter((x): x is StoredMessage => x.type !== undefined && x.data.content !== undefined) + const baseMessages = previousMessages.map(mapStoredMessageToChatMessage) + return returnBaseMessages ? baseMessages : convertBaseMessagetoIMessage(baseMessages) + } + + async addChatMessages(msgArray: { text: string; type: MessageType }[], overrideSessionId = ''): Promise { + if (!this.redisClient) return + + const id = overrideSessionId ?? this.sessionId + const input = msgArray.find((msg) => msg.type === 'userMessage') + const output = msgArray.find((msg) => msg.type === 'apiMessage') + + if (input) { + const newInputMessage = new HumanMessage(input.text) + const messageToAdd = [newInputMessage].map((msg) => msg.toDict()) + await this.redisClient.lpush(id, JSON.stringify(messageToAdd[0])) + } + + if (output) { + const newOutputMessage = new AIMessage(output.text) + const messageToAdd = [newOutputMessage].map((msg) => msg.toDict()) + await this.redisClient.lpush(id, JSON.stringify(messageToAdd[0])) + } + } + + async clearChatMessages(overrideSessionId = ''): Promise { + if (!this.redisClient) return + + const id = overrideSessionId ?? this.sessionId + await this.redisClient.del(id) + await this.clear() } } diff --git a/packages/components/nodes/memory/ZepMemory/ZepMemory.ts b/packages/components/nodes/memory/ZepMemory/ZepMemory.ts index ea52cb0b..3da35db2 100644 --- a/packages/components/nodes/memory/ZepMemory/ZepMemory.ts +++ b/packages/components/nodes/memory/ZepMemory/ZepMemory.ts @@ -1,8 +1,9 @@ +import { IMessage, INode, INodeData, INodeParams, MessageType } from '../../../src/Interface' +import { convertBaseMessagetoIMessage, getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' import { ZepMemory, ZepMemoryInput } from 'langchain/memory/zep' -import { getBufferString, InputValues, MemoryVariables, OutputValues } from 'langchain/memory' -import { INode, INodeData, INodeParams } from '../../../src/Interface' -import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' import { ICommonObject } from '../../../src' +import { InputValues, MemoryVariables, OutputValues, getBufferString } from 'langchain/memory' +import { BaseMessage } from 'langchain/schema' class ZepMemory_Memory implements INode { label: string @@ -147,7 +148,7 @@ const initalizeZep = async (nodeData: INodeData, options: ICommonObject): Promis const obj: ZepMemoryInput & ZepMemoryExtendedInput = { baseURL, - sessionId: sessionId ? sessionId : chatId, + sessionId, aiPrefix, humanPrefix, returnMessages: true, @@ -196,6 +197,28 @@ class ZepMemoryExtended extends ZepMemory { } return super.clear() } + + async getChatMessages(overrideSessionId = '', returnBaseMessages = false): Promise { + const id = overrideSessionId ?? this.sessionId + const memoryVariables = await this.loadMemoryVariables({}, id) + const baseMessages = memoryVariables[this.memoryKey] + return returnBaseMessages ? baseMessages : convertBaseMessagetoIMessage(baseMessages) + } + + async addChatMessages(msgArray: { text: string; type: MessageType }[], overrideSessionId = ''): Promise { + const id = overrideSessionId ?? this.sessionId + const input = msgArray.find((msg) => msg.type === 'userMessage') + const output = msgArray.find((msg) => msg.type === 'apiMessage') + const inputValues = { [this.inputKey ?? 'input']: input?.text } + const outputValues = { output: output?.text } + + await this.saveContext(inputValues, outputValues, id) + } + + async clearChatMessages(overrideSessionId = ''): Promise { + const id = overrideSessionId ?? this.sessionId + await this.clear(id) + } } module.exports = { nodeClass: ZepMemory_Memory } diff --git a/packages/components/src/Interface.ts b/packages/components/src/Interface.ts index bc50155c..e508ebee 100644 --- a/packages/components/src/Interface.ts +++ b/packages/components/src/Interface.ts @@ -196,3 +196,34 @@ export class VectorStoreRetriever { this.vectorStore = fields.vectorStore } } + +/** + * Implement abstract classes and interface for memory + */ +import { BaseMessage } from 'langchain/schema' +import { BufferMemory, BufferWindowMemory, ConversationSummaryMemory } from 'langchain/memory' + +export interface MemoryMethods { + getChatMessages(overrideSessionId?: string, returnBaseMessages?: boolean): Promise + addChatMessages(msgArray: { text: string; type: MessageType }[], overrideSessionId?: string): Promise + clearChatMessages(overrideSessionId?: string): Promise + resumeMessages?(messages: IMessage[]): Promise +} + +export abstract class FlowiseMemory extends BufferMemory implements MemoryMethods { + abstract getChatMessages(overrideSessionId?: string, returnBaseMessages?: boolean): Promise + abstract addChatMessages(msgArray: { text: string; type: MessageType }[], overrideSessionId?: string): Promise + abstract clearChatMessages(overrideSessionId?: string): Promise +} + +export abstract class FlowiseWindowMemory extends BufferWindowMemory implements MemoryMethods { + abstract getChatMessages(overrideSessionId?: string, returnBaseMessages?: boolean): Promise + abstract addChatMessages(msgArray: { text: string; type: MessageType }[], overrideSessionId?: string): Promise + abstract clearChatMessages(overrideSessionId?: string): Promise +} + +export abstract class FlowiseSummaryMemory extends ConversationSummaryMemory implements MemoryMethods { + abstract getChatMessages(overrideSessionId?: string, returnBaseMessages?: boolean): Promise + abstract addChatMessages(msgArray: { text: string; type: MessageType }[], overrideSessionId?: string): Promise + abstract clearChatMessages(overrideSessionId?: string): Promise +} From 19f2989c8317b88e1ec3cb57cb6513069273fdad Mon Sep 17 00:00:00 2001 From: Henry Date: Thu, 21 Dec 2023 01:14:53 +0000 Subject: [PATCH 11/58] rename agent executor name --- .../OpenAIFunctionAgent.ts | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts b/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts index 63749fd2..275eb950 100644 --- a/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts +++ b/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts @@ -1,5 +1,5 @@ import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface' -import { AgentExecutor, AgentExecutorInput } from 'langchain/agents' +import { AgentExecutor as LCAgentExecutor, AgentExecutorInput } from 'langchain/agents' import { ChainValues, AgentStep, AgentFinish, AgentAction, BaseMessage, FunctionMessage, AIMessage } from 'langchain/schema' import { OutputParserException } from 'langchain/schema/output_parser' import { CallbackManagerForChainRun } from 'langchain/callbacks' @@ -34,7 +34,7 @@ class OpenAIFunctionAgent_Agents implements INode { this.category = 'Agents' this.icon = 'function.svg' this.description = `An agent that uses Function Calling to pick the tool and args to call` - this.baseClasses = [this.type, ...getBaseClasses(AgentExecutor)] + this.baseClasses = [this.type, ...getBaseClasses(LCAgentExecutor)] this.inputs = [ { label: 'Allowed Tools', @@ -124,12 +124,13 @@ const prepareAgent = (nodeData: INodeData, sessionId?: string) => { const systemMessage = nodeData.inputs?.systemMessage as string let tools = nodeData.inputs?.tools tools = flatten(tools) - const memoryKey = memory.memoryKey ?? 'chat_history' + const memoryKey = memory.memoryKey ? memory.memoryKey : 'chat_history' + const inputKey = memory.inputKey ? memory.inputKey : 'input' const prompt = ChatPromptTemplate.fromMessages([ - ['ai', systemMessage ?? `You are a helpful AI assistant.`], + ['ai', systemMessage ? systemMessage : `You are a helpful AI assistant.`], new MessagesPlaceholder(memoryKey), - ['human', '{input}'], + ['human', `{${inputKey}}`], new MessagesPlaceholder('agent_scratchpad') ]) @@ -139,7 +140,7 @@ const prepareAgent = (nodeData: INodeData, sessionId?: string) => { const runnableAgent = RunnableSequence.from([ { - input: (i: { input: string; steps: AgentStep[] }) => i.input, + [inputKey]: (i: { input: string; steps: AgentStep[] }) => i.input, agent_scratchpad: (i: { input: string; steps: AgentStep[] }) => formatAgentSteps(i.steps), [memoryKey]: async (_: { input: string; steps: AgentStep[] }) => { const messages: BaseMessage[] = await memory.getChatMessages(sessionId, true) @@ -151,7 +152,7 @@ const prepareAgent = (nodeData: INodeData, sessionId?: string) => { new OpenAIFunctionsAgentOutputParser() ]) - const executor = AgentExecutorExtended.fromAgentAndTools({ + const executor = AgentExecutor.fromAgentAndTools({ agent: runnableAgent, tools, sessionId @@ -162,11 +163,11 @@ const prepareAgent = (nodeData: INodeData, sessionId?: string) => { type AgentExecutorOutput = ChainValues -class AgentExecutorExtended extends AgentExecutor { +class AgentExecutor extends LCAgentExecutor { sessionId?: string - static fromAgentAndTools(fields: AgentExecutorInput & { sessionId?: string }): AgentExecutorExtended { - const newInstance = new AgentExecutorExtended(fields) + static fromAgentAndTools(fields: AgentExecutorInput & { sessionId?: string }): AgentExecutor { + const newInstance = new AgentExecutor(fields) if (fields.sessionId) newInstance.sessionId = fields.sessionId return newInstance } From cc7debda0e1275c4c5a01e4222526dda873cf7da Mon Sep 17 00:00:00 2001 From: Henry Date: Thu, 21 Dec 2023 01:52:03 +0000 Subject: [PATCH 12/58] update openai assistant tool --- .../components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts b/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts index 42686ae0..c2d0e782 100644 --- a/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts +++ b/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts @@ -265,7 +265,7 @@ class OpenAIAssistant_Agents implements INode { // Start tool analytics const toolIds = await analyticHandlers.onToolStart(tool.name, actions[i].toolInput, parentIds) - const toolOutput = await tool.call(actions[i].toolInput) + const toolOutput = await tool.call(actions[i].toolInput, undefined, undefined, threadId) // End tool analytics await analyticHandlers.onToolEnd(toolIds, toolOutput) From d67cf332d8e442a78985f8c290ff6489e5ec2eae Mon Sep 17 00:00:00 2001 From: abhishekshankr Date: Thu, 21 Dec 2023 11:57:09 -0500 Subject: [PATCH 13/58] Update icons --- .../chatmodels/AWSBedrock/AWSChatBedrock.ts | 2 +- .../nodes/chatmodels/AWSBedrock/aws.svg | 6 +- .../chatmodels/AzureChatOpenAI/Azure.svg | 2 +- .../nodes/chatmodels/Bittensor/Bittensor.ts | 2 +- .../chatmodels/Bittensor/NIBittensor.svg | 1 + .../nodes/chatmodels/Bittensor/logo.png | Bin 24561 -> 0 bytes .../chatmodels/ChatAnthropic/Anthropic.svg | 1 + .../chatmodels/ChatAnthropic/ChatAnthropic.ts | 2 +- .../ChatAnthropic/chatAnthropic.png | Bin 58491 -> 0 bytes .../ChatGoogleGenerativeAI.ts | 2 +- .../ChatGoogleGenerativeAI/GoogleGemini.svg | 34 +++++++++ .../ChatGoogleGenerativeAI/gemini.png | Bin 57143 -> 0 bytes .../ChatGooglePaLM/ChatGooglePaLM.ts | 2 +- .../chatmodels/ChatGooglePaLM/GooglePaLM.svg | 1 + .../ChatGooglePaLM/Google_PaLM_Logo.svg | 67 ------------------ .../ChatGoogleVertexAI/ChatGoogleVertexAI.ts | 2 +- .../ChatGoogleVertexAI/GoogleVertex.svg | 1 + .../ChatGoogleVertexAI/vertexai.svg | 2 - .../ChatHuggingFace/ChatHuggingFace.ts | 2 +- .../ChatHuggingFace/HuggingFace.svg | 1 + .../ChatHuggingFace/huggingface.png | Bin 120391 -> 0 bytes .../chatmodels/ChatMistral/ChatMistral.ts | 2 +- .../chatmodels/ChatMistral/MistralAI.svg | 1 + .../chatmodels/ChatMistral/mistralai.png | Bin 4542 -> 0 bytes .../nodes/chatmodels/ChatOllama/ChatOllama.ts | 2 +- .../nodes/chatmodels/ChatOllama/Ollama.svg | 1 + .../nodes/chatmodels/ChatOllama/ollama.png | Bin 7487 -> 0 bytes .../embeddings/AWSBedrockEmbedding/aws.svg | 6 +- .../embeddings/AzureOpenAIEmbedding/Azure.svg | 2 +- .../embeddings/CohereEmbedding/Cohere.svg | 1 + .../CohereEmbedding/CohereEmbedding.ts | 2 +- .../embeddings/CohereEmbedding/cohere.png | Bin 7847 -> 0 bytes .../GoogleGemini.svg | 34 +++++++++ .../GoogleGenerativeAIEmbedding.ts | 2 +- .../GoogleGenerativeAIEmbedding/gemini.png | Bin 57143 -> 0 bytes .../GooglePaLMEmbedding/GooglePaLM.svg | 1 + .../GooglePaLMEmbedding.ts | 2 +- .../GooglePaLMEmbedding/Google_PaLM_Logo.svg | 67 ------------------ .../GoogleVertexAIEmbedding/GoogleVertex.svg | 1 + .../GoogleVertexAIEmbedding.ts | 2 +- .../GoogleVertexAIEmbedding/vertexai.svg | 2 - .../HuggingFace.svg | 1 + .../HuggingFaceInferenceEmbedding.ts | 2 +- .../huggingface.png | Bin 120391 -> 0 bytes .../embeddings/MistralEmbedding/MistralAI.svg | 1 + .../MistralEmbedding/MistralEmbedding.ts | 2 +- .../embeddings/MistralEmbedding/mistralai.png | Bin 4542 -> 0 bytes .../embeddings/OllamaEmbedding/Ollama.svg | 1 + .../OllamaEmbedding/OllamaEmbedding.ts | 2 +- .../embeddings/OllamaEmbedding/ollama.png | Bin 7487 -> 0 bytes .../components/nodes/llms/AWSBedrock/aws.svg | 6 +- .../nodes/llms/Azure OpenAI/Azure.svg | 2 +- .../nodes/llms/Bittensor/Bittensor.ts | 2 +- .../nodes/llms/Bittensor/NIBittensor.svg | 1 + .../components/nodes/llms/Bittensor/logo.png | Bin 24561 -> 0 bytes .../components/nodes/llms/Cohere/Cohere.svg | 1 + .../components/nodes/llms/Cohere/Cohere.ts | 2 +- .../components/nodes/llms/Cohere/cohere.png | Bin 7847 -> 0 bytes .../nodes/llms/GooglePaLM/GooglePaLM.svg | 1 + .../nodes/llms/GooglePaLM/GooglePaLM.ts | 2 +- .../llms/GooglePaLM/Google_PaLM_Logo.svg | 67 ------------------ .../llms/GoogleVertexAI/GoogleVertex.svg | 1 + .../llms/GoogleVertexAI/GoogleVertexAI.ts | 2 +- .../nodes/llms/GoogleVertexAI/vertexai.svg | 2 - .../llms/HuggingFaceInference/HuggingFace.svg | 1 + .../HuggingFaceInference.ts | 2 +- .../llms/HuggingFaceInference/huggingface.png | Bin 120391 -> 0 bytes .../components/nodes/llms/Ollama/Ollama.svg | 1 + .../components/nodes/llms/Ollama/Ollama.ts | 2 +- .../components/nodes/llms/Ollama/ollama.png | Bin 7487 -> 0 bytes .../IfElseFunction/ifelsefunction.svg | 2 +- 71 files changed, 116 insertions(+), 248 deletions(-) create mode 100644 packages/components/nodes/chatmodels/Bittensor/NIBittensor.svg delete mode 100644 packages/components/nodes/chatmodels/Bittensor/logo.png create mode 100644 packages/components/nodes/chatmodels/ChatAnthropic/Anthropic.svg delete mode 100644 packages/components/nodes/chatmodels/ChatAnthropic/chatAnthropic.png create mode 100644 packages/components/nodes/chatmodels/ChatGoogleGenerativeAI/GoogleGemini.svg delete mode 100644 packages/components/nodes/chatmodels/ChatGoogleGenerativeAI/gemini.png create mode 100644 packages/components/nodes/chatmodels/ChatGooglePaLM/GooglePaLM.svg delete mode 100644 packages/components/nodes/chatmodels/ChatGooglePaLM/Google_PaLM_Logo.svg create mode 100644 packages/components/nodes/chatmodels/ChatGoogleVertexAI/GoogleVertex.svg delete mode 100644 packages/components/nodes/chatmodels/ChatGoogleVertexAI/vertexai.svg create mode 100644 packages/components/nodes/chatmodels/ChatHuggingFace/HuggingFace.svg delete mode 100644 packages/components/nodes/chatmodels/ChatHuggingFace/huggingface.png create mode 100644 packages/components/nodes/chatmodels/ChatMistral/MistralAI.svg delete mode 100644 packages/components/nodes/chatmodels/ChatMistral/mistralai.png create mode 100644 packages/components/nodes/chatmodels/ChatOllama/Ollama.svg delete mode 100644 packages/components/nodes/chatmodels/ChatOllama/ollama.png create mode 100644 packages/components/nodes/embeddings/CohereEmbedding/Cohere.svg delete mode 100644 packages/components/nodes/embeddings/CohereEmbedding/cohere.png create mode 100644 packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGemini.svg delete mode 100644 packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/gemini.png create mode 100644 packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLM.svg delete mode 100644 packages/components/nodes/embeddings/GooglePaLMEmbedding/Google_PaLM_Logo.svg create mode 100644 packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertex.svg delete mode 100644 packages/components/nodes/embeddings/GoogleVertexAIEmbedding/vertexai.svg create mode 100644 packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFace.svg delete mode 100644 packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/huggingface.png create mode 100644 packages/components/nodes/embeddings/MistralEmbedding/MistralAI.svg delete mode 100644 packages/components/nodes/embeddings/MistralEmbedding/mistralai.png create mode 100644 packages/components/nodes/embeddings/OllamaEmbedding/Ollama.svg delete mode 100644 packages/components/nodes/embeddings/OllamaEmbedding/ollama.png create mode 100644 packages/components/nodes/llms/Bittensor/NIBittensor.svg delete mode 100644 packages/components/nodes/llms/Bittensor/logo.png create mode 100644 packages/components/nodes/llms/Cohere/Cohere.svg delete mode 100644 packages/components/nodes/llms/Cohere/cohere.png create mode 100644 packages/components/nodes/llms/GooglePaLM/GooglePaLM.svg delete mode 100644 packages/components/nodes/llms/GooglePaLM/Google_PaLM_Logo.svg create mode 100644 packages/components/nodes/llms/GoogleVertexAI/GoogleVertex.svg delete mode 100644 packages/components/nodes/llms/GoogleVertexAI/vertexai.svg create mode 100644 packages/components/nodes/llms/HuggingFaceInference/HuggingFace.svg delete mode 100644 packages/components/nodes/llms/HuggingFaceInference/huggingface.png create mode 100644 packages/components/nodes/llms/Ollama/Ollama.svg delete mode 100644 packages/components/nodes/llms/Ollama/ollama.png diff --git a/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts b/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts index fedd731d..d869ea75 100644 --- a/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts +++ b/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts @@ -29,7 +29,7 @@ class AWSChatBedrock_ChatModels implements INode { this.name = 'awsChatBedrock' this.version = 3.0 this.type = 'AWSChatBedrock' - this.icon = 'aws.svg' + this.icon = 'AWS.svg' this.category = 'Chat Models' this.description = 'Wrapper around AWS Bedrock large language models that use the Chat endpoint' this.baseClasses = [this.type, ...getBaseClasses(BedrockChat)] diff --git a/packages/components/nodes/chatmodels/AWSBedrock/aws.svg b/packages/components/nodes/chatmodels/AWSBedrock/aws.svg index 0e630a3b..d783497e 100644 --- a/packages/components/nodes/chatmodels/AWSBedrock/aws.svg +++ b/packages/components/nodes/chatmodels/AWSBedrock/aws.svg @@ -1,5 +1 @@ - - - - - + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/AzureChatOpenAI/Azure.svg b/packages/components/nodes/chatmodels/AzureChatOpenAI/Azure.svg index 47ad8c44..7b150811 100644 --- a/packages/components/nodes/chatmodels/AzureChatOpenAI/Azure.svg +++ b/packages/components/nodes/chatmodels/AzureChatOpenAI/Azure.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts b/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts index 36b084e6..9563ea43 100644 --- a/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts +++ b/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts @@ -19,7 +19,7 @@ class Bittensor_ChatModels implements INode { this.name = 'NIBittensorChatModel' this.version = 2.0 this.type = 'BittensorChat' - this.icon = 'logo.png' + this.icon = 'NIBittensor.svg' this.category = 'Chat Models' this.description = 'Wrapper around Bittensor subnet 1 large language models' this.baseClasses = [this.type, ...getBaseClasses(NIBittensorChatModel)] diff --git a/packages/components/nodes/chatmodels/Bittensor/NIBittensor.svg b/packages/components/nodes/chatmodels/Bittensor/NIBittensor.svg new file mode 100644 index 00000000..062cd66b --- /dev/null +++ b/packages/components/nodes/chatmodels/Bittensor/NIBittensor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/Bittensor/logo.png b/packages/components/nodes/chatmodels/Bittensor/logo.png deleted file mode 100644 index ad51774d5198772b36f6bd19aa8f8404f5906698..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24561 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 F{{W%y8Djtd diff --git a/packages/components/nodes/chatmodels/ChatAnthropic/Anthropic.svg b/packages/components/nodes/chatmodels/ChatAnthropic/Anthropic.svg new file mode 100644 index 00000000..dc4b342e --- /dev/null +++ b/packages/components/nodes/chatmodels/ChatAnthropic/Anthropic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic.ts b/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic.ts index 358a15d1..599578f5 100644 --- a/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic.ts +++ b/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic.ts @@ -21,7 +21,7 @@ class ChatAnthropic_ChatModels implements INode { this.name = 'chatAnthropic' this.version = 3.0 this.type = 'ChatAnthropic' - this.icon = 'chatAnthropic.png' + this.icon = 'Anthropic.svg' this.category = 'Chat Models' this.description = 'Wrapper around ChatAnthropic large language models that use the Chat endpoint' this.baseClasses = [this.type, ...getBaseClasses(ChatAnthropic)] diff --git a/packages/components/nodes/chatmodels/ChatAnthropic/chatAnthropic.png b/packages/components/nodes/chatmodels/ChatAnthropic/chatAnthropic.png deleted file mode 100644 index 42324cb7ca52c23f950f13bd54cdd38af8b02336..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58491 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/components/nodes/chatmodels/ChatGoogleGenerativeAI/gemini.png b/packages/components/nodes/chatmodels/ChatGoogleGenerativeAI/gemini.png deleted file mode 100644 index 6c0d60f44817cdbf1bd5483d88c1929831a84eed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57143 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

1U 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 diff --git a/packages/components/nodes/chatmodels/ChatGooglePaLM/ChatGooglePaLM.ts b/packages/components/nodes/chatmodels/ChatGooglePaLM/ChatGooglePaLM.ts index 121406c7..ab7a6169 100644 --- a/packages/components/nodes/chatmodels/ChatGooglePaLM/ChatGooglePaLM.ts +++ b/packages/components/nodes/chatmodels/ChatGooglePaLM/ChatGooglePaLM.ts @@ -20,7 +20,7 @@ class ChatGooglePaLM_ChatModels implements INode { this.name = 'chatGooglePaLM' this.version = 2.0 this.type = 'ChatGooglePaLM' - this.icon = 'Google_PaLM_Logo.svg' + this.icon = 'GooglePaLM.svg' this.category = 'Chat Models' this.description = 'Wrapper around Google MakerSuite PaLM large language models using the Chat endpoint' this.baseClasses = [this.type, ...getBaseClasses(ChatGooglePaLM)] diff --git a/packages/components/nodes/chatmodels/ChatGooglePaLM/GooglePaLM.svg b/packages/components/nodes/chatmodels/ChatGooglePaLM/GooglePaLM.svg new file mode 100644 index 00000000..ed47326a --- /dev/null +++ b/packages/components/nodes/chatmodels/ChatGooglePaLM/GooglePaLM.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/ChatGooglePaLM/Google_PaLM_Logo.svg b/packages/components/nodes/chatmodels/ChatGooglePaLM/Google_PaLM_Logo.svg deleted file mode 100644 index 5c345fe1..00000000 --- a/packages/components/nodes/chatmodels/ChatGooglePaLM/Google_PaLM_Logo.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/components/nodes/chatmodels/ChatGoogleVertexAI/ChatGoogleVertexAI.ts b/packages/components/nodes/chatmodels/ChatGoogleVertexAI/ChatGoogleVertexAI.ts index 6b070bd9..4c961853 100644 --- a/packages/components/nodes/chatmodels/ChatGoogleVertexAI/ChatGoogleVertexAI.ts +++ b/packages/components/nodes/chatmodels/ChatGoogleVertexAI/ChatGoogleVertexAI.ts @@ -21,7 +21,7 @@ class GoogleVertexAI_ChatModels implements INode { this.name = 'chatGoogleVertexAI' this.version = 2.0 this.type = 'ChatGoogleVertexAI' - this.icon = 'vertexai.svg' + this.icon = 'GoogleVertex.svg' this.category = 'Chat Models' this.description = 'Wrapper around VertexAI large language models that use the Chat endpoint' this.baseClasses = [this.type, ...getBaseClasses(ChatGoogleVertexAI)] diff --git a/packages/components/nodes/chatmodels/ChatGoogleVertexAI/GoogleVertex.svg b/packages/components/nodes/chatmodels/ChatGoogleVertexAI/GoogleVertex.svg new file mode 100644 index 00000000..a517740f --- /dev/null +++ b/packages/components/nodes/chatmodels/ChatGoogleVertexAI/GoogleVertex.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/ChatGoogleVertexAI/vertexai.svg b/packages/components/nodes/chatmodels/ChatGoogleVertexAI/vertexai.svg deleted file mode 100644 index 31244412..00000000 --- a/packages/components/nodes/chatmodels/ChatGoogleVertexAI/vertexai.svg +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/ChatHuggingFace/ChatHuggingFace.ts b/packages/components/nodes/chatmodels/ChatHuggingFace/ChatHuggingFace.ts index 153c5d10..dff78193 100644 --- a/packages/components/nodes/chatmodels/ChatHuggingFace/ChatHuggingFace.ts +++ b/packages/components/nodes/chatmodels/ChatHuggingFace/ChatHuggingFace.ts @@ -20,7 +20,7 @@ class ChatHuggingFace_ChatModels implements INode { this.name = 'chatHuggingFace' this.version = 2.0 this.type = 'ChatHuggingFace' - this.icon = 'huggingface.png' + this.icon = 'HuggingFace.svg' this.category = 'Chat Models' this.description = 'Wrapper around HuggingFace large language models' this.baseClasses = [this.type, 'BaseChatModel', ...getBaseClasses(HuggingFaceInference)] diff --git a/packages/components/nodes/chatmodels/ChatHuggingFace/HuggingFace.svg b/packages/components/nodes/chatmodels/ChatHuggingFace/HuggingFace.svg new file mode 100644 index 00000000..58c85d57 --- /dev/null +++ b/packages/components/nodes/chatmodels/ChatHuggingFace/HuggingFace.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/ChatHuggingFace/huggingface.png b/packages/components/nodes/chatmodels/ChatHuggingFace/huggingface.png deleted file mode 100644 index f8f202a46300c21e41bd782da959e43df5c73fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120391 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 \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/ChatMistral/mistralai.png b/packages/components/nodes/chatmodels/ChatMistral/mistralai.png deleted file mode 100644 index 1019f495d4d690dd639aa9f4e5751c403b2eff27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4542 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

GOhkykkrx z5<$gl4%{{1&%57c5Qv$XoY%TcILb6UdoL+VK0U}ckiTqHx51ZU zmwjXW&11_L&eEgCFq@TP2dU4yzzlh^iUi9p_NpSM8p1Mj^7zmjK?2}Op8*u3nr2;h Kf#<=y@BRlu0mfYb diff --git a/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts b/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts index 31267743..ed58589b 100644 --- a/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts +++ b/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts @@ -22,7 +22,7 @@ class ChatOllama_ChatModels implements INode { this.name = 'chatOllama' this.version = 2.0 this.type = 'ChatOllama' - this.icon = 'ollama.png' + this.icon = 'Ollama.svg' this.category = 'Chat Models' this.description = 'Chat completion using open-source LLM on Ollama' this.baseClasses = [this.type, ...getBaseClasses(ChatOllama)] diff --git a/packages/components/nodes/chatmodels/ChatOllama/Ollama.svg b/packages/components/nodes/chatmodels/ChatOllama/Ollama.svg new file mode 100644 index 00000000..2dc8df53 --- /dev/null +++ b/packages/components/nodes/chatmodels/ChatOllama/Ollama.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/ChatOllama/ollama.png b/packages/components/nodes/chatmodels/ChatOllama/ollama.png deleted file mode 100644 index 8cd2cf1ed8043caf62e8b069330889c0cf0f5a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7487 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 - - - - + \ No newline at end of file diff --git a/packages/components/nodes/embeddings/AzureOpenAIEmbedding/Azure.svg b/packages/components/nodes/embeddings/AzureOpenAIEmbedding/Azure.svg index 47ad8c44..7b150811 100644 --- a/packages/components/nodes/embeddings/AzureOpenAIEmbedding/Azure.svg +++ b/packages/components/nodes/embeddings/AzureOpenAIEmbedding/Azure.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/components/nodes/embeddings/CohereEmbedding/Cohere.svg b/packages/components/nodes/embeddings/CohereEmbedding/Cohere.svg new file mode 100644 index 00000000..88bcabe3 --- /dev/null +++ b/packages/components/nodes/embeddings/CohereEmbedding/Cohere.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/embeddings/CohereEmbedding/CohereEmbedding.ts b/packages/components/nodes/embeddings/CohereEmbedding/CohereEmbedding.ts index b42a0357..92d0fe7d 100644 --- a/packages/components/nodes/embeddings/CohereEmbedding/CohereEmbedding.ts +++ b/packages/components/nodes/embeddings/CohereEmbedding/CohereEmbedding.ts @@ -19,7 +19,7 @@ class CohereEmbedding_Embeddings implements INode { this.name = 'cohereEmbeddings' this.version = 1.0 this.type = 'CohereEmbeddings' - this.icon = 'cohere.png' + this.icon = 'Cohere.svg' this.category = 'Embeddings' this.description = 'Cohere API to generate embeddings for a given text' this.baseClasses = [this.type, ...getBaseClasses(CohereEmbeddings)] diff --git a/packages/components/nodes/embeddings/CohereEmbedding/cohere.png b/packages/components/nodes/embeddings/CohereEmbedding/cohere.png deleted file mode 100644 index 266adeac2214b8627504eaf299c990b28f0448e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7847 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 diff --git a/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGemini.svg b/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGemini.svg new file mode 100644 index 00000000..53b497fa --- /dev/null +++ b/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGemini.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGenerativeAIEmbedding.ts b/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGenerativeAIEmbedding.ts index fa5cff45..ac84fd27 100644 --- a/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGenerativeAIEmbedding.ts +++ b/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGenerativeAIEmbedding.ts @@ -20,7 +20,7 @@ class GoogleGenerativeAIEmbedding_Embeddings implements INode { this.name = 'googleGenerativeAiEmbeddings' this.version = 1.0 this.type = 'GoogleGenerativeAiEmbeddings' - this.icon = 'gemini.png' + this.icon = 'GoogleGemini.svg' this.category = 'Embeddings' this.description = 'Google Generative API to generate embeddings for a given text' this.baseClasses = [this.type, ...getBaseClasses(GoogleGenerativeAIEmbeddings)] diff --git a/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/gemini.png b/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/gemini.png deleted file mode 100644 index 6c0d60f44817cdbf1bd5483d88c1929831a84eed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57143 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

1U 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 diff --git a/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLM.svg b/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLM.svg new file mode 100644 index 00000000..ed47326a --- /dev/null +++ b/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLM.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLMEmbedding.ts b/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLMEmbedding.ts index 81507d00..d003a928 100644 --- a/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLMEmbedding.ts +++ b/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLMEmbedding.ts @@ -19,7 +19,7 @@ class GooglePaLMEmbedding_Embeddings implements INode { this.name = 'googlePaLMEmbeddings' this.version = 1.0 this.type = 'GooglePaLMEmbeddings' - this.icon = 'Google_PaLM_Logo.svg' + this.icon = 'GooglePaLM.svg' this.category = 'Embeddings' this.description = 'Google MakerSuite PaLM API to generate embeddings for a given text' this.baseClasses = [this.type, ...getBaseClasses(GooglePaLMEmbeddings)] diff --git a/packages/components/nodes/embeddings/GooglePaLMEmbedding/Google_PaLM_Logo.svg b/packages/components/nodes/embeddings/GooglePaLMEmbedding/Google_PaLM_Logo.svg deleted file mode 100644 index 5c345fe1..00000000 --- a/packages/components/nodes/embeddings/GooglePaLMEmbedding/Google_PaLM_Logo.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertex.svg b/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertex.svg new file mode 100644 index 00000000..a517740f --- /dev/null +++ b/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertex.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertexAIEmbedding.ts b/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertexAIEmbedding.ts index 7d086e0c..e60f688d 100644 --- a/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertexAIEmbedding.ts +++ b/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertexAIEmbedding.ts @@ -20,7 +20,7 @@ class GoogleVertexAIEmbedding_Embeddings implements INode { this.name = 'googlevertexaiEmbeddings' this.version = 1.0 this.type = 'GoogleVertexAIEmbeddings' - this.icon = 'vertexai.svg' + this.icon = 'GoogleVertex.svg' this.category = 'Embeddings' this.description = 'Google vertexAI API to generate embeddings for a given text' this.baseClasses = [this.type, ...getBaseClasses(GoogleVertexAIEmbeddings)] diff --git a/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/vertexai.svg b/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/vertexai.svg deleted file mode 100644 index 31244412..00000000 --- a/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/vertexai.svg +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFace.svg b/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFace.svg new file mode 100644 index 00000000..58c85d57 --- /dev/null +++ b/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFace.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFaceInferenceEmbedding.ts b/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFaceInferenceEmbedding.ts index 6d75b955..5768f1d9 100644 --- a/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFaceInferenceEmbedding.ts +++ b/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFaceInferenceEmbedding.ts @@ -19,7 +19,7 @@ class HuggingFaceInferenceEmbedding_Embeddings implements INode { this.name = 'huggingFaceInferenceEmbeddings' this.version = 1.0 this.type = 'HuggingFaceInferenceEmbeddings' - this.icon = 'huggingface.png' + this.icon = 'HuggingFace.svg' this.category = 'Embeddings' this.description = 'HuggingFace Inference API to generate embeddings for a given text' this.baseClasses = [this.type, ...getBaseClasses(HuggingFaceInferenceEmbeddings)] diff --git a/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/huggingface.png b/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/huggingface.png deleted file mode 100644 index f8f202a46300c21e41bd782da959e43df5c73fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120391 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 \ No newline at end of file diff --git a/packages/components/nodes/embeddings/MistralEmbedding/MistralEmbedding.ts b/packages/components/nodes/embeddings/MistralEmbedding/MistralEmbedding.ts index d0a0198c..9ad63533 100644 --- a/packages/components/nodes/embeddings/MistralEmbedding/MistralEmbedding.ts +++ b/packages/components/nodes/embeddings/MistralEmbedding/MistralEmbedding.ts @@ -19,7 +19,7 @@ class MistralEmbedding_Embeddings implements INode { this.name = 'mistralAI Embeddings' this.version = 1.0 this.type = 'MistralAIEmbeddings' - this.icon = 'mistralai.png' + this.icon = 'MistralAI.svg' this.category = 'Embeddings' this.description = 'MistralAI API to generate embeddings for a given text' this.baseClasses = [this.type, ...getBaseClasses(MistralAIEmbeddings)] diff --git a/packages/components/nodes/embeddings/MistralEmbedding/mistralai.png b/packages/components/nodes/embeddings/MistralEmbedding/mistralai.png deleted file mode 100644 index 1019f495d4d690dd639aa9f4e5751c403b2eff27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4542 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

GOhkykkrx z5<$gl4%{{1&%57c5Qv$XoY%TcILb6UdoL+VK0U}ckiTqHx51ZU zmwjXW&11_L&eEgCFq@TP2dU4yzzlh^iUi9p_NpSM8p1Mj^7zmjK?2}Op8*u3nr2;h Kf#<=y@BRlu0mfYb diff --git a/packages/components/nodes/embeddings/OllamaEmbedding/Ollama.svg b/packages/components/nodes/embeddings/OllamaEmbedding/Ollama.svg new file mode 100644 index 00000000..2dc8df53 --- /dev/null +++ b/packages/components/nodes/embeddings/OllamaEmbedding/Ollama.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts b/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts index eb528aff..698770b3 100644 --- a/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts +++ b/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts @@ -20,7 +20,7 @@ class OllamaEmbedding_Embeddings implements INode { this.name = 'ollamaEmbedding' this.version = 1.0 this.type = 'OllamaEmbeddings' - this.icon = 'ollama.png' + this.icon = 'Ollama.svg' this.category = 'Embeddings' this.description = 'Generate embeddings for a given text using open source model on Ollama' this.baseClasses = [this.type, ...getBaseClasses(OllamaEmbeddings)] diff --git a/packages/components/nodes/embeddings/OllamaEmbedding/ollama.png b/packages/components/nodes/embeddings/OllamaEmbedding/ollama.png deleted file mode 100644 index 8cd2cf1ed8043caf62e8b069330889c0cf0f5a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7487 zcmai(cQhQ#_wb2?NFj+R!76Dw(R+;$5ky$MWU&$5vU=}Q7Ktuv^Ibd! zxAJZ-ZRbe*`$rax?}8NG4P1{`AyZMlL3{7|Y1c@PQ2)T})(rBm_oyhmtiJ|$sJH1< zs3AUc-gh)!=-NMN?bHQf#{U1?T4$TC)~9j3Fxfiddhl4&0~I*!Nf(Oe_TK`)FBluUSUW zoT=0BHlm$^);*S-+Ctzb-^N|!R+XmChcgDOVMjmd9_EZMMi~1sEH&pSXrq#5QR@!R zHzs_d6h#mIV~UGA?}lv-^~Y&`{*8PWix2e-RVJ>@zJK$$z{{!8;&0GKFl(!%l;8o&JCaD4yhSdf9sMR#Sk1 z9+SH!`2jIL{&1TXD1W6dfSbMG&q@g?{?t0D-gYSG%1Cj;r*k!Q=YxrgC`HeqS<1VK zk*2pn3Fg{s=trZ;h2h(;W8?meL-q!xyUI0X^AaNs~Qj^MM& zR~RAm_&>-P+5&#s+u{TRXGW-;F7d|uDI7j}_t%V)fXG}8zA(bt4rFx6Q4;upA;%T= zsTk`I6Ma3@Fz}r5M0g6-3decHw_)mtxZX1ZKTrR{@Zg99V(eK$;O=2w^_g0rzY&(R zy@4&~OvQT}(tsVBG=8`=*+G1=F5Xfl3K-B@j}=+;X5NE-MMs5iimA zgA+gQ;6ClYq!Emh4q~$D1*kp0B#%GEp1rZZW8pN<3=P5+UrNVCRhW-Kt}ktYzeMav znLo-`8VTTMqVJ>v`4w~8-|lG9=3}uw#GEHp>aK3=Ewq}wo6xxy5JlarQaC5DwsUyI z<(g7uLg=P%n$3||i6-1k*-@vAwojEunW^Bumo|uOq>B`ABz-08o@*?j?(!FL5_C*H z(+4^6ZVcYCM5BvFXc__Eh%EW!%?PkPb{nm6*K%8XlH6^J6zr0_wWUkWU@rQxuAwAL zmt2u`F%eybK8xnQyVSoR?KFe`t4=HMC4s@cfNx8Wacnb#&*yBiwN(x{5g+DfNSt`~ zN6jw~=O(}^gqUs6G_Q(-jckf8ZAo>+$}WLSm1R*-{&-lgw0|^PlzlugI!soR7&-&9 z1U7zP$va+{H4!Vok9QR;i4nzxxUm%0uB!bNbzAXw5Fh8EMuhjN6hX@RvVh{U zU3|9d9Q+4?8Lax<=oq`-1$zeT92N1?aS_Ig2A!ggHA{k@Ya>rS64>=6hcU{qfULif zH)8A_#on6Mt@rIk%B(HD3mz78G3RR;aa>J+^Z6}$Y>+o7MYC#6Z@aV{^k(z5_OH%Et zp*)(A$H1_2<*W#Lja`<7x6z%biOL>P$BLWv$;KnpIF%xW70K~%cxgj^$&BvD2!ObZ zhGCSw@q{35dfWtTxIBpbiCCnoAXbmA-5l-J#I*^~-AZ}lBTVog zQ?W*M;`7~h5ZSZxA@;y-Rv57gR#+pBl$!#SeP6J7x64bVmv0F0Wb8?*s!hTI-v;i)8Iq+^r3s>sd` zO_?8t@wquocIOB10x7;$MUDGaMYg#n>nWn(4;yOZ#%vQUs`Z> zy3DLa4tL~B8jIs1+{k^PqBX>uU7PCKvmI)L<)*@BHt!QUCe_*YAvTOi21rtLaT?E{ z5nlG5KhmM0c&z&7_T#RjqIWgwLvr9}; zH5rvkUeohC4Zwq5*mh%<%-x(}i3BG$>j&)oY_lFUp|HQ)UfX^qUW~8r)Q)#1L#tB} zd##<=_+;7mWu7oTF*}5OuGhBEXLFCJb?}Ol7C0DBVD=}o5+j|e(-YINL ztzf&*1>Q1mn(Qrgju^lhkj=%syDt!q?|eZJp$_)@@v$9QF%MtkS_k;LipS$aU6VGv z+tU13^aQmg(l~ToN|-sQ64*`Nm)QQ*Xycxc%-B|6JROXJ`B{z6B)8qVv{(A$6oa4m z5T-Ei^Yw3M`u2$b4H|RD9Q6Ecg501cV{y!R(3A(g)$@#js!qtzyp6-%vYj&jFcuJR z%%;5jEf1IN!%~}jRU^ILw4NF0X6DreW{PTq4{qABC3Px9!yOVjno!gP#pNNMsnnopR1i4Y~4uwX0mJQ84AU69@2 z^nj;Ku2L!^GNm5xWUe#Hs7A%65lVwXM&Nmr3KnWHU5HGAT`MFUQfV&(yJTCNi0gLn z=f~!g2W!b?doGoK%cI9(oE9ZUo6U#?3zNZDNUs(CfuyFJ3DPq%w}FJ?xm{o~txF)i zLvX|1QiB0OfBqMrPd09T=?q5}TCAH%YdU^HTub<)<@+7?%v73urd*hZ=_i}5om4PN z)aYniHn&7WS5u0J?{q<_P@iUmvdm_c%slkBV*$D9SbiP5bQ;Ca#V|(m@g3Mve)G&x zp|;d;c9To;{Zu3Nimp&Qida$FLZ+=K3}TLe5u+III>kHmL|z9!AaXva+0#9J4WhnY9znXyZAhznU{B+x zK{y~F1*c34-DNb6LBAQAV$@4|DE8i0T%J9c#Mp$h%1v#D@aW2#>-yHorTdo1$!QaM zzW_x`DU3Ib3VeN=2ciU!MhTr_a>8fZgW;?NQm#KnTfP*pH^h-U4O};(JPv2bl^w9P zwyiY4bl1YCv_{d&m14cyZK_QE+blqeN9p{rg)bTEZjKdWnz%PkLTj<0@v13@AV@7| zhU1b=5VEEAmp{9_Z~0CHs&=!qeFCBB^L=67;qvGXF={wU|LkDntI$ZD@~CqXTGn_^ zt-(+XdDG~n&ulLAAo8fHey2?IDqX9b>F4`TK5}q=grBtd0(XW!^`?2rpN@!kk&h1v z=$K6~Rh(o(OV#F^EM?Um3}LweX7kPfHaTYVRUX~H6{TsjW@V+_fh3-6FKoWC3;5c{ zvSUVyT`*ME>ErYV@}!q?PD?1>feY+sjo7rEmZ^r4MAX}TE5G;JREgpjDul*e&JVLLU#E7R@uV6Xb`1uV z72S#PX*rlm==7hLYk$-}Y815${*-9%NKslv&Wd9{?5X?NvUC*eZrt0ZceY#O6mxt3;99cHf*#R=^%YRQ>m5w zEf)N@Zu1?X!-XLfFlN{p4GXJ(J8yREK#eYrtADD&8c-3ZpOdwf3!9hsaow|+$`S{6g)|`#o!{Co>K@f3>eXcU zl?#9Lbzj#RBQ0f(-zuzU{$P*&@;A8iv8~&0udv;{|1L(bgZ>Wxr}{E8lTHF zq-~r&%`rsyQ?p|P^d{1@{r&GvhF1cHQ6+od!p^I9+r}rc4-XVAyY1eQha^E++XZcm z<~^s>>t3FE&IgtgRH_-|jItpG1t zDT?r#`aiBS?sy@gNFb|1Ec~%Leb#VsEy%d-cxcr@SAIL-rp+ZqJVjLArCQE1USGF1 z)Lp=uF8@q#ac=$->$bN8BJwD%+@%f;>0ay&R5`hHovk#-hCWT$5t)0R@M ztu0qQ4*k)bM%F^pU3V%H>y$#xMZJ%wzGW<|+VM)W?+$%)%*5+3_X}OOE-yOf* zz2lSHa8*Ogv#ZWwku1(Sa^T;=j}LaE-z$-n+{u6Wt0=}aI$g_)4XrvplYnR!}QCm;Vu2b{9YUa<)UK!>OZaX<5W8-1>K5@cNFjCJWRaF zySCI<7SB==*3gHwli}4fU~+Bbz3;YaG>KVr#dYgkTlf2gA-iArp8w3E8|*A{`q3h1 zVqBEvqe#62aHDFMjy2Z$Ck2J{W1xvxHCOt@BN$7lXUY(?qgqygwnpIrWOO&2)U8Zi z*G*}ZfXvOC%Mp>ifBpflNPA~G=O}w9?b9?8u~@Ap8_7g|29TWJ(yP#&k>|{@U)FzZ^pahqKD+UXo6Gws=UOG`e|I!Rh(o9uY1{WV3XylHuwm1LhG{6Dx_JXHb`cf(1GQ2yL9t`u^@EW zK{nKSZg=XEKEML#TU!`sJutaAr?39$5pkOf__$8@H(xI#H92x!MeF^5OF<@r*?*rQ zqg+Mmx0Y>v;g9Qn4dC71%y)+3B*o0KcOapyQ#G;3KO^kKzC1?v_XbVT14jngB2~dp zz@a+%F~!^d?lG8dmRokq`ABlj^%D(dsuN(CDZ>HC);MZDhKu=WUFAT|s))qMpZY}f z-K5h5FWwPWZ+p{G_M6lC?W0HL@oJwNO(&#B-&E?5?mx+H0xFY6hMl~miaasg@1Qbc zD|(%`{R~Nw_RheE@`oWuuGj7IH2={3LmDK-N;^_;{}D0sbT<@NyT}gsoyP9<^$o%owr9u-MIS^$r@m8v z!?NLFvtN5{1KUA}2{#u<4ug0)rCUXLi9Yh%4t(k|q5|gyM*S9!Lr|Y1^a6g8oNv*$ zIVCkTm8Jj1R=PV4e`68{jv8s+%XAk^Ka>}g!UVM z9t#bIGVqw~I`{pdqo}GiWLY%X+YRze#ceh|Z%#^oqR#jLdOBzp&=QET_j8-t8<9DB zQ`ra~nJLm1PGFw70s;md`YDt?83Z}vDMhH7elu@BeRc^-y`F4qou6Xgo<#yMd}3PI zxILKfh`Rk;Ervx`7(}VSqL%q&ChOzN(^ZP|8l&FpfO7*ez4a=ck^UH1*{D53XEX{* zD{I;t>OSm$GB`rC=Y@6lC1?ErN)@&B()xEv{g^|R&^f#!!ypF9hmG|eVzU}U$0+><6G0p(c@P0E& z@0_B1N_aILH6f_fwAXh_EWx29ODSKIWKn0*6pXoXP@~3TCA-QbB1vC`3-CZS#>nu; zUau|vHe<5*>)_8<;usd3!rxiytk*rY4gK&!T-T`i_@@!3rI%YndEAhB#pv?9ilnB0L9O@E+GVGIj~|Me zLtf9cceR?&7Daa4-~vB0a1+hNk8ltx{*$-V9CDDaU-m&`vr(0KTXA>Si$3G;v?5WG zfT~xi`<1H_$!b$DyUP;dbrhGPIs7ANbQB&no!O`%R>1K+O8DkKk>RyxH`NmG66h=E ziQ5%dvF2J6{_|f&J3&W$Guiors|!+FvS!Pt%Bf!J$?tPwRuN0HZ$&9qe$xEQb-jIo z3AX1=(+ZR9C6zVge^oH%l$$3I2UBa{S^h?WLg=lFN93(1NH*Ju>B$mDibWTPiMz3{ zIH*@{${Io^g!ci8)LUJK>3C%ezmm*px9Kpb9B7MwgT53U&CCHnMGb7uY+kOKi5a|P z*~ncY{|sFtJ(<)JBVQAHcCHUJv`k%P6ESuYU^;S1{;`*n-$I+}9q7+n%apQrBTA4? zvs}Y&QP;XwQG5lPS!b!l?U{^r-ncHQDYJq>)}+J5;0?thdd<0opKTt&cY@3cv}~Y^ z8$MROHW8^jbCi%)1&);tWJTWZ)T1)Fn0J%%-H`AQ%>u@kX@mab92~l@KRDY_J+hWk zVC5p+)Jh17+o+l#gvlyKm5Hrf^UGf8-T<65w10_C#24JHeLV<#-#Tn+6(HQvIkUqk z*~d5#@+?<!BMtVEq4VOR3BXRREJBbn53(y;HWbb-I8;F3~`cv*HFE^$aR zdhYk8ZA(xp21y1@;`6z&Q1$U`YeFaF4ZuJ&^di{NAk3`I0@S4B{`UtydzIu|Hv3!l zQLV*of&^Fs{SW}&n>5cYnR_O(nCJo*O{YL54E&M8H7ioWn$7sIhGgEa2Zt5kgua&4 zeq{D_gM< z$8O{yas!`VnXi;?aS_w~Y%N~MycKI?J3My2GBmO=tqeVUvgkW0_v$y3&o^dkiIsM5 z)&t*HtpJQlx5295+wel(?cx>r-K@9ZB+e2e1{E>;9?df zg3=R*tt_7}vG(H*y3piDuD_W6q3l21V0y$;-Bg0@hAjM-a9Hi_^@=mk1p9kWj-p-Q zo&zvZu@fWj&1bfDF<90v$c6#2EWym@vp3ov&Vxl;j`sg!T-yZWWhA2jDF5Jn@2my- z^{OsmsH9CgEA%0%fyswe^Qg$@V6Xv1(Xk zmRId29T8Is$@zB|FRfNyz1+sbP>T|)25ur+RWq6XnfAYV|A+QgSVCaT9I3ogYji}s zRhx$#ocVuPrPR~o-L|eEpz0ppjTI_jSKI#= zIkogp6*iUGAVj`z*rAAkjU`B|-qG+Ij0ozEjxR;mTzSchp#bz;8AXYDE^ugp6l3+T zN<@Qkao|;{p$E7-!Y7Dx)UMAG>*_y$UK4xmL{Swz^|E-+Lhis@yWU`jm(yPBYLWKK z6n4_bg9N_Z19%pPQIta7m#lHTE>^d?&Fxb6V3 - - - - + \ No newline at end of file diff --git a/packages/components/nodes/llms/Azure OpenAI/Azure.svg b/packages/components/nodes/llms/Azure OpenAI/Azure.svg index 47ad8c44..7b150811 100644 --- a/packages/components/nodes/llms/Azure OpenAI/Azure.svg +++ b/packages/components/nodes/llms/Azure OpenAI/Azure.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/components/nodes/llms/Bittensor/Bittensor.ts b/packages/components/nodes/llms/Bittensor/Bittensor.ts index e6cc2bb6..68652828 100644 --- a/packages/components/nodes/llms/Bittensor/Bittensor.ts +++ b/packages/components/nodes/llms/Bittensor/Bittensor.ts @@ -20,7 +20,7 @@ class Bittensor_LLMs implements INode { this.name = 'NIBittensorLLM' this.version = 2.0 this.type = 'Bittensor' - this.icon = 'logo.png' + this.icon = 'NIBittensor.svg' this.category = 'LLMs' this.description = 'Wrapper around Bittensor subnet 1 large language models' this.baseClasses = [this.type, ...getBaseClasses(NIBittensorLLM)] diff --git a/packages/components/nodes/llms/Bittensor/NIBittensor.svg b/packages/components/nodes/llms/Bittensor/NIBittensor.svg new file mode 100644 index 00000000..062cd66b --- /dev/null +++ b/packages/components/nodes/llms/Bittensor/NIBittensor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/llms/Bittensor/logo.png b/packages/components/nodes/llms/Bittensor/logo.png deleted file mode 100644 index ad51774d5198772b36f6bd19aa8f8404f5906698..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24561 zcmdQ}19N6g(~j+Itc`738{4+M!5!m?ZQHhO=Z@`cY};SnpYcuA)YR#@s{8acH9gZ) z9j+)Zfe42S2Lb|uC?)wv83Y6Z<$oOp{6}KjsX6d7fI2Hnh=8t*)A{{;!2Xrgas~l` zNB>_31lX$FCKeVJHa0d64lXVp z9v(gc0U;qF5fRaEe0+i*87dkYG71U;A|fm-EId3sDJdBPBNG=lkH{Y}c?Bg6Egcgx z3;VxL9^SqIL7~xciK!XcS-Azd1;u$qrG=#xB^A}>)peD%4K?-6^-XO}t(`6H-EEz{ z&23!`&F!@fEmgIRIr&8y*?Ea6>5(z`j zoV=ocU`Rzx{nGmO-qCqS&wzlCFdaPuC@3g6I5;I0H4iVJimE!m-LtW!$6;N;TY z(V2yn&D+<%prm|adj9<8aeME$yMI_+Lkj@`0TBtw*8cC=^~3DaT5?*ZmX01L7x(b^ z)aLHt&EwnU-E%~AoSM3(k6*yn?$N{R7r&s8zM-+8u!yLbxD&u_W?|*z;x;oU-^R{? zn};_zG(t*7mW`d`_UYZh$pr%w)6m#7zqsu5>V9f&NzcG2x3FYo^B*-0Ee$Q*{L04B z*|nF?f5gNjRyKCUmy`m| zETm`UZu~oN_wsRZ^N3GMO-juOkBaRZ8VikxuC8mMqNXu2F*7x{Z13(btEvqQ4pUNA z_4M(x@6$vB0nz;{^+#CMJ?nDI&HI-a9`p@_2&2CcSQuon6eAc3y$ei!m#Q#~8k%B+ za?#dYK+=E0o3+&8veap>Ncb3h-`YJ=~N28g#0&td&A*$0=LS@e|#R`KIK3t z5KowiEJim70%){L!|&#v!C*De>oD)NXVX{(&~8T2}nEmyinI{{uT(;1vu9VsCHr2o`z zUw6Oyh70(lyMW0DJ)9d9+(8o|m7PlH>4E$mb1=*n4iv;KFcbXOH*18rgDXHHK?o0c z1pOV)zA&a#INF4_QRYaQ%?qA6<~YTZ{d&FC}9Tc8e5at=6N}*8B zc9fVgw`d3UFPKin=JBg(fbC5FclFpQtNAo;8sQ8I$lJ}7da3?%MC0+0;?BGLl-(xa zqAPVh=1(g~9=*)@%u%W?ii{7ile9spGZw3))Sd}MKG@>4z3fHtY-3Y2J{pR#Ci*l6 zL>3bH!&@r67+B`uAVxwtqu*m}Rs(a!0rBt8@|-~v=T(@$PDTn*7Y#Uo7c4EC+z=3W zRD#X&m%ipZBg2My8YWLMGEtoyGa>x6?{!Z4~ z0p#~^hX?ueLdPP3kN{)eyviM9l!}`RdH%J? zStyL~nO~j!wgHm&Yt=er1(9?josA0bQ3FhfY)@#(D7)N2I53>|WnbjL8j|r>&VA|H zVrwpOb*)R-TPNsj`r{31q6OEi^7yduq5;Z(zVk%%^H?U(ECn&$$;h-M{k(q`y{EFq zXCHofcxx~{VnOD0zi46H?Dx@s%Kx@t{mU>oi6&R>z_t*^+e5|shy|5Lu#@BPM`_2b z1nvImCoUrhkuIwb-`4%B&qaP!_HzWeD1P6$OI+kkr3QRCnSni~LieSRk7Au5C1vmt zg=hHF+9-%A?WmP-cnqta)uQ~DtgpuTM|nq?0?WzM-2SW<^}lei;#q<+tS2DM86%ny zJMiea+=1La>$dcZ161{vfGZ8Sm1-GuwUr1;i{IBZFq2c*6VA0zL;2_im#64{h2yx$ ziQ>jn-3JEER4jYUsJO$=2gl!vI*!)oLigH(P}t+fwRHL`p~`>!z-~7Dt!H;NI8t&3 zfr906FA3!=GsI?t;ZQUc#2j^tU_7aren!*u+A3KG z1%<(P1ow!z=QE-wC-K=0&V`cWO!qjon+<1?_jLw3KlXkre8xK{BgRo1$)D3_csCtc z(8JudvaG-)1sgTQ@`3v(x4ZOYAW`7Tgw#u(SndGJi1jLt_aO-qcq6g=$MX_dF%(oN zA!RJk7~;Ls#1i$yOfZ%pJu3emkxT>J8dM^VV~*-5XTSmCw;4e=*}1rK6Bgjlf1L1L z9+7XDAmyvhp=BmuU8#>#C5vt#MGg5F`hsB5_?_j2MDra^VBBc`{a5__t4M&UfVS6o zndD?z8)PsX3d4;zj)$jj<4;vsL5!DZ__~4~SorGI?cy!yHu(ad?I20SnQ#5n-b%R) zG3ui=2q5S`&T;lYo&&^UZ{ti;=0&_z6`XPth_2C?g~eNYI<-XYL&P)VqB>Sa$GHDm zVLo<*$+Q)WRFyj)@)*S7n8_PWM8Hn^8Y-Cqb$D`4G!MLs!;)qm_Ir|`4u*Q1(LD3f z6l@;fMN^B1lGQ`1dzzqMhXSmrJkyA!CQb_wim9Z{X)CM?Q1E{l>xeOVOC34e?YyHo z9q&h*n|8snfGTM`L(yebvpi6n`>w_)R$U-FaH@Goe?`}+*=AhM0*Wy1ppHoYQ*X#F zjBzmOplnj`I}6~tgFK=OprC7SQHE|6?xty)W&RPWLZ0Iafv3#8D~7fxWus+`r6H>> zP#Cha)g23F@-!fxgXf0}6flIDYS}rfoQ#v3S{)l7frDMP5zUi;laZ!c zToX0pDQ;Oog#9yBlB<1M0OKBCP6znixJXhiUsZ~|!4u>WH3MAjQFk$d$dVKc=7~!0 zNLMXKi<+^{EO(E%_0YUtZn0B(3m%>a@dp>$>cZp z*0*%+jS=XHqMN>93R*B3wha6mK z39xu!kiBYKmV&OoLZN}f@=Lz;U~l-==&}Ndh47UlXdl+x(e(~9co{;!J$)fnT-#nowcu}ILb^aN~*^&O(-9CPnPVW79w zkA{aa9M9bnv%A=sVqU~o^xL!W*x0K#zL#1&>wlK4U1{K~K-c;FN4_Y0#( z{Zr99*2sr`I8m*z=$lK#D&Ig?M-;27>b2BDh<> zls`e`I)m<2<{*0r`mS_BMvnN7SsYa;H0M$iuErM?_HJEjfoJkf0cTcxxDIXh3q#s741U4kInmcH|>EG0!@DK_y>4>@-}AgUZ%pGTb6n*6_i zMvL|1n@>$^!K6oxT#gq83B<6uXQEnJi4zQyVj$1~+eI<5PsTi|@bXGhHbBl**`ZB8 zDV{%b?;>=GjS228qB}z1&hGu*QVW~2R=yEKLU?P{;vae$0T;87D@05cZ8I)0Y)pY& z$7SFuv<|;)6K8gI{6-Ty(9@6-RO1*R!g2=g7T@01&e&-BbhLa~-ZLnUjZ4{k0O!j+ zJyAB;o_0w^ppB{=m%xyB=&=E$DC<0{!SvZ+js#2uT$5!6_9w=MI`F`WGH<6|P8(0P zH=B3##vWf?lxsGoK3c79Hiu<4WhHbn)}q1dvdJ=Rt+N$ovc%DPJhq}ZGjK8NyWjSm zE>nMe0UKIf{7a+9P=x^=2TD8*v*6$js`+6e@?8vC8mEb!@e#1F*=Y9#$c7p$&+I@2 z3{OL$v5{~UI{5yvKKm~w}#!qAq5Nd7bAfED=!k_ zjmT?D2NL$wkX^R@gIz(1PuvP++Z%KHGm}rHbP9sFcg^3hC*{4;&mFF1p;wL`j)RT1@O(1AGS>mA{BrjvWLF^s9Mp& zveGpJZVJVxH=iP_^DD+F$_yCfXyZ-`728d+U#M>jVc{anl@S_9gc5X#=KdHaBxWYU zGxsz(mVU0Qbm&+oCA3e8(pIH3S#S5lnR|9;y+|1xlB*pSA(KP_t~2 z(gk;28ta(F`w%$0H5O?F5_xQslG!0!Dd{Q#w2Nf%LG@|!P?bO^I_(+9aL5H407`PQ z-Y6fDy3ZcP#inL~W?L)@j7^lc&bu_y6(dRhZ;%AoE5Ih_1O|jw3^JoBu4YPjy_SF3 z-7Cr&i)Le4j^}F8+8lPjz3qI;Wpb9ZdgP13ZZjp3 zuTyqje^Qk|B$1sb82={?!mhY!q{X*noFWp9Ikt?2fkF9@4b8hL1I8h8dUsGqVslAZ zZyUc+MSZ7BI}XXpcW1h699T3%MOR?$#abUu&BO>qR-L0HN7@hVrF{;%lD!49*Km*C z6ZxXzmg#wNlE_K14^Fa=f;M4m>O~nLcmieA@Iq31C{|RHU0v8%Se(hf)_uqu$faR4 zWge$F?y4O}By;Ja`@H?kd1u5+prFu7#!@Ptt1yP0obepO?u7j_g-+C^)4e+wC+w1>+jo+R0We--(XG{_DYR%IK zCzgw8)-IsR|f%389dmzK#U`{=$(Jt30OoPg07Y2crc+eS(8OgguMAi zb^g1-z2fMu@^sbI)H*XXQwOmzcDf#b2!pnC4b>#QsIif@$b`t2csZ{+Kz)-t?WPA$ zBLGGKk3Z*ea>(!$&Hjc1I_fr}-+m+fS0b!-a z&^J}M7?Q0IR}FJBN+Kcgj5f{IJZ|K3)btezFxx9HOgqQ}l-y+$V<;Q9-+Zu#+cK-; zdZoXZr+lPp*ayE-C@6v63SW??ZM|eO*jigzdt=h8e~E6ScS`|?Y%`N~@jRXW4p&3e zW4s(h)?TjWOHdn>ADW)E^IP$nT7LR>SFCMy7xjk?(q}A>As@8!@~q^n1T5!SXn0zQ zU5g?<`;#hu+nsK;^E0KjdYv3YZ5y)!DRfp3rws34`34c}n!OXfH__(|J|nYkJXTsh z1IP#z3#fX7Q3{U3+*LEEDmn`siHHlU zML^X)$h#}qn`Zn|%TjB#e+Zgy~Iy@Z&Z0Gr5(1cZ5 z`x$bLkoX|M<$lzE2Z*E*G=;vf@NVmPYaEb_hOPF%5ek5#zfb!p;TolSNjh#q^r~KiZWf_epC|RmXQ1hxYa=uvAUy$1C z*w5*|1BT~!;TGU!rt!`rvKeP>Bt3b0K~hf=Av)TVCBB~_Q?seXq9eWSS~6s2%hjc4 z^*Paut2(y<<5aClFNw4Q!MqR;x>Ao0Y&iuE-VF|MZ~rChIEa`C27xar-vYx!Us%Oi zO6($biJYM8>Et~#e}xZkm)X=Hw5J&`NkHLENJ7-2hxRb^(@YFA<$xo+mp+peus%qa z03`IK@XB+iO8qN-?#`0bre@y~2{2=RjBX{$7 zsEsz8q1B?X%4V0^_Yc}H=jaE`Sz>XjAbUz#a@iu2+U^|QbJ{jU49mb%>jt*z)%}pRu`=nP6#izaZEc0U!D0Lmci$Ph)G{cnT+7wg zzVT+d6VEG4P_5__qXa98enZBoyz#EQyu&U9AMYXZqP~2POgwm>}j<9Dnj8s<}~hmCr|`Lr!4QFGee zTqyJGAU#iI=1Zm1Gc72^Qb`__vSGkj@`vLVcCbNm@G>9o3_D(k+Bn8lsi@PeGtrfM z-KeV>$B|KH-TRDx4I|n}P#Wt`Zn9jE6IrTzky-Xf2&46bv)3I|nvUL-v811w6MXW7 zXQn%0DL312AVoV`FmC!Z@oCp;rWUlR9V0tQ!H_SiOs;paQ> za`^pO+f(?UjyrBE3Yk(cGhT`nuO=)N-d9t`nU=AFy|IKnj0!ya54rr+^8{@x0Y%(p zm%F%Py_sY=7kk&#o~ut)A`OMRYu^r*hS6z$nsm2cTk=<6GUWI8+SZR7mb#!*Ca4H` zo#MBJttANu;5|!hUZ7Y2ql>$K&dP44N{h>^^aV-<;fL%Dz`-8#)~1$o+ZV=ok0lNf z@JhG$%gFwAwGWzwG1P<+zhMS1!ZJ_oj@Bv^zN>*HGf&3msx~299J0yNao%HZ3UykW zWoGGmi%WEq&&nyWw$K!rfg(Npgm#6L&1!qZ*D$XGa%1|F{uKb;H8Ce!cr&MV(9fH| z6P>UlrB(lae>cH-6dq`wWtQvG_T?n8X5xUDivM1_c|O_=emTlNYdNyFd_f0>6jj}k za@nK;)*! zl6xx8dOSKZ-E#eLvNO8h(M}HW-t6v=w+<28V*G}M(`CN3#0!t!e40$+Au;Q1XKozp zwU&)fjGEg~ANtgAo{&Rc`Y~`Aw?oE1VBG#m;JUGprFU0lZeLl&v)*@7^=5}NA!*th zI}OEC9eceiwXWL|+ZpNA(4LrX7(!O*+~@cjltLt>|7?~FoMqbK2!AaT$6+}xxd)w2 zr}NOZ9X(8S8>1VV(n!B#5zDlTZRF~;q)8`g-*#qh(nY)lw;>u=py+Uw_^@-5G&dR) z*vP5UX_~0lMB(MSy&{hmksvkOPS!~wa$HN~&)~27J~vDUmZZ!MMytY2sYepkO~(nk zo~Yeww#SQYU`DOAc&hWaexh80>jG7z3TNkr4$z$du!O}*^LeX2-!jhiHz%^~ACPMw z%7Oz`F8fnEZ!HP_K{yO4`cFA}e6vzxlS%TG-qxRIR6p5y@ZbVF908*2#@56u zqxw!fC$L_|F==32q`61~u1d{t23ZjKys>qSzQ14GPxYndi})1$DRH32VB5u)0f`JE zI^NG3=5_chaG<0A)o1`8Rt8ex{G>(!XP5wck>=hOjL3sxz>1yZtY==b^4v9xx;vqH zDtaNtLip)Zo`vooI#uo;eyIyX$C6kvfmiE93cU;dfJwn`@F3Cczdnv;z9XAtJ?WI+ zZ*eV1w1!f-jZ23Tca2_)mTyc#p6waM2T(V(PYEAES|q&m+-uX#PlMIGdJj`dt%>Gh zkOs-z=7oP7Bx)F|WgB$``j`!-Qby|4>(wJhgKsWEw|VcsQcZw_=R8G?<{PtOpUiDB zE)2>ut_&g94*Xcxe|MB>j-i9U>W6*3`;ZwtgW|4x^*v4!V-M7=9#Ezq{eiT!zf=@~ ze<7^X87(omZG(HVoiK&2GK<;dn6s#yP8m6!OWUk7Yia}^Lrl?!Q0?&rWiN!mHahuu zCd8`!Fyx!J9)mI7q$?F6NU>|@xbRJ!1to8nug7h0tJN&gT6-7T#-m&Hc{L77g?-D{ zX?#m`q|%PONqvW|u~r22?ZYb*TH11Y|A~O_%E~O}jFpd-3-r}yW8%o`nyiYk9C%R>#-_^Xu zu$#6X+0M9g*O0$8>}Ue72Eb!N8fCVZXfXRhzLpvOuHv}qXdkHQ@d=7rzC!`r+*z8b z=nbA(Yc6(3pI~|rb-$r>4E=bS)h<8$RR)q{EBIogG`6-l@Fqt!2Kl}wAMD7f9nHn| zkCRm$^ty_xpi|+iNzxM(S00Vy9iKcDY?2n`_wwubI%6j8$GA?|h#=CojV|{>l2;iL zE*I&so@qP_>()Hb+ep7|1RLI&O4T%3nl$g*fbE2$cK6U9YVz>qR8av?R;iebF7X{B z5a6u+6t(YUcu=oj8yag;Su>VS5|3p&a3XSqC=^cxI4MUnQ$ADjaR>*J$UYCgj%rz+m#DK2ZH$ezV} z>M5ddm(Xt@p?8(~x~1u3P{t_({y{Ie`WVvC#Fu7hUdi6C%VfU+B*QWG! z^BqmWUz^(v_KR^$c$gkDQ>_pzszA7@C^)>CFaou1z2JcEgb7 zU^~1^bJn01xM$0=0OeJ$9qSs@D}@bB19 z7;1N7e?@94RxV10+!rdEQM?k*aN|5?zM)1oem|olv7&Oh{3rL92~&N1M_;5D)0!0~ zeKc1jJH03(%Ew{`DO5+(vi7 z%h{U#cOtVhc!Y|elE~E*DrH#*5Mya(92*V^^|qo}e8X*I9YN4hGIYMmOX95@YLv=Y z5$R=u%!a_bCKr{wSK4EMdHr&s9cShYdi^7djuVu{xB8*Aw#Ug}-r@#dm_DiKsdH@! zIc3JO>HTlDpm}%?GO2_iW*UiX<=u^bnn3FVQm6CCgayy2W4a%1-KLrjJ3`&=kPxZvYW9p8S1q+O?`?4t@H`4*cbqKwAW$8ZBGq}d8R#n`@dYV&M4Cd5s zz9vf&&XD z`_NB*oq^2tRWDqM`A?NPo>iZ7G$b+VQO+JJQhf*bH52?~mY~&|jQm&p+eIqg2Xkri zq(K+e;^|zUMHIy~ac#gp-ATFyqv%pI3!xXq-2~9>1!F_t*{)Rc?@D_MMO;JD(tm}W zrQL%gGu&SxCImLhbmCOTR34U~FQ0orvv}F=}&V?&MK{+6XWxQ^Q&0O3ktU zssU4ybWZSSw3`o!rI$j}U4P$WZLQ;*k6L4ssPxoUCtZ{?@Oe`-VuhJ1WO^_411zu6 z(XA?+>9h2x;r{&H6aWaOkotWESD9_iBq^*WzOV`b)=0&IsO#Z+{p#RwiL2`7?JEI= zPfC^OSk-zdYE*tZXZlpSLvx`6(4abUYW3q44m4*o zNuUuc*oirCey=o8#Cb+kS`09sW`$ukthAyyo|sm_}_;O<6tCir;)AxU;zNxcqvVTtlsU$)vi<&AG+B zbm*P(Q+m{Q(4#?s(Wg5$TGPt~jLDvm-_}ag!>;iyD#>rDhlNO@r$oT>JYSx-p|)*n zw#pJ-XwHb^Z68OX>S?=;fSSGGa5aS04BB?w3pwvDrlS`lawuS3O>{7xdwB zjPrJj9^etRx;?cfUPE?#T-{N1R`Ii1O9dacc=1=-zV-!y@x=tp&O4za3bGzQO_E8A zza!WlUBm)$hdSS`_LB8nzpZ!gD~`nl0cmqMlau%O7p<5R*^GkEIC9Ipo=Q9(I!U9H zJn3x_r$P6<8YhQ)zA~j%V8oC?GnLth9dwMD*bw05=Z@HH2|i0~6K!~-EU3KY9lhYq z_q915lY?#n2IN;NsaJXT;2{V#^zU2I%Id+28<^E%Nj}>YP6(MO5TxAaj`(bN^Fxy@x$Zy=Uwx+1=F)zsk>|yGAu3~l zZ%5Td3p!Jgy-M~9zYJEae6zr-O3iY@#g=cWS><|nf^X>J`X-H|`STg>l6uuzx5h0Q zxlU-FQ*Wf}WB>}n;9cUeKT3nM1~9(;zKC1HdxSDj-nrY-<7#LUX?@n*P%u`0nf_H} zuI3ni`jXE>WnOalGcmjMlTzA@Byd~ApSF?*h`&}(##9Pp)>&j{qk6mj1m(BY^Laf$ zW~Z>Jzw%FYt~0CG_=Ulak&1b{@dGS5D3)NZtWJKo;S>eeSTbI8E)`oW9V;wxr**Qm z%%b#N=q2l_kl_hwH$S5>$PfoSmcAp4e4C;xegDKG7X6$m}TF zA-ZXIOl_y)RdZCp_D-pQ(Jk8s_?Q90#4)N@XrA%mdo@@&DQw$pgs?t8qoQ^~J=qII z;@aA!-ErpVo^4K@8w}01LzZ-@b6$V|lE=QeRSsMx6%wWP9kcZB+lIdbLHoAT#{xg9 zyoGRTvE7$4&%^)N((%*O{CU!82%nOwU3IGV;@Q>W|A8>|Pxx7s1(?NTbxg9%zci`d zwc+<)Jb(V$Xv(SVa2tO@628SNndVm+Mg3bq2$bAcn#A)pwmGC5JZq}Q3RVgE?mtVq zGT3-pug{uijf$S-mKA1XY=~m}n#|UdOAvPv!out%rl7XiIQ1kxCp))C@g;_kQ+jzF zd+QjbJ~^N-i62RIbc?MTW8hG82ZSiRFWFhBwdM$+Zjg$$tidTTk@=l5f$6K7;aZnq zV72&eB#%cs5Nyuo&m@_UU-9$wI+`g?q)0!*b<)@DO|MR`Ya7u3%u2Q#RIhe3)CQoc z?T~2rpwy+A7;9j8F{wnU^>VRm|c4>O?n#5 z)W-5O&_3GaW?Y}$jl8Qt#y`%}rQK3{3MEXz!l7gb~P~&G2 ztaZ>4DtR}?7G^%9d0LbqfRvT1PjfBz%SP_n$2`fnr)A3i&=@(jO}>c8p6@Yc2d5{i zDSx-tsp{U&5!}X*tWu|3_oB`?HC*hzQz7xqSztZYPI0_WmhbX9i8M!Y>`4rW$_&sC zU-GDd4c9HbqX^4|oZH`li9_O)Ni{17I;Sr|ec(*X_ zo7?QXLHuD_My@Y%3{A7%d6n%^9;le~I#HNxRlU^F;GiskIH#>ZlGR$~rwx$;g5b5I zG{(&3nR`))}fs|_eTC0dBdp!+g4 z7fs~$eY@Q~fMM=n%oUV2uxe}UaYdC4@y~zOPo-7FJ;!_JV?k|8YsQEed{p&nDZi7L zmW;O;qSbmqM-u$|x`r%LozFeT^sCEN3O$YngWiB+yndm@?i|l9?Mr^It5`0YS6?b? zV$rGwsdwwUu_~@jc7kPL_=%2gNHu=DL&Zj5i~nh@`Mm;~A?Nhj7uv<50ckhD<>j~M zR9xbuI-XU{{pg-#*&)kDKI~}95$48(b|FjUrskmP%pKUia&m@&1HpGZg~&A^wSzB* zD_fMV{jr#epa#1`yvukR?_%3BYXlo?RCa+lh#~EBSaQ5q&i|UdkRbv3>5D>YBJC2u^-@gdTO6%L@B@1}!oP%$s@Ia=w^fV-2sf0O|B6;8nEb@sO4 z^QKWlQ{B9L^DD*B2?BU~IE>J}RIHTyWJZhmdOKHmP56M#?_Cs#n98b=$56U)bmjFK z*L0$iZ9A|n*ln@1>5e6u|9;8(OE7b?NrZr)CJICV+tOwV=P=?x`zkBlGj}+-xYK+0E6_^)2z6T3vX`iVm$n1&-#vzy3E#)jM}cW%egASEWZHAi zFh3o2S{N!%P}-@((O*4fVejT*2rH>AOpmK!|7nUV&2_p|Evn|`7-&`ypB2KC9an1C zy6Ru(*ei8XiSjXiA0WsGbsyYKWA4wu^VXo#J<(;J?p&b9+O#I;PKW!h*TJ!A5w$|Q5&ukh5wc+*L*CV&7oW&8E{8Md=#Uj;L<~Pyc z<2SPTb9BKGZ95eZCMI7ptlpD6&;JXaWYh$iqTgyIlrPp?&s}ZTiScb0+wC1~>CJ3{ zq8?XdwH4-G9nacsb|bV~a+?y9a3onwp!&IMst-Df^?z78)98D|HLxw~!>_Qh+@TLUqOTxC|9tSb{#T4#`e+rf-WMX2Qiykn~vF6WznnB)rQ;FDf>D&V|4@+j@(BhHd z1a?by+WMAO97O+S;phWL(%XZF*Cu)*-<5y)*E@%+!RD$(b>Kf=IFkEsq8;W7h^+X( zDJmc6R};duTKt!g8jYik=Y*mpyGI~RGpC^NSU`%lHIEm0v`zPgMo!=GySPajagYAZ z>qkHgmVH<*Ojfyv!RU?E{6WcONB<+Bn_;B}<5%y@jc12>HhyaYiKQ^FPRbdMp!3E4 zJRWmSnf~IekJpBRF8M3Ze(u>vrwx&-@1e~3muH9q^~N%IJLRc|mcH!9A~Ex~(|v-3 ze096WeWQcA!&*GG+4fWJ$f;fl^IiCUzv;&zCxnS@)8C~qG*A5{G7?@68vfhoD+hsY zpZBvvB~s7VcMC^12VQ@o{t@r&Z8L%dA?kAp9w>#dI19?Ij2JBT;Msjni{#v zzCOj`1TK>s+?jkbNFBYL6;&()d`yQot$TV9NNv0uitgwyX~`_`oQiMuV|*Q*mEA>) zXSDg0B@&<^2lO0jd}iiS(Xs>-LN30(UULo<%BQQg;lJ;vPHF|)Tx#ccN{@$56|p$k zMjpuQ@#h(BkGwNohGDL-n1`|_GB?|}L)y4l9*nk=3?zomDto7>cD~k|rF0y&ti7Fd zq_YQ37Ff8OAn;mmj6;2u7OsPfXpt7LBiNQ_nu zdF_Qsh2O-cJ`Z$Z?D;e@*Bc63TDA`N#;C^W1a~?x5boX$;ycp;vAVM%zLonF$kHAE zw6+)|_lo#!Bs<&=VzXK#vwZ*Nl}Y*G!H68A1~FLfHrWd=Fu&$bqj%`ViF|vvgiKu+ z3mmmXKAD2e31)cgpPPa&D%60HQdQ}UJyfT<^tZZn=6xA+Ry8-<{5!u3<-kbHnVJV6 zc8IqS&I`H&bFY?i`!rhN+U&m zQYRoF_p%&aY5~9RDN)#UVRFm+nuDK=z9`e^bMee@>5ul*Q*bZ{)0u5bGN`E+$~xbW zFC94D9b0FcgDgoDYelV&W0%4rTl=dG?GRzNZk>A(uZOgX^zg3y10!(-OJK@0sPmP9 z?~&=sY3{UNNn~~#5&6kgOO~)QT^{k*L^EGEkS5<*7g*wW!#NT0XBorSSBHRRuR5*g z+*r!={iOmxx9@n$q1(W!J6h}#hZdr>I3rjDBaUUZv>lVJ0rCsuw%C~ks;!#i#g?=0 zC0;|0PIU1e$`%W#*IZq_OJFuQbR+G5N?Er|jC9zsIXWe}?N3Njd%a05%d!>j$mW!` z+6uPvey`q&I*n^c5A>%0l^D`r(RUAGX})jf$yl>DQXAZ@uE1BxV>>UdY-f19jd2_= zuRoCrGT$3hl=7I)@%sALtJh#&I-8$L=I=SM@E9eT(l(cynId13mMGx&M9m!{9?{Bb zvbEcimzzjx9NNMISg*{S2i_B^2G?SN1UQ{5Uo)kLdiLltHIX-2=`u!yr^0#jzY7Gf~sEL~iU9Ur=JKe*VwWWZ@L2w@*{}>}76P`1Xl@%+zFYAwhN!wf4u?$(CA+yYZ>d|5=?{ zWc}foK1*U%aeSh5(SN z#b9WsfwnyJxPd6$C}D*T{}qike+r1gEz`8Pn6t2GVP*n#97)gk>ho{!Q$)+_NG&%? zziy^lZk3Rq6g!Q_=F3OKbPJ31b<((g$@U^OfnWRH_h*Ya*9(pvL&lmHtnx^fnX8k& z5Wa2;P6z;|#W+YgFMlnRzXf3>`}F?R_14$)TCvH&N^lXyG;f6C5+UHzjzCSNTv?m= z=N&IrY~}9?B-D}5TFKo-hFalBKAi8a?w5U19E}Mn@iDJ82euB~C%A5MLB<=DdL&h(+UNDzjRW|+p;AAnhw3+hF9p_xsCmcg!r6;+wdj-V^BOr836Y$`MTUplbQDI(ViC9RE zpqEbc8gS7+LAQ6G_?Wva;Wf*}>R5MXe1XW` zZ}QNC^Qy4H2B!s2-((0;nHHGN?!^gQ2$tSq{PQcB{|VWV#>5cv$J6q(?X+k^@!Qcd zQVICa3n`#=!!i5(yuBDL4(I_G3nZECG#( zdijO+aq?o1e5^vX=h-(^Y(Ha}b56K2NmjufikDv=$Vgwvj%_ua>XTJjzgFi{P@?`~J z57n7D6PuX=Z8CReaRm%H=ID-I@g$4t2DM8Z5#%}Cq8~hre(0yXkF=Y3EMP`vn>qzI zA6y%}QZ#~37NwJa%KQQ7hi&Fl3bqnidW@O3av@zzRy!~SdP2T>u5Z!M(OFl1sh+P$ zQm%{%GRmgdO7(5kMZpOg!)rE<4;wS&I!~mn0?vgbr`k2K` z`Y7yJLM>I1mj{NFTMSVBi>#P&(OZ``80#@OQB~k`0*f40{aAJFgPuGjKT9*JC{wKL zRn4(j$F;)yB=xdAZrO`BQPof7-O@hC2KM!(6fZIl&Lifl+bm|AuTdso!gUdQUA%!l zkp`xgb<)MgrEQtcvlk)Zq-_7PevIf?pi5|p`|vJ$q#UXrHF&Q4fh=pRFsJ#0LV@3n zIO>!oRpfWuQ9n^7ef!M5#uN!EIxE@h-9Ce|*1P^_39+Tk+}3c6F{>o2PL%f*KJj$? z`0X1UVRLs;iO?~^TE_0rV~nj$y;z+qWN;Hw}hi0O766syY zZV`zh1(xKG)-uu%oQ=&_qzM6mro1M-0}b*?J+hi;U#+#nt`Ql@TvH0zJJ#FDA$4*y zTDBTVl|ZP8T8juBQ$ZHOPk(r`I+S(Q5EWJ9(@nX&I{ zSqFpcTh*u%UeV^+(=RWuSy3fqH&wX7y+}&d)mYFA=^r&C|+AO$Cc}4$} z^~1Tk-?d$Tq=8j^g*r?SOnv{uJM!Q(U0}W9=ImYSy?U!rMvjOa>9&O$mRDtL-#NRT z@^_z{7;jpihK_)5um~e1Tqq`Wt8#EI{|<`|R`ew9KY_yrwCivz=|}S%OYJl2xt>1UzYk9Qt1TQsee27_fkc+g69yk2u_1j@!2z~gi_K9cV>VVN{ zUaxRw?CWc>ZrX}bm+zD;`P{3&gldml_IqIlQ)LvrqyA=g?&P}i8wsBTmKx8@rot~V zt9s?^|M~bKLLaNarCEZ1^_x9;qxZ4*j%3Ie8K3y)-!fl{@6&wv+4nA5GG`L)Q@dyg zyGnvx=Vj?$-T!HEsie_BBVT(z>BQKqWKZhthJ{|wrobEG@F-YS% zHZ{JV6-~&W-BYN#gew%e%}*ATKRTJFK4t&(CR4EY7*1M$P6vS|0g zGfx(E*){#wj)o1@MW0*mYcDTA#ajz1GsG53TRu3bR;}K6keOYn_D8B1ui`kZ$YQb; zf6?1|G}nL2$L@HHA9UJcf%fagi{8|ml)ajmwi&f7(o@anO@CoOKf;v2=NG`WxpQ=3 zqI9J*W~x}sTUTGC*UNp!p=z+BOmOdYEYTErn9zA4ApZ47q5KlXOh{2;ma-@G$!$Q?xPshv(a-LIIj$ zh6DUr$KqJ7edi-bb!3X)FFAIhu{mvS^^Tw8w=xieA?_uy_5(jF4q)t#wE{FRJd`)G@ksCD=y+3j5j<@UxHJ#F=XpG!`6JsF<`!FaeN{2B@qUiqZ*SbDZ~CNY08JMf)5kR!4O z`Jm!TbE?(*_8vl7k3^?_c`~P$QYwbCicYj(w_K_&)9PI|zD?5dsYs`uo_kJf(XdUe z#;(BCH%Ls$$YZ(-no*ZN2>vj=wT#TEE_$^ymb7{;a>RPHr1Q%~Qju6ib*+APcSY@8 z@5@P|3UOm^qvUs_WsPCXGY zH_lNxM(2(}w4B!>sek)d6`+vcb&EZp#(L!h6&d;Xep+{K+{EcynmwoQa4J1w>12k( zI-{@$Y%Yr7MT!34<%TMx-lcwv6Bh<#rP$?(!PfkhN^%i8W3lHD>HOZO8P_XbA%zHCTfk^33+9cFC@zrU=WP5!Qx zQ7!O?GniC*Mw`PTZ*dEOKio;$PR6G@+miHNQn1n7N1|D`dP))d%7G3zr(y!k{B&pZ z{7}_UnIYq@tQuxVV4fazEVU=7dg&|-Gp~XM?OM^4x7%#Q1(dbtwF9&pPKTye&-(JJ zt=6W|G6Hd*M%}@8qxQZ5Ro*`AlcSdcG^dNIZP$KLJ8M8MYu|Y&T4IOu3#f1LIn8T- z>Y=UrLJmx6dw(iRnvrF8eR{Vt)0YS=3LF0ZWAC@a z+T7Jf|I|c;JxOKhZUgmk<;o3GPNBmE-+j_Vyp$DT=w94{LA7gyl?g%t zIoQ++Y-GQuQtNf|!SWrcXkFfP9r+zf61S(2cbyfV7IKWV4%?bt*`9uoWg}aQwkq-i zFJ0~#L)8w@QnNbeA?WQGiY|dv>Yexwp<-q30id-ohGR~F+^``uZA<#{|JW%!BHIMbmaalFLTA*JlZ<>&<*n0I(!3~gHi8OCz z+goT2n?vPM{7+h3$F{RE1R;&PoH~3dZnQ-cy(jK@Q*h5}Ia-!#@7G53;h4B@coFLt zK7KiyS>(=g3ODCVa$_yxvo@-}O`e%tDBbSnOjYIqiPpS2=4*8`431m}WN*R9cO!7_ zYtL4|DqL2RKJJ<`t5#_plfFV4qu9bbJhE){*KGZ{*_0ui8?$IhaPPOPp7o>vka zeQH?KMBD^W%2F-n>#UJBT!}2&l<%nF+{Pj5q(ED@qUIW6I4OR2*=}nN8cL@&j=j@@ zpMtm7lD);;ekmpihhDQbs%CbRa8^6`%yKihY2hq_YN(e4&OsJgCdI#(C2f~s!c3e zM*{6eH?A2=BMysOW61OG>VYM(7<{9LEMowK2VR5gy zKy`{J`bncE!)_KaV<~svjuc;L`#mVk*n@Fgbm_pDghqJl~itKRxb4$b3yF(1);$Q7O`uz%#(l1KaxS=XpbI&S-4j|!jgsiHE zi6eu5|AvyS$4_r6R%rv58oxGhhxrYyLiHrSBeBCyN0XxIk_sJv2X5jh=92sNH##5T zQg6$tW&Z{87|K7SA>v`YHy2!nk)YRQtX<+eO8!E`BDyWFAo(ONQ!;q${h@@qvkZg_ znj%w^v0^*ZmCw0DLz*r$KQ3VNtfF*EI@?!9aW=4`9B&Z@!B>|{Ca>*OngMnziz-vK zi6=KNeZBq8)rxC0%~JIrwR%^a)KzJ}8s@K_5B4tA6{jrH&_}x}70MK#Y1kJ3nZSlk z{EcIGiXX5b61YDJmy_#RbP8aA0=xG;*f%gyhl=PqMRR^3V*!J=KhFg)e$-AGCWd>-xHry#+Mj z>5FjWtDM#D>$f;vdeQlrm3o%b>-pnDnc9Z8*!^W#DjCES`Wq8l)DQGq_(h(xT}%|u zou8uOD0Btfx3oCLXJJ3g?V0;*Mbg9+UWOCKG$l{FCuSZ!6@$_0^Q+yIf-!TR~h;O3ZV{9EuVJS1Te#}wm%-1@$ zo#ljHk2rpvLaZ^3X@`(kL(Aksa#bHrrf<-gzglV%!9B>A3qAJS{TZ<%x3Kp@nT6wm zZn{9?Ku?UR>)_L1yq>_U>s2(e;5!Is+)C6MUpbPd36yK5N3l{U!8xX_N6B%RBh{ca zW8;=%qGqX1U8xsthO~+Ndw35Xu;g z85dlJh(}A0;wgB+!{l>>onsN&h}umYhSEqdb#-%LZ_dpmU%M`J1Mfk5#Rh%O+QGS7q`V4QY9rbe@uVwbOdM;1RhR)su2N)Tn%wUGZ z)KRd7k&*MQ0nCU&P}Gh7|u=Hu^0W_&cv)_tEo`r1+s?w)0HW1I)wm0jNR^DB{Y{6Cu%vR`&{z_|%aiDICK{C*I{hh|9%wG{jFI(b1= zuO$P};r!mf;d;i>x%9HnI-0(3h^f3_6{SXaD*4{iXK~~`P=N`Ethi*R7w7w-c9l?~ z6dd<)6m)-^^AI_4kN7t56m;FJ0{XBwl`g(rv?Lv52EHymD$c#IbO*?=R9k^5$?Siu#jddyqA zK5rg_mJQFO4x|=YnSKf3# z_fjb$1Z_k$gEZKxfQd%_rb%tGZevVll)oC z*J&#;T=*Rcq~k6&|A>LoZ9{5L)5|;T45LCx#M*&s`N^^qCMVkvg?*+yXD=6PO?YuJ8G{l(+iGAzJ;Tsm-Fj_Xi2|Q4fV%K$Hhb{cWwcO>8j0OZ)tI#FO;!ZCZhQ zJnOFHO5le5tQt^jn{jlXVk!kSbpReAW4koE>A z7Law}@4p#9wGz5vncCBG;165*-UIHv6Yp^GYyj3fihHhrvUb5Xf{Scuf0?3v^OV}Y z?~L0a2+|I%&h?M3BTLn3$>1UjdNR^3rMhoBZBt{fi=wj2{N@>LRo~AvlJFjuqOu>~ z?^4zGn~{FQZa~`W(4S}TU+4IC8yBGc^`q%Y2Vg~qc$a;2s#K~7y3zw> zu!IBTVjMLx`A8Zf#A&<3@2zCURDWs+7<;IeH6Ja@qC^?v>qTb-?x010uU6Q`jRH<#+|(-}G4$?jMFN!7h=P8=xx% z+S)+ohkmqn&cm`JGeCiPvlH6OtyraL46{I_SPCsh&omI?grHYxz6b_ffORyg z!T$ju!tmU=;7H)Z2VoL5jY8*NfiB#R4eUduzdw+WdKdZm;dJv_rN19AWG1mLtIe*L zB|t^&2w~|JQTnY#dQ7eGh}ahJaA^G1DY(t(#!eRyF<`7mN4i0+kPc&cQSrjQh>#8$ zAKKaUZUMU*JJ*nEm(fLkU90=NIvz!T1~hD5Qv9dQPHn9wkA7j#ti5uDVbhefMx{{p za~8MbIPs_2-x2st7nM4jE|h>TxkyYL+`Qp*J$mO}l{{()T8P}eEr3=H6(87gJQsBX5CH){9H8J#IG_v@}(z`ZW5QT&mR$RJsaMeje%{;lm-xLtA zS3T2M54879XbL z0{pz_kzM=%b|&V|n`ogPWEUS$A@j7tdU1i?4SNwt-wF?@I6B>*vnCl*EZqois=x;X zUT>=RR|3i>d<~;hABst%5+J+dVgD?ZERgicmE>HDeN-$8?|v|u;T;*!48opMQY`h-J2`t95MoH`2zfQ#tP_Q%IxdYAcCy?`lX{VXmZ z@~W$~8VefRVmogdJ+H3zn1BL$(*q_lS8xGQcfQp5^8-7%&qftV>Wj&rKnsec^jp~K zzCBn3;!uo?lhAtk|$s>(2q~T-fb+ z7u2j;>(34Zbk;GTxU!~EBx=a+J)|JF6n5HmS|`01TGH zE?R}s=4K_ph*quEmX7?7BTRsi)*9}Gdkx>fd>XVZd*~x86m7rFEDV@lf0>Naw>NhV z28@TMdo(7FM}0vR8i1x+(B==#rYyKe4H!l7HO}_y&*?bd2LfeqF-8mOiPK;{HE_q! z;(d?)oQ1O&5cp*OYMFW>HK;-jG{`h9&UES98#sFaS=ljN&*+LSGeL+`E81YNK(H2x z1VuOgRk1*AvIr;O?lS!&xA;<0rR1NSG+)*E0Z&tU;|WI4N9)T z^q5Hq2>Nzou*9|7O(N(BFX_?!?XRpPdI*}n=<(%k*7IQme z$@X}C#@h{5j9b8D09uRCjxHARUsC-5RD7Y7O=tN@z z;|Ui5qOr;zZ15fl0RYl>YNvsYB1sAWlp^eyWrWG5t`r`~5F z{h|Q$3mV>nA+#6pZ&?7D!}6Q&;al}`T0rw&TMBcPI%*k$Zeo*K6F)I^4hP(}9KSu( ziqUfp1>DAuT349eFQYy}&>ibGrs|0|z-u(XTBtd44(?eccNJ(3Yrt2Z3Nde316Mf1 z^{ov%u7cmF0oma&i%iE38Oc0=0d>{t7AJp!}Kg{p$+ zh{Vun{$Q0uVtIh}R*C7MQ=wV_l?~C6o|)CyV(oOV76$rfA`7jyV`NF}6liZ5?Ce7j z?mJ=Wd>fdW63Ij)l7Ak*Q2|U5`}ND=P*em&$81l-;hQaQk0KB_agav?8`LCCL(!eW zmOYDb-v&7u;I41h@v-JigPb&QS0<`_9;SyPwL;M|imt(3`r&%cw!l7_Lv#e+(Kv_Ej=f-9lD$Z9*$*!xqyd$=IiftS|H@dNA9i`3s?dOoB<2zv4p;w*WW0re5k3Fs*c zrB%YEl5-u;2fcE@SS1ne0+l@nE2SZ{nm99RfWUAxZ-P-k6Fh;+{-J2tKFtFZo`D*m zoK)XpMSQ50;{sS|w{~#)>sN9JPJoVkOAY@x`MH-$1#mVp@rTgz&Dd};0LJ#24cn|o z21qPDaJQGQxL%)o&CFQ>sC1VtsMnt}aVAfIl~`#MCNP0u4CuVNrM<_v=88|H1UzN5 z8%V6p(iCW}ryW{e7<6(9;4-c#CVCB%l}yk9bR-CA?dLE+jfn@{F4|9_HcWbQecT(dNIrso#_ F{{W%y8Djtd diff --git a/packages/components/nodes/llms/Cohere/Cohere.svg b/packages/components/nodes/llms/Cohere/Cohere.svg new file mode 100644 index 00000000..88bcabe3 --- /dev/null +++ b/packages/components/nodes/llms/Cohere/Cohere.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/llms/Cohere/Cohere.ts b/packages/components/nodes/llms/Cohere/Cohere.ts index 3fde0af0..1760b10d 100644 --- a/packages/components/nodes/llms/Cohere/Cohere.ts +++ b/packages/components/nodes/llms/Cohere/Cohere.ts @@ -20,7 +20,7 @@ class Cohere_LLMs implements INode { this.name = 'cohere' this.version = 2.0 this.type = 'Cohere' - this.icon = 'cohere.png' + this.icon = 'Cohere.svg' this.category = 'LLMs' this.description = 'Wrapper around Cohere large language models' this.baseClasses = [this.type, ...getBaseClasses(Cohere)] diff --git a/packages/components/nodes/llms/Cohere/cohere.png b/packages/components/nodes/llms/Cohere/cohere.png deleted file mode 100644 index 266adeac2214b8627504eaf299c990b28f0448e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7847 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 diff --git a/packages/components/nodes/llms/GooglePaLM/GooglePaLM.svg b/packages/components/nodes/llms/GooglePaLM/GooglePaLM.svg new file mode 100644 index 00000000..ed47326a --- /dev/null +++ b/packages/components/nodes/llms/GooglePaLM/GooglePaLM.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/llms/GooglePaLM/GooglePaLM.ts b/packages/components/nodes/llms/GooglePaLM/GooglePaLM.ts index d3212a1c..d22b70f7 100644 --- a/packages/components/nodes/llms/GooglePaLM/GooglePaLM.ts +++ b/packages/components/nodes/llms/GooglePaLM/GooglePaLM.ts @@ -19,7 +19,7 @@ class GooglePaLM_LLMs implements INode { this.name = 'GooglePaLM' this.version = 2.0 this.type = 'GooglePaLM' - this.icon = 'Google_PaLM_Logo.svg' + this.icon = 'GooglePaLM.svg' this.category = 'LLMs' this.description = 'Wrapper around Google MakerSuite PaLM large language models' this.baseClasses = [this.type, ...getBaseClasses(GooglePaLM)] diff --git a/packages/components/nodes/llms/GooglePaLM/Google_PaLM_Logo.svg b/packages/components/nodes/llms/GooglePaLM/Google_PaLM_Logo.svg deleted file mode 100644 index 5c345fe1..00000000 --- a/packages/components/nodes/llms/GooglePaLM/Google_PaLM_Logo.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/components/nodes/llms/GoogleVertexAI/GoogleVertex.svg b/packages/components/nodes/llms/GoogleVertexAI/GoogleVertex.svg new file mode 100644 index 00000000..a517740f --- /dev/null +++ b/packages/components/nodes/llms/GoogleVertexAI/GoogleVertex.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/llms/GoogleVertexAI/GoogleVertexAI.ts b/packages/components/nodes/llms/GoogleVertexAI/GoogleVertexAI.ts index 6b6d534b..f3f807f8 100644 --- a/packages/components/nodes/llms/GoogleVertexAI/GoogleVertexAI.ts +++ b/packages/components/nodes/llms/GoogleVertexAI/GoogleVertexAI.ts @@ -21,7 +21,7 @@ class GoogleVertexAI_LLMs implements INode { this.name = 'googlevertexai' this.version = 2.0 this.type = 'GoogleVertexAI' - this.icon = 'vertexai.svg' + this.icon = 'GoogleVertex.svg' this.category = 'LLMs' this.description = 'Wrapper around GoogleVertexAI large language models' this.baseClasses = [this.type, ...getBaseClasses(GoogleVertexAI)] diff --git a/packages/components/nodes/llms/GoogleVertexAI/vertexai.svg b/packages/components/nodes/llms/GoogleVertexAI/vertexai.svg deleted file mode 100644 index 31244412..00000000 --- a/packages/components/nodes/llms/GoogleVertexAI/vertexai.svg +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/packages/components/nodes/llms/HuggingFaceInference/HuggingFace.svg b/packages/components/nodes/llms/HuggingFaceInference/HuggingFace.svg new file mode 100644 index 00000000..58c85d57 --- /dev/null +++ b/packages/components/nodes/llms/HuggingFaceInference/HuggingFace.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts b/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts index 8dcf021b..c8c6dbb2 100644 --- a/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts +++ b/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts @@ -20,7 +20,7 @@ class HuggingFaceInference_LLMs implements INode { this.name = 'huggingFaceInference_LLMs' this.version = 2.0 this.type = 'HuggingFaceInference' - this.icon = 'huggingface.png' + this.icon = 'HuggingFace.png' this.category = 'LLMs' this.description = 'Wrapper around HuggingFace large language models' this.baseClasses = [this.type, ...getBaseClasses(HuggingFaceInference)] diff --git a/packages/components/nodes/llms/HuggingFaceInference/huggingface.png b/packages/components/nodes/llms/HuggingFaceInference/huggingface.png deleted file mode 100644 index f8f202a46300c21e41bd782da959e43df5c73fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120391 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 \ No newline at end of file diff --git a/packages/components/nodes/llms/Ollama/Ollama.ts b/packages/components/nodes/llms/Ollama/Ollama.ts index 348b1883..c7250a04 100644 --- a/packages/components/nodes/llms/Ollama/Ollama.ts +++ b/packages/components/nodes/llms/Ollama/Ollama.ts @@ -22,7 +22,7 @@ class Ollama_LLMs implements INode { this.name = 'ollama' this.version = 2.0 this.type = 'Ollama' - this.icon = 'ollama.png' + this.icon = 'Ollama.svg' this.category = 'LLMs' this.description = 'Wrapper around open source large language models on Ollama' this.baseClasses = [this.type, ...getBaseClasses(Ollama)] diff --git a/packages/components/nodes/llms/Ollama/ollama.png b/packages/components/nodes/llms/Ollama/ollama.png deleted file mode 100644 index 8cd2cf1ed8043caf62e8b069330889c0cf0f5a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7487 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 \ No newline at end of file + \ No newline at end of file From d8af8ccb092404e4ba1a5001b86e097b6bbec045 Mon Sep 17 00:00:00 2001 From: abhishekshankr Date: Thu, 21 Dec 2023 12:00:14 -0500 Subject: [PATCH 14/58] Update icons --- .../chatmodels/AWSBedrock/AWSChatBedrock.ts | 2 +- .../nodes/chatmodels/AWSBedrock/aws.svg | 6 +- .../chatmodels/AzureChatOpenAI/Azure.svg | 2 +- .../nodes/chatmodels/Bittensor/Bittensor.ts | 2 +- .../chatmodels/Bittensor/NIBittensor.svg | 1 + .../nodes/chatmodels/Bittensor/logo.png | Bin 24561 -> 0 bytes .../chatmodels/ChatAnthropic/Anthropic.svg | 1 + .../chatmodels/ChatAnthropic/ChatAnthropic.ts | 2 +- .../ChatAnthropic/chatAnthropic.png | Bin 58491 -> 0 bytes .../ChatGoogleGenerativeAI.ts | 2 +- .../ChatGoogleGenerativeAI/GoogleGemini.svg | 34 +++++++++ .../ChatGoogleGenerativeAI/gemini.png | Bin 57143 -> 0 bytes .../ChatGooglePaLM/ChatGooglePaLM.ts | 2 +- .../chatmodels/ChatGooglePaLM/GooglePaLM.svg | 1 + .../ChatGooglePaLM/Google_PaLM_Logo.svg | 67 ------------------ .../ChatGoogleVertexAI/ChatGoogleVertexAI.ts | 2 +- .../ChatGoogleVertexAI/GoogleVertex.svg | 1 + .../ChatGoogleVertexAI/vertexai.svg | 2 - .../ChatHuggingFace/ChatHuggingFace.ts | 2 +- .../ChatHuggingFace/HuggingFace.svg | 1 + .../ChatHuggingFace/huggingface.png | Bin 120391 -> 0 bytes .../chatmodels/ChatMistral/ChatMistral.ts | 2 +- .../chatmodels/ChatMistral/MistralAI.svg | 1 + .../chatmodels/ChatMistral/mistralai.png | Bin 4542 -> 0 bytes .../nodes/chatmodels/ChatOllama/ChatOllama.ts | 2 +- .../nodes/chatmodels/ChatOllama/Ollama.svg | 1 + .../nodes/chatmodels/ChatOllama/ollama.png | Bin 7487 -> 0 bytes .../embeddings/AWSBedrockEmbedding/aws.svg | 6 +- .../embeddings/AzureOpenAIEmbedding/Azure.svg | 2 +- .../embeddings/CohereEmbedding/Cohere.svg | 1 + .../CohereEmbedding/CohereEmbedding.ts | 2 +- .../embeddings/CohereEmbedding/cohere.png | Bin 7847 -> 0 bytes .../GoogleGemini.svg | 34 +++++++++ .../GoogleGenerativeAIEmbedding.ts | 2 +- .../GoogleGenerativeAIEmbedding/gemini.png | Bin 57143 -> 0 bytes .../GooglePaLMEmbedding/GooglePaLM.svg | 1 + .../GooglePaLMEmbedding.ts | 2 +- .../GooglePaLMEmbedding/Google_PaLM_Logo.svg | 67 ------------------ .../GoogleVertexAIEmbedding/GoogleVertex.svg | 1 + .../GoogleVertexAIEmbedding.ts | 2 +- .../GoogleVertexAIEmbedding/vertexai.svg | 2 - .../HuggingFace.svg | 1 + .../HuggingFaceInferenceEmbedding.ts | 2 +- .../huggingface.png | Bin 120391 -> 0 bytes .../embeddings/MistralEmbedding/MistralAI.svg | 1 + .../MistralEmbedding/MistralEmbedding.ts | 2 +- .../embeddings/MistralEmbedding/mistralai.png | Bin 4542 -> 0 bytes .../embeddings/OllamaEmbedding/Ollama.svg | 1 + .../OllamaEmbedding/OllamaEmbedding.ts | 2 +- .../embeddings/OllamaEmbedding/ollama.png | Bin 7487 -> 0 bytes .../components/nodes/llms/AWSBedrock/aws.svg | 6 +- .../nodes/llms/Azure OpenAI/Azure.svg | 2 +- .../nodes/llms/Bittensor/Bittensor.ts | 2 +- .../nodes/llms/Bittensor/NIBittensor.svg | 1 + .../components/nodes/llms/Bittensor/logo.png | Bin 24561 -> 0 bytes .../components/nodes/llms/Cohere/Cohere.svg | 1 + .../components/nodes/llms/Cohere/Cohere.ts | 2 +- .../components/nodes/llms/Cohere/cohere.png | Bin 7847 -> 0 bytes .../nodes/llms/GooglePaLM/GooglePaLM.svg | 1 + .../nodes/llms/GooglePaLM/GooglePaLM.ts | 2 +- .../llms/GooglePaLM/Google_PaLM_Logo.svg | 67 ------------------ .../llms/GoogleVertexAI/GoogleVertex.svg | 1 + .../llms/GoogleVertexAI/GoogleVertexAI.ts | 2 +- .../nodes/llms/GoogleVertexAI/vertexai.svg | 2 - .../llms/HuggingFaceInference/HuggingFace.svg | 1 + .../HuggingFaceInference.ts | 2 +- .../llms/HuggingFaceInference/huggingface.png | Bin 120391 -> 0 bytes .../components/nodes/llms/Ollama/Ollama.svg | 1 + .../components/nodes/llms/Ollama/Ollama.ts | 2 +- .../components/nodes/llms/Ollama/ollama.png | Bin 7487 -> 0 bytes .../IfElseFunction/ifelsefunction.svg | 2 +- 71 files changed, 116 insertions(+), 248 deletions(-) create mode 100644 packages/components/nodes/chatmodels/Bittensor/NIBittensor.svg delete mode 100644 packages/components/nodes/chatmodels/Bittensor/logo.png create mode 100644 packages/components/nodes/chatmodels/ChatAnthropic/Anthropic.svg delete mode 100644 packages/components/nodes/chatmodels/ChatAnthropic/chatAnthropic.png create mode 100644 packages/components/nodes/chatmodels/ChatGoogleGenerativeAI/GoogleGemini.svg delete mode 100644 packages/components/nodes/chatmodels/ChatGoogleGenerativeAI/gemini.png create mode 100644 packages/components/nodes/chatmodels/ChatGooglePaLM/GooglePaLM.svg delete mode 100644 packages/components/nodes/chatmodels/ChatGooglePaLM/Google_PaLM_Logo.svg create mode 100644 packages/components/nodes/chatmodels/ChatGoogleVertexAI/GoogleVertex.svg delete mode 100644 packages/components/nodes/chatmodels/ChatGoogleVertexAI/vertexai.svg create mode 100644 packages/components/nodes/chatmodels/ChatHuggingFace/HuggingFace.svg delete mode 100644 packages/components/nodes/chatmodels/ChatHuggingFace/huggingface.png create mode 100644 packages/components/nodes/chatmodels/ChatMistral/MistralAI.svg delete mode 100644 packages/components/nodes/chatmodels/ChatMistral/mistralai.png create mode 100644 packages/components/nodes/chatmodels/ChatOllama/Ollama.svg delete mode 100644 packages/components/nodes/chatmodels/ChatOllama/ollama.png create mode 100644 packages/components/nodes/embeddings/CohereEmbedding/Cohere.svg delete mode 100644 packages/components/nodes/embeddings/CohereEmbedding/cohere.png create mode 100644 packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGemini.svg delete mode 100644 packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/gemini.png create mode 100644 packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLM.svg delete mode 100644 packages/components/nodes/embeddings/GooglePaLMEmbedding/Google_PaLM_Logo.svg create mode 100644 packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertex.svg delete mode 100644 packages/components/nodes/embeddings/GoogleVertexAIEmbedding/vertexai.svg create mode 100644 packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFace.svg delete mode 100644 packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/huggingface.png create mode 100644 packages/components/nodes/embeddings/MistralEmbedding/MistralAI.svg delete mode 100644 packages/components/nodes/embeddings/MistralEmbedding/mistralai.png create mode 100644 packages/components/nodes/embeddings/OllamaEmbedding/Ollama.svg delete mode 100644 packages/components/nodes/embeddings/OllamaEmbedding/ollama.png create mode 100644 packages/components/nodes/llms/Bittensor/NIBittensor.svg delete mode 100644 packages/components/nodes/llms/Bittensor/logo.png create mode 100644 packages/components/nodes/llms/Cohere/Cohere.svg delete mode 100644 packages/components/nodes/llms/Cohere/cohere.png create mode 100644 packages/components/nodes/llms/GooglePaLM/GooglePaLM.svg delete mode 100644 packages/components/nodes/llms/GooglePaLM/Google_PaLM_Logo.svg create mode 100644 packages/components/nodes/llms/GoogleVertexAI/GoogleVertex.svg delete mode 100644 packages/components/nodes/llms/GoogleVertexAI/vertexai.svg create mode 100644 packages/components/nodes/llms/HuggingFaceInference/HuggingFace.svg delete mode 100644 packages/components/nodes/llms/HuggingFaceInference/huggingface.png create mode 100644 packages/components/nodes/llms/Ollama/Ollama.svg delete mode 100644 packages/components/nodes/llms/Ollama/ollama.png diff --git a/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts b/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts index fedd731d..d869ea75 100644 --- a/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts +++ b/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts @@ -29,7 +29,7 @@ class AWSChatBedrock_ChatModels implements INode { this.name = 'awsChatBedrock' this.version = 3.0 this.type = 'AWSChatBedrock' - this.icon = 'aws.svg' + this.icon = 'AWS.svg' this.category = 'Chat Models' this.description = 'Wrapper around AWS Bedrock large language models that use the Chat endpoint' this.baseClasses = [this.type, ...getBaseClasses(BedrockChat)] diff --git a/packages/components/nodes/chatmodels/AWSBedrock/aws.svg b/packages/components/nodes/chatmodels/AWSBedrock/aws.svg index 0e630a3b..d783497e 100644 --- a/packages/components/nodes/chatmodels/AWSBedrock/aws.svg +++ b/packages/components/nodes/chatmodels/AWSBedrock/aws.svg @@ -1,5 +1 @@ - - - - - + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/AzureChatOpenAI/Azure.svg b/packages/components/nodes/chatmodels/AzureChatOpenAI/Azure.svg index 47ad8c44..7b150811 100644 --- a/packages/components/nodes/chatmodels/AzureChatOpenAI/Azure.svg +++ b/packages/components/nodes/chatmodels/AzureChatOpenAI/Azure.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts b/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts index 36b084e6..9563ea43 100644 --- a/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts +++ b/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts @@ -19,7 +19,7 @@ class Bittensor_ChatModels implements INode { this.name = 'NIBittensorChatModel' this.version = 2.0 this.type = 'BittensorChat' - this.icon = 'logo.png' + this.icon = 'NIBittensor.svg' this.category = 'Chat Models' this.description = 'Wrapper around Bittensor subnet 1 large language models' this.baseClasses = [this.type, ...getBaseClasses(NIBittensorChatModel)] diff --git a/packages/components/nodes/chatmodels/Bittensor/NIBittensor.svg b/packages/components/nodes/chatmodels/Bittensor/NIBittensor.svg new file mode 100644 index 00000000..062cd66b --- /dev/null +++ b/packages/components/nodes/chatmodels/Bittensor/NIBittensor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/Bittensor/logo.png b/packages/components/nodes/chatmodels/Bittensor/logo.png deleted file mode 100644 index ad51774d5198772b36f6bd19aa8f8404f5906698..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24561 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 F{{W%y8Djtd diff --git a/packages/components/nodes/chatmodels/ChatAnthropic/Anthropic.svg b/packages/components/nodes/chatmodels/ChatAnthropic/Anthropic.svg new file mode 100644 index 00000000..dc4b342e --- /dev/null +++ b/packages/components/nodes/chatmodels/ChatAnthropic/Anthropic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic.ts b/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic.ts index 358a15d1..599578f5 100644 --- a/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic.ts +++ b/packages/components/nodes/chatmodels/ChatAnthropic/ChatAnthropic.ts @@ -21,7 +21,7 @@ class ChatAnthropic_ChatModels implements INode { this.name = 'chatAnthropic' this.version = 3.0 this.type = 'ChatAnthropic' - this.icon = 'chatAnthropic.png' + this.icon = 'Anthropic.svg' this.category = 'Chat Models' this.description = 'Wrapper around ChatAnthropic large language models that use the Chat endpoint' this.baseClasses = [this.type, ...getBaseClasses(ChatAnthropic)] diff --git a/packages/components/nodes/chatmodels/ChatAnthropic/chatAnthropic.png b/packages/components/nodes/chatmodels/ChatAnthropic/chatAnthropic.png deleted file mode 100644 index 42324cb7ca52c23f950f13bd54cdd38af8b02336..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58491 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

1U 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 diff --git a/packages/components/nodes/chatmodels/ChatGooglePaLM/ChatGooglePaLM.ts b/packages/components/nodes/chatmodels/ChatGooglePaLM/ChatGooglePaLM.ts index 121406c7..ab7a6169 100644 --- a/packages/components/nodes/chatmodels/ChatGooglePaLM/ChatGooglePaLM.ts +++ b/packages/components/nodes/chatmodels/ChatGooglePaLM/ChatGooglePaLM.ts @@ -20,7 +20,7 @@ class ChatGooglePaLM_ChatModels implements INode { this.name = 'chatGooglePaLM' this.version = 2.0 this.type = 'ChatGooglePaLM' - this.icon = 'Google_PaLM_Logo.svg' + this.icon = 'GooglePaLM.svg' this.category = 'Chat Models' this.description = 'Wrapper around Google MakerSuite PaLM large language models using the Chat endpoint' this.baseClasses = [this.type, ...getBaseClasses(ChatGooglePaLM)] diff --git a/packages/components/nodes/chatmodels/ChatGooglePaLM/GooglePaLM.svg b/packages/components/nodes/chatmodels/ChatGooglePaLM/GooglePaLM.svg new file mode 100644 index 00000000..ed47326a --- /dev/null +++ b/packages/components/nodes/chatmodels/ChatGooglePaLM/GooglePaLM.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/ChatGooglePaLM/Google_PaLM_Logo.svg b/packages/components/nodes/chatmodels/ChatGooglePaLM/Google_PaLM_Logo.svg deleted file mode 100644 index 5c345fe1..00000000 --- a/packages/components/nodes/chatmodels/ChatGooglePaLM/Google_PaLM_Logo.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/components/nodes/chatmodels/ChatGoogleVertexAI/ChatGoogleVertexAI.ts b/packages/components/nodes/chatmodels/ChatGoogleVertexAI/ChatGoogleVertexAI.ts index 6b070bd9..4c961853 100644 --- a/packages/components/nodes/chatmodels/ChatGoogleVertexAI/ChatGoogleVertexAI.ts +++ b/packages/components/nodes/chatmodels/ChatGoogleVertexAI/ChatGoogleVertexAI.ts @@ -21,7 +21,7 @@ class GoogleVertexAI_ChatModels implements INode { this.name = 'chatGoogleVertexAI' this.version = 2.0 this.type = 'ChatGoogleVertexAI' - this.icon = 'vertexai.svg' + this.icon = 'GoogleVertex.svg' this.category = 'Chat Models' this.description = 'Wrapper around VertexAI large language models that use the Chat endpoint' this.baseClasses = [this.type, ...getBaseClasses(ChatGoogleVertexAI)] diff --git a/packages/components/nodes/chatmodels/ChatGoogleVertexAI/GoogleVertex.svg b/packages/components/nodes/chatmodels/ChatGoogleVertexAI/GoogleVertex.svg new file mode 100644 index 00000000..a517740f --- /dev/null +++ b/packages/components/nodes/chatmodels/ChatGoogleVertexAI/GoogleVertex.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/ChatGoogleVertexAI/vertexai.svg b/packages/components/nodes/chatmodels/ChatGoogleVertexAI/vertexai.svg deleted file mode 100644 index 31244412..00000000 --- a/packages/components/nodes/chatmodels/ChatGoogleVertexAI/vertexai.svg +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/ChatHuggingFace/ChatHuggingFace.ts b/packages/components/nodes/chatmodels/ChatHuggingFace/ChatHuggingFace.ts index 153c5d10..dff78193 100644 --- a/packages/components/nodes/chatmodels/ChatHuggingFace/ChatHuggingFace.ts +++ b/packages/components/nodes/chatmodels/ChatHuggingFace/ChatHuggingFace.ts @@ -20,7 +20,7 @@ class ChatHuggingFace_ChatModels implements INode { this.name = 'chatHuggingFace' this.version = 2.0 this.type = 'ChatHuggingFace' - this.icon = 'huggingface.png' + this.icon = 'HuggingFace.svg' this.category = 'Chat Models' this.description = 'Wrapper around HuggingFace large language models' this.baseClasses = [this.type, 'BaseChatModel', ...getBaseClasses(HuggingFaceInference)] diff --git a/packages/components/nodes/chatmodels/ChatHuggingFace/HuggingFace.svg b/packages/components/nodes/chatmodels/ChatHuggingFace/HuggingFace.svg new file mode 100644 index 00000000..58c85d57 --- /dev/null +++ b/packages/components/nodes/chatmodels/ChatHuggingFace/HuggingFace.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/ChatHuggingFace/huggingface.png b/packages/components/nodes/chatmodels/ChatHuggingFace/huggingface.png deleted file mode 100644 index f8f202a46300c21e41bd782da959e43df5c73fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120391 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 \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/ChatMistral/mistralai.png b/packages/components/nodes/chatmodels/ChatMistral/mistralai.png deleted file mode 100644 index 1019f495d4d690dd639aa9f4e5751c403b2eff27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4542 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

GOhkykkrx z5<$gl4%{{1&%57c5Qv$XoY%TcILb6UdoL+VK0U}ckiTqHx51ZU zmwjXW&11_L&eEgCFq@TP2dU4yzzlh^iUi9p_NpSM8p1Mj^7zmjK?2}Op8*u3nr2;h Kf#<=y@BRlu0mfYb diff --git a/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts b/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts index 31267743..ed58589b 100644 --- a/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts +++ b/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts @@ -22,7 +22,7 @@ class ChatOllama_ChatModels implements INode { this.name = 'chatOllama' this.version = 2.0 this.type = 'ChatOllama' - this.icon = 'ollama.png' + this.icon = 'Ollama.svg' this.category = 'Chat Models' this.description = 'Chat completion using open-source LLM on Ollama' this.baseClasses = [this.type, ...getBaseClasses(ChatOllama)] diff --git a/packages/components/nodes/chatmodels/ChatOllama/Ollama.svg b/packages/components/nodes/chatmodels/ChatOllama/Ollama.svg new file mode 100644 index 00000000..2dc8df53 --- /dev/null +++ b/packages/components/nodes/chatmodels/ChatOllama/Ollama.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/chatmodels/ChatOllama/ollama.png b/packages/components/nodes/chatmodels/ChatOllama/ollama.png deleted file mode 100644 index 8cd2cf1ed8043caf62e8b069330889c0cf0f5a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7487 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 - - - - + \ No newline at end of file diff --git a/packages/components/nodes/embeddings/AzureOpenAIEmbedding/Azure.svg b/packages/components/nodes/embeddings/AzureOpenAIEmbedding/Azure.svg index 47ad8c44..7b150811 100644 --- a/packages/components/nodes/embeddings/AzureOpenAIEmbedding/Azure.svg +++ b/packages/components/nodes/embeddings/AzureOpenAIEmbedding/Azure.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/components/nodes/embeddings/CohereEmbedding/Cohere.svg b/packages/components/nodes/embeddings/CohereEmbedding/Cohere.svg new file mode 100644 index 00000000..88bcabe3 --- /dev/null +++ b/packages/components/nodes/embeddings/CohereEmbedding/Cohere.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/embeddings/CohereEmbedding/CohereEmbedding.ts b/packages/components/nodes/embeddings/CohereEmbedding/CohereEmbedding.ts index b42a0357..92d0fe7d 100644 --- a/packages/components/nodes/embeddings/CohereEmbedding/CohereEmbedding.ts +++ b/packages/components/nodes/embeddings/CohereEmbedding/CohereEmbedding.ts @@ -19,7 +19,7 @@ class CohereEmbedding_Embeddings implements INode { this.name = 'cohereEmbeddings' this.version = 1.0 this.type = 'CohereEmbeddings' - this.icon = 'cohere.png' + this.icon = 'Cohere.svg' this.category = 'Embeddings' this.description = 'Cohere API to generate embeddings for a given text' this.baseClasses = [this.type, ...getBaseClasses(CohereEmbeddings)] diff --git a/packages/components/nodes/embeddings/CohereEmbedding/cohere.png b/packages/components/nodes/embeddings/CohereEmbedding/cohere.png deleted file mode 100644 index 266adeac2214b8627504eaf299c990b28f0448e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7847 zcmeG>`6JWu`#W6CvB^lT4H4yxOwPHYgBVkhE6LGZ$x)b*F)1cWB}XXCO-AGh(MhSf zhULnA-$Q-heLnxg=cn%v`{DI^&e!vP?j=}Tne)TMU?32P|BQtx4g>;I|NVHlfE!Y? z))x>+%I}P+kzJVc!tjBi0{6zwmCu!Ox@K`omyh4OdUhhmD%FCI93@9S;5(RPSen#h zdU@9vp4(zG}qg2@2yixX43b9YYb8&>ND?U#rDed|)5&D?RiP~NBB zt=GL3#oDS-QVaSG2yEG7!&xAZt0oTuggpr108wK>V9*h1EC_Vw|F8bnmbe!ERKt@k zrFPN1GuiQcI^J%MW{)c^ba1Y@?{kJRMl-Y94CXD`KG#dQK+D4In{5=%f*E`aCtAh= ztHA2n-d0rPsrneuyDN%HN=Pl6Mu&}?j6vzRPEkhg-_4iPuR8Iev{yxbIH#g|hv=)( zcOT1Q)moQ_-`}Av;4|Vy#f~R$%eXEsT00f%mp0a`c-Kc(W>q<9BY!FGup&*k69o4YkX`g)tK_0D{Ik zSiP%!rh>9xD0LX*hvKVUuty6GiqW_G;khF`)W^7hx0li{&^CDjGr6oiwfMI+U@1%6 z;Gc)UJttrS8TuZf;*kt7KheSlSv+@TQvP8cs)$WkfBl05+SfhNZ|J_lO>0WO(*d9R zAa5{dyf5k|#fOEcMS!0zUZ8CqGgVoE7Q!L;~Uq0?UKtJjZfxhC!}wK(~@VWF9K+!t|;)i(AdH9KSG?p}?*B{f6nN+flBp7gbv*(CH~7 z#_?Bx51rJ{MA|c={&(SIJE@Lx^U1>(HvW zA!#gt8>de0jFBF>jgZ3DzsIB2ERl(zqLC>(|1C?<+CpYq=$gU-Fz!X=3XcOX0(95W zs;0m{SNkorh|=nQ*y$BlNH6EjdfS@OpJ!508_*Ac5oRT%c;M(-hMoVaCGsw)h_q-x z@0r|hf};}`BBAep3EF>*^K=@{x$_7GrM{PyR#AG(f}>Rzv7bB}<_=0>10UmkXEQz| zgA`L14eWa+u`F(Crtel#j39clYC*()*%CC+cp23%vSvA9MoKe{dfM0XUh5o(_1j1I z;$8Vw8SJMZ(x+Y`NFggzuqw-6Mir9JQNJ5z_G=NUAfAecohGHZt1@^ags?A0ro}%b zf)t-D8q8l-O5}=OEv02Qn?(riAkgo_Lw^l(TXX7q`FOKT4LB^K;|c^9$9F+z-8^Ia zbB&R)AjQX}aZYU*a9XRBOCUE64avV0zRg9#DbI+1hzBWt=wBIs44;R=?7j*-H8$d* zju8&kMRL(PBrSko9DDm21In@Fp+fFU8g?z}X>CS=UOKj5sBkcjj~5;?%t_md^+%&1 z`J%czT%@yl^Z#MmA>RbfIhef5wJME0A+Adt@`?7%kJi~XM`K}Tq>0+6J_lGF*7XH; z$!vK5WtG{20ojdJVoAt*ppV@G$q?&CZb)?nfO}0dWKVl{?b@1YjucTpxM#vM^545} z59~mTx8+G^uZ;h*&BwV%(QDkK`t1k)XjRA&)r?l&oI6o?%l{aE;$+7^?jelEri8aV z)VKEQ{Gdm5UbFch=~M)#40g3DeHugyP4Gt>0;JA4P)37EaHhWua4PqRfMRF5GIYFG zQ=1a@0OC3*m=^lNKSz|q!dVqy^s@fSNe0G-51@o_6!r!ZTyRnV9cLsI>+NT42{>0g z=wspq18i{8*kaxlfQlXoA+0*S)cK6DQ39x52|y;Rg{QIsXaoR#PUK2k%77(j@5$1k+trg0Dk8r@^trEG*Pv$ce;NXXSP{8O2L%YcD7#kHp zhh0F25V~tX=yfN2GN6ReH`3Lw)(f=duy633f3lkG^(QkxRTazqr$^m78M$1*`xaqC zWRO{%c}-^PxQHQX7J)uIqq?Ob-F1$e+P#ig((_w~7K(r$vit$=RdaYpMLpsqx3xax zh+#M!;u^rZ*oYrhABN{h@lf~5cnNa?e6tn|0T^6ls<$7a;n}sW&*wV79hevwc4+m4 zA(v|wL4ENLED6XW>`{Ru8vE~~9MT;lQ7w9wHjOFEUIKt;&38lZXGykiDl)Xm+^N=L zvF4XJMFFRJCT-B+(4Gtyb-Op43KL*vaqzcETByG&_FJbHoSmAwkA6l5SRDpfotCzmar%}Fmb`|db>Stu?yYVDu9^#~ z{8e|RrU?br`7Oh^C@gW24b~I~x(XQi;^q=Ua|f zcy7I~p{Xir&v!wUJI<{`_?Je5Dwm+j!8JaPjO(%H7$9(UdoiTPmAXlpct-_oqM9DB zpk#||Nz4Nv%#7JL86reJue$6a0o%)7713VYf@nEw$~^7!KoeXu&6g3BYdj8=L_cZl z*&NVirFP~X|GzTDvfVF_89xC4WUyyjop{7PC3zd13w{A#Jsb92T5N8SdGeg-cMm z%A5-GB69^zB`oR4zk4+A+zEWm3ltP~EBRBe-}BbQzzHnL&Q!XpQsp9NQlr_5A3pPy z4*uN=RUGL$@x-asDc^^?QDpl~U?js!Xk1%#a`U!UiJM!7=mFu=I1bC>= zY$*L92X}W3bmr6YQC-V`N=9e1)z+?#HDXkhQ(Y$sSD+v_He9&c! z^i+I!o%HLBOgUooER%*hrcF4jV(rLbVX0^;@^dmHS~o?dLiwlfJJu=K1Mz*dHDJpJ z{HmI-GjWC!o!`Q`*s^)Prlb0lr(&LP)W`U89^c zJk&UA%3GIoce})0^`9dwJiYY8VcL>{_I%x?oE3o1hC+}U(;=N4M$FEPAYAS-o9vXf zP3912{yfBCp|Ph7CR_by%szJCZeth#ulYes%}APQF%xK~Kjt3QHP-sPungjjIjypl zyTO=+`NN5`SGh9>kgJ!OGySix7JK#%_b!l$Za85e^%J4Ja-`?EMFH=OBCEo$OgOv}&7KXo~O!Ni< z>SwhWmas!3Gq;f7o&Z>i+^rpB3N!l)`<;2El(i);Q@y6c^WJea`yP)}1S+(w+~Ih8 z%ZC}_qtdim*_*zfAI%{ZqQrLOypBWi<&a0*gLh~?=PTS zbx(#PUOYA|)J8r$E%Y3vfivoY+iEx_Nkkg!a4l?u?M#CjN0>&x8#p?D&P1vo(8nOPJOptC)1w2E^wD5+|r5!kA~ zyQIzy91F}i6Z{la0ws6!NE>9`srAtXTJ7fCO(}R_a&0Q|NG;n)lNa0rhCLJx9n5eY8I`Yk>U5NrG^u|kNDwWVi>~w>-;CLa zq+uFH%PP|wMZ~5QHRrFaH~>Aga{IS_^>#(Nulv#CgA>WJ!bj+nykfDS83l4eBVpK} z-Q~P$Xq&Ic)Qx`GW4Z%NHvwts<&xx%PtpdtRk{KhPJNv8?bRSy%3$27tYpxPHfMse z6!ZK^XOHZVi;_FS54I{k_4+(7Wp1E69zDhaHS8y!z>542cGH;H>wG47*^9#T>Ax?$(cDf|GBspexh1r4#+TtWre8ujG$zau}l`H+jFOBu`+FRe- zn>Ab1JpTmgl=^;YfKM&M>{{{U!l9Xx4c^V6-E7?^S{5uYvnAUkBGgUeCBa3G_W={X zrJz7yd*&%<+xL0IBV6uRuT1V$2g~lRIOhY_Nwa#fHZ)c%KXfV|7tlWuyA@Z58xjG@ zWG<94Y$^Tmygxa>kZYQ6aYK-CCt9iTn*F`L0VJafCg`XeBZkJ3_~Js})r5*K*_9gH zL>?XpFJGt=D&mH4SZFF|jn!IG-c@=~xKF$YGsGiyc~Pd<=FKWTLt$VHJUH(NoYSlvi}eZWHq! zh>K|rWWfY8ekZ~Jhy;+XsPei`K6ho*R!`X&(*3-G==w!m;GXOIS;~XehZ^Yt-G7E( zr48olGk=diRSTpnR8L_?-7?NeiHt$c{LILFXYiODHz|u9%waidx8KbrVETfM_29$y zv8v)@N2e|qw>%(smI$-xENW&eM!)^h$fn|=Jm)!2&ssn&;r%{iJq^yUfw7PYp#Qrn zh_+-b4UE{*trr$XUEZa*r<&-N4{knX8&%9a6pCLA94~#j+;5j|YaH5T?w#t1A4kg6 z=-sO;<)O;YY|Z<%_Dc2_xHH+|J1H*IVRzab-h{R$ET3Gr(rXmMXZmRfDme^*U8GBbbi@#!kqNevf0!8lNH~Jletj;0a7IS z!y{r&8B$71c3~ZX;?0emCp>*1ETeUpgY%R64emGV;hRMtL&Sa0hKcH~josY;OUywP zRtiB!zhB=3zc>?x5>M2n>P&CVw>RaP=%E@us#sfo8>VE+Tsl|3tF67<`j(f__~ZEP zLpY^HEUkB`RATH|;;Z=h+wrrVZ2voCR3Vhyxfs1X4a-1R766kIfQ5|u?kq~nc;<+7 z95!$cmASYZP2*e24}ahjXc*Uf$GV2TXiVtjM3Qu=wDoZDxG*&ZBU-KFVFRy;f+<&}yvGLS-iFyV+%_tP*IDOOmmqc>e9bCnP;^=m ztJ+*)Dt0k8zS1eWSzqG$%V#3pN`^8BDW~gGKi5Qy(Hs_U2-Qu>k=0N_@y@@5wPg2{ zApWF}Ew9rVQgRy1L#=}-?Og8wi_5Fzvq6CIcrgE*GPq(-r(Eqyzb`cCBn={K2?8EYZ2JXD7PzaNGS`q zsPTKEeXXzL)|T7uyDBX?FHakz99bB3QAoZvy`d~}_T9X)@Yvy{ z0lo{vk*Q12Hv0{JzBrJgakFQ3$mWKxUbl*L7WrXfsWv^&CwgEM>U5pMLfsivU*mM< zSa|HCwevUaCEWeavaAXgc&JyGC5Y=)63V(jze4YdD|+@s{8fnOY0`uU>LX#2`6RE@ zWN3tF9in~cc(*!6tCI7uAbO`!Zn-3w*l+cQKFQ9Zukg2w?q33g5a|NoHP0ZHg>|o# zqn8SOqx(MSWAZ}V6wAJC?)t;?y5Su$^(CXbq_(AoFWbe{1< z#$B(ql@_eBAo{j%i9;7g{n(A&j);mw({we#C*oRvJ_GC$8u!7mG{A3@AMiON@u4YkQc$M9YrsEDE#c&&YDYuj*+Q)LU%;#SZye41 z`tWuK#(YMF!N=l=8?NZ`bC+8F=dK^;Y*;OY19n6Cpzo^OyDariRM5?6e>5Bzo((4R ztBdOH5^BFnM1AQ>jRq<50dsJ61T^ouZ6Nn;4($O9=#5oq;nueNDjIm>sfhaB*7g^k zkwFG~G8ImktfliTEU-0k){DOoTI&DhDARib)0AKpZXI0aFM|SxXz!+I8}aG%zd#gM zu9c~-Mcx`zWQVVK{%6_Z+*d5MVtN15LQ{&XLiFccS04C)S_~DOs>F|WEIN!DI z-oS~v@al#qE-rBu_AuG?&v~0|fxSYbX0`dnaSoRGRDXSr39#M(oX%-f z{7J#_NOuqmPFNZVX8nv$Z~?YPve?z?4W9E;lKSEH`x>nCFI^-yJ)<5kh${tPTk$snuqTj#j`~w~LY;4aq>IeXso;qh>y(aLX6wr^V*Hs@iiI+pAw& zD6sW!Nuk(r(yb+!U(&7fKCus@v2$9K;IFKiXqlspMM-UErBgtPt?kmkbCSDmpStey zHHnxql>hnfj)BA6rO586i3|l1Fz&f6MD@p1ht>tXE{uk*>HE`n7PgKvjG7Y01kq** z*(LBbU%e?uw#Kn_j{<{~KQ`&Ay9N&Lt#XGeyJ@*9ojug*1)<+abjfa>QV*p!{ri$D#lX^Y-HyF}kg3@WZS5EIh5=ilL`->kY z&j*?KP0{j_LsQi!_YyWDqa{-_J~jC>XLr2{F8tf4+>F$_Hl$r)M8N;y4)VYJ(6~8* zP~9kLhXJOtK_p|7{b%5*ZearF^{$dV&w598<0Iptracd0;mi5qZhKg=_&)a0t4w|O z8brZX*<7c!?xErkae=6xJfUch4DDOlf8I3G(!5KAt5MsbKb7_F6Aup;eU2h)ALrZH z2xcV3n(G5O_z}^+`~S(!(worZxA$ zPu_2wA38Vsz2EyWEaj{5o-<*h(^`RPvy})-%I%6b0!p3E%+@AzXjQIqZlXM~E zk#nd00XoJm(dAycky}*&B}3DpqFi`v%l$lMsdC=wp8jUl(&gc$OY`Y>_nj(> z=$l*b<*oYt>O$kULw^e}RFR@i{eAq^MkEmEVTHIV2z>wy0a+OTJ0j2^V3Wl2|5yK8 cORWACc0UkdKO-p*`~eL*V`gPqX6zdCfAk*42LJ#7 diff --git a/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGemini.svg b/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGemini.svg new file mode 100644 index 00000000..53b497fa --- /dev/null +++ b/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGemini.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGenerativeAIEmbedding.ts b/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGenerativeAIEmbedding.ts index fa5cff45..ac84fd27 100644 --- a/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGenerativeAIEmbedding.ts +++ b/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/GoogleGenerativeAIEmbedding.ts @@ -20,7 +20,7 @@ class GoogleGenerativeAIEmbedding_Embeddings implements INode { this.name = 'googleGenerativeAiEmbeddings' this.version = 1.0 this.type = 'GoogleGenerativeAiEmbeddings' - this.icon = 'gemini.png' + this.icon = 'GoogleGemini.svg' this.category = 'Embeddings' this.description = 'Google Generative API to generate embeddings for a given text' this.baseClasses = [this.type, ...getBaseClasses(GoogleGenerativeAIEmbeddings)] diff --git a/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/gemini.png b/packages/components/nodes/embeddings/GoogleGenerativeAIEmbedding/gemini.png deleted file mode 100644 index 6c0d60f44817cdbf1bd5483d88c1929831a84eed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57143 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

1U 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 diff --git a/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLM.svg b/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLM.svg new file mode 100644 index 00000000..ed47326a --- /dev/null +++ b/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLM.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLMEmbedding.ts b/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLMEmbedding.ts index 81507d00..d003a928 100644 --- a/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLMEmbedding.ts +++ b/packages/components/nodes/embeddings/GooglePaLMEmbedding/GooglePaLMEmbedding.ts @@ -19,7 +19,7 @@ class GooglePaLMEmbedding_Embeddings implements INode { this.name = 'googlePaLMEmbeddings' this.version = 1.0 this.type = 'GooglePaLMEmbeddings' - this.icon = 'Google_PaLM_Logo.svg' + this.icon = 'GooglePaLM.svg' this.category = 'Embeddings' this.description = 'Google MakerSuite PaLM API to generate embeddings for a given text' this.baseClasses = [this.type, ...getBaseClasses(GooglePaLMEmbeddings)] diff --git a/packages/components/nodes/embeddings/GooglePaLMEmbedding/Google_PaLM_Logo.svg b/packages/components/nodes/embeddings/GooglePaLMEmbedding/Google_PaLM_Logo.svg deleted file mode 100644 index 5c345fe1..00000000 --- a/packages/components/nodes/embeddings/GooglePaLMEmbedding/Google_PaLM_Logo.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertex.svg b/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertex.svg new file mode 100644 index 00000000..a517740f --- /dev/null +++ b/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertex.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertexAIEmbedding.ts b/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertexAIEmbedding.ts index 7d086e0c..e60f688d 100644 --- a/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertexAIEmbedding.ts +++ b/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/GoogleVertexAIEmbedding.ts @@ -20,7 +20,7 @@ class GoogleVertexAIEmbedding_Embeddings implements INode { this.name = 'googlevertexaiEmbeddings' this.version = 1.0 this.type = 'GoogleVertexAIEmbeddings' - this.icon = 'vertexai.svg' + this.icon = 'GoogleVertex.svg' this.category = 'Embeddings' this.description = 'Google vertexAI API to generate embeddings for a given text' this.baseClasses = [this.type, ...getBaseClasses(GoogleVertexAIEmbeddings)] diff --git a/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/vertexai.svg b/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/vertexai.svg deleted file mode 100644 index 31244412..00000000 --- a/packages/components/nodes/embeddings/GoogleVertexAIEmbedding/vertexai.svg +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFace.svg b/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFace.svg new file mode 100644 index 00000000..58c85d57 --- /dev/null +++ b/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFace.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFaceInferenceEmbedding.ts b/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFaceInferenceEmbedding.ts index 6d75b955..5768f1d9 100644 --- a/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFaceInferenceEmbedding.ts +++ b/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/HuggingFaceInferenceEmbedding.ts @@ -19,7 +19,7 @@ class HuggingFaceInferenceEmbedding_Embeddings implements INode { this.name = 'huggingFaceInferenceEmbeddings' this.version = 1.0 this.type = 'HuggingFaceInferenceEmbeddings' - this.icon = 'huggingface.png' + this.icon = 'HuggingFace.svg' this.category = 'Embeddings' this.description = 'HuggingFace Inference API to generate embeddings for a given text' this.baseClasses = [this.type, ...getBaseClasses(HuggingFaceInferenceEmbeddings)] diff --git a/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/huggingface.png b/packages/components/nodes/embeddings/HuggingFaceInferenceEmbedding/huggingface.png deleted file mode 100644 index f8f202a46300c21e41bd782da959e43df5c73fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120391 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 \ No newline at end of file diff --git a/packages/components/nodes/embeddings/MistralEmbedding/MistralEmbedding.ts b/packages/components/nodes/embeddings/MistralEmbedding/MistralEmbedding.ts index d0a0198c..9ad63533 100644 --- a/packages/components/nodes/embeddings/MistralEmbedding/MistralEmbedding.ts +++ b/packages/components/nodes/embeddings/MistralEmbedding/MistralEmbedding.ts @@ -19,7 +19,7 @@ class MistralEmbedding_Embeddings implements INode { this.name = 'mistralAI Embeddings' this.version = 1.0 this.type = 'MistralAIEmbeddings' - this.icon = 'mistralai.png' + this.icon = 'MistralAI.svg' this.category = 'Embeddings' this.description = 'MistralAI API to generate embeddings for a given text' this.baseClasses = [this.type, ...getBaseClasses(MistralAIEmbeddings)] diff --git a/packages/components/nodes/embeddings/MistralEmbedding/mistralai.png b/packages/components/nodes/embeddings/MistralEmbedding/mistralai.png deleted file mode 100644 index 1019f495d4d690dd639aa9f4e5751c403b2eff27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4542 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

GOhkykkrx z5<$gl4%{{1&%57c5Qv$XoY%TcILb6UdoL+VK0U}ckiTqHx51ZU zmwjXW&11_L&eEgCFq@TP2dU4yzzlh^iUi9p_NpSM8p1Mj^7zmjK?2}Op8*u3nr2;h Kf#<=y@BRlu0mfYb diff --git a/packages/components/nodes/embeddings/OllamaEmbedding/Ollama.svg b/packages/components/nodes/embeddings/OllamaEmbedding/Ollama.svg new file mode 100644 index 00000000..2dc8df53 --- /dev/null +++ b/packages/components/nodes/embeddings/OllamaEmbedding/Ollama.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts b/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts index eb528aff..698770b3 100644 --- a/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts +++ b/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts @@ -20,7 +20,7 @@ class OllamaEmbedding_Embeddings implements INode { this.name = 'ollamaEmbedding' this.version = 1.0 this.type = 'OllamaEmbeddings' - this.icon = 'ollama.png' + this.icon = 'Ollama.svg' this.category = 'Embeddings' this.description = 'Generate embeddings for a given text using open source model on Ollama' this.baseClasses = [this.type, ...getBaseClasses(OllamaEmbeddings)] diff --git a/packages/components/nodes/embeddings/OllamaEmbedding/ollama.png b/packages/components/nodes/embeddings/OllamaEmbedding/ollama.png deleted file mode 100644 index 8cd2cf1ed8043caf62e8b069330889c0cf0f5a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7487 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 - - - - + \ No newline at end of file diff --git a/packages/components/nodes/llms/Azure OpenAI/Azure.svg b/packages/components/nodes/llms/Azure OpenAI/Azure.svg index 47ad8c44..7b150811 100644 --- a/packages/components/nodes/llms/Azure OpenAI/Azure.svg +++ b/packages/components/nodes/llms/Azure OpenAI/Azure.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/components/nodes/llms/Bittensor/Bittensor.ts b/packages/components/nodes/llms/Bittensor/Bittensor.ts index e6cc2bb6..68652828 100644 --- a/packages/components/nodes/llms/Bittensor/Bittensor.ts +++ b/packages/components/nodes/llms/Bittensor/Bittensor.ts @@ -20,7 +20,7 @@ class Bittensor_LLMs implements INode { this.name = 'NIBittensorLLM' this.version = 2.0 this.type = 'Bittensor' - this.icon = 'logo.png' + this.icon = 'NIBittensor.svg' this.category = 'LLMs' this.description = 'Wrapper around Bittensor subnet 1 large language models' this.baseClasses = [this.type, ...getBaseClasses(NIBittensorLLM)] diff --git a/packages/components/nodes/llms/Bittensor/NIBittensor.svg b/packages/components/nodes/llms/Bittensor/NIBittensor.svg new file mode 100644 index 00000000..062cd66b --- /dev/null +++ b/packages/components/nodes/llms/Bittensor/NIBittensor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/llms/Bittensor/logo.png b/packages/components/nodes/llms/Bittensor/logo.png deleted file mode 100644 index ad51774d5198772b36f6bd19aa8f8404f5906698..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24561 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 F{{W%y8Djtd diff --git a/packages/components/nodes/llms/Cohere/Cohere.svg b/packages/components/nodes/llms/Cohere/Cohere.svg new file mode 100644 index 00000000..88bcabe3 --- /dev/null +++ b/packages/components/nodes/llms/Cohere/Cohere.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/llms/Cohere/Cohere.ts b/packages/components/nodes/llms/Cohere/Cohere.ts index 3fde0af0..1760b10d 100644 --- a/packages/components/nodes/llms/Cohere/Cohere.ts +++ b/packages/components/nodes/llms/Cohere/Cohere.ts @@ -20,7 +20,7 @@ class Cohere_LLMs implements INode { this.name = 'cohere' this.version = 2.0 this.type = 'Cohere' - this.icon = 'cohere.png' + this.icon = 'Cohere.svg' this.category = 'LLMs' this.description = 'Wrapper around Cohere large language models' this.baseClasses = [this.type, ...getBaseClasses(Cohere)] diff --git a/packages/components/nodes/llms/Cohere/cohere.png b/packages/components/nodes/llms/Cohere/cohere.png deleted file mode 100644 index 266adeac2214b8627504eaf299c990b28f0448e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7847 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 diff --git a/packages/components/nodes/llms/GooglePaLM/GooglePaLM.svg b/packages/components/nodes/llms/GooglePaLM/GooglePaLM.svg new file mode 100644 index 00000000..ed47326a --- /dev/null +++ b/packages/components/nodes/llms/GooglePaLM/GooglePaLM.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/llms/GooglePaLM/GooglePaLM.ts b/packages/components/nodes/llms/GooglePaLM/GooglePaLM.ts index d3212a1c..d22b70f7 100644 --- a/packages/components/nodes/llms/GooglePaLM/GooglePaLM.ts +++ b/packages/components/nodes/llms/GooglePaLM/GooglePaLM.ts @@ -19,7 +19,7 @@ class GooglePaLM_LLMs implements INode { this.name = 'GooglePaLM' this.version = 2.0 this.type = 'GooglePaLM' - this.icon = 'Google_PaLM_Logo.svg' + this.icon = 'GooglePaLM.svg' this.category = 'LLMs' this.description = 'Wrapper around Google MakerSuite PaLM large language models' this.baseClasses = [this.type, ...getBaseClasses(GooglePaLM)] diff --git a/packages/components/nodes/llms/GooglePaLM/Google_PaLM_Logo.svg b/packages/components/nodes/llms/GooglePaLM/Google_PaLM_Logo.svg deleted file mode 100644 index 5c345fe1..00000000 --- a/packages/components/nodes/llms/GooglePaLM/Google_PaLM_Logo.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/components/nodes/llms/GoogleVertexAI/GoogleVertex.svg b/packages/components/nodes/llms/GoogleVertexAI/GoogleVertex.svg new file mode 100644 index 00000000..a517740f --- /dev/null +++ b/packages/components/nodes/llms/GoogleVertexAI/GoogleVertex.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/llms/GoogleVertexAI/GoogleVertexAI.ts b/packages/components/nodes/llms/GoogleVertexAI/GoogleVertexAI.ts index 6b6d534b..f3f807f8 100644 --- a/packages/components/nodes/llms/GoogleVertexAI/GoogleVertexAI.ts +++ b/packages/components/nodes/llms/GoogleVertexAI/GoogleVertexAI.ts @@ -21,7 +21,7 @@ class GoogleVertexAI_LLMs implements INode { this.name = 'googlevertexai' this.version = 2.0 this.type = 'GoogleVertexAI' - this.icon = 'vertexai.svg' + this.icon = 'GoogleVertex.svg' this.category = 'LLMs' this.description = 'Wrapper around GoogleVertexAI large language models' this.baseClasses = [this.type, ...getBaseClasses(GoogleVertexAI)] diff --git a/packages/components/nodes/llms/GoogleVertexAI/vertexai.svg b/packages/components/nodes/llms/GoogleVertexAI/vertexai.svg deleted file mode 100644 index 31244412..00000000 --- a/packages/components/nodes/llms/GoogleVertexAI/vertexai.svg +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/packages/components/nodes/llms/HuggingFaceInference/HuggingFace.svg b/packages/components/nodes/llms/HuggingFaceInference/HuggingFace.svg new file mode 100644 index 00000000..58c85d57 --- /dev/null +++ b/packages/components/nodes/llms/HuggingFaceInference/HuggingFace.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts b/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts index 8dcf021b..17260e9b 100644 --- a/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts +++ b/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts @@ -20,7 +20,7 @@ class HuggingFaceInference_LLMs implements INode { this.name = 'huggingFaceInference_LLMs' this.version = 2.0 this.type = 'HuggingFaceInference' - this.icon = 'huggingface.png' + this.icon = 'HuggingFace.svg' this.category = 'LLMs' this.description = 'Wrapper around HuggingFace large language models' this.baseClasses = [this.type, ...getBaseClasses(HuggingFaceInference)] diff --git a/packages/components/nodes/llms/HuggingFaceInference/huggingface.png b/packages/components/nodes/llms/HuggingFaceInference/huggingface.png deleted file mode 100644 index f8f202a46300c21e41bd782da959e43df5c73fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120391 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 \ No newline at end of file diff --git a/packages/components/nodes/llms/Ollama/Ollama.ts b/packages/components/nodes/llms/Ollama/Ollama.ts index 348b1883..c7250a04 100644 --- a/packages/components/nodes/llms/Ollama/Ollama.ts +++ b/packages/components/nodes/llms/Ollama/Ollama.ts @@ -22,7 +22,7 @@ class Ollama_LLMs implements INode { this.name = 'ollama' this.version = 2.0 this.type = 'Ollama' - this.icon = 'ollama.png' + this.icon = 'Ollama.svg' this.category = 'LLMs' this.description = 'Wrapper around open source large language models on Ollama' this.baseClasses = [this.type, ...getBaseClasses(Ollama)] diff --git a/packages/components/nodes/llms/Ollama/ollama.png b/packages/components/nodes/llms/Ollama/ollama.png deleted file mode 100644 index 8cd2cf1ed8043caf62e8b069330889c0cf0f5a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7487 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 \ No newline at end of file + \ No newline at end of file From 8cf34dfda80b740f0994b64b97fa0101068ee455 Mon Sep 17 00:00:00 2001 From: abhishekshankr Date: Thu, 21 Dec 2023 12:04:48 -0500 Subject: [PATCH 15/58] Fix file extension --- .../nodes/llms/HuggingFaceInference/HuggingFaceInference.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts b/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts index c8c6dbb2..17260e9b 100644 --- a/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts +++ b/packages/components/nodes/llms/HuggingFaceInference/HuggingFaceInference.ts @@ -20,7 +20,7 @@ class HuggingFaceInference_LLMs implements INode { this.name = 'huggingFaceInference_LLMs' this.version = 2.0 this.type = 'HuggingFaceInference' - this.icon = 'HuggingFace.png' + this.icon = 'HuggingFace.svg' this.category = 'LLMs' this.description = 'Wrapper around HuggingFace large language models' this.baseClasses = [this.type, ...getBaseClasses(HuggingFaceInference)] From d22e772febfe2feb6a906c496368b4f93fbf225d Mon Sep 17 00:00:00 2001 From: abhishekshankr Date: Thu, 21 Dec 2023 12:20:37 -0500 Subject: [PATCH 16/58] Fix stretched out logo --- .../components/nodes/chatmodels/ChatAnthropic/Anthropic.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/nodes/chatmodels/ChatAnthropic/Anthropic.svg b/packages/components/nodes/chatmodels/ChatAnthropic/Anthropic.svg index dc4b342e..84bc18ca 100644 --- a/packages/components/nodes/chatmodels/ChatAnthropic/Anthropic.svg +++ b/packages/components/nodes/chatmodels/ChatAnthropic/Anthropic.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From f0cdf48d54fb73af7440744dd303aa8d0d6ff465 Mon Sep 17 00:00:00 2001 From: Henry Date: Thu, 21 Dec 2023 17:28:25 +0000 Subject: [PATCH 17/58] update ui changes --- .../nodes/tools/CustomTool/CustomTool.ts | 11 +-- .../components/nodes/tools/CustomTool/core.ts | 15 ++-- .../ui/src/assets/images/variables_empty.svg | 1 + packages/ui/src/menu-items/dashboard.js | 2 +- .../ui/src/views/canvas/NodeInputHandler.js | 7 +- .../src/views/tools/HowToUseFunctionDialog.js | 65 +++++++++++++++++ packages/ui/src/views/tools/ToolDialog.js | 13 ++++ .../views/variables/AddEditVariableDialog.js | 54 +++++++------- .../variables/HowToUseVariablesDialog.js | 72 +++++++++++++++++++ packages/ui/src/views/variables/index.js | 25 +++++-- 10 files changed, 223 insertions(+), 42 deletions(-) create mode 100644 packages/ui/src/assets/images/variables_empty.svg create mode 100644 packages/ui/src/views/tools/HowToUseFunctionDialog.js create mode 100644 packages/ui/src/views/variables/HowToUseVariablesDialog.js diff --git a/packages/components/nodes/tools/CustomTool/CustomTool.ts b/packages/components/nodes/tools/CustomTool/CustomTool.ts index 6b0397c8..9ceda919 100644 --- a/packages/components/nodes/tools/CustomTool/CustomTool.ts +++ b/packages/components/nodes/tools/CustomTool/CustomTool.ts @@ -85,26 +85,29 @@ class CustomTool_Tools implements INode { // override variables defined in overrideConfig // nodeData.inputs.variables is an Object, check each property and override the variable - if (nodeData?.inputs?.envVars) { - for (const propertyName of Object.getOwnPropertyNames(nodeData.inputs.envVars)) { + if (nodeData?.inputs?.vars) { + for (const propertyName of Object.getOwnPropertyNames(nodeData.inputs.vars)) { const foundVar = variables.find((v) => v.name === propertyName) if (foundVar) { // even if the variable was defined as runtime, we override it with static value foundVar.type = 'static' - foundVar.value = nodeData.inputs.envVars[propertyName] + foundVar.value = nodeData.inputs.vars[propertyName] } else { // add it the variables, if not found locally in the db - variables.push({ name: propertyName, type: 'static', value: nodeData.inputs.envVars[propertyName] }) + variables.push({ name: propertyName, type: 'static', value: nodeData.inputs.vars[propertyName] }) } } } + const flow = { chatId: options.chatId, // id is uppercase (I) chatflowId: options.chatflowid // id is lowercase (i) } + let dynamicStructuredTool = new DynamicStructuredTool(obj) dynamicStructuredTool.setVariables(variables) dynamicStructuredTool.setFlowObject(flow) + return dynamicStructuredTool } catch (e) { throw new Error(e) diff --git a/packages/components/nodes/tools/CustomTool/core.ts b/packages/components/nodes/tools/CustomTool/core.ts index 77aa0e6b..338b0ae9 100644 --- a/packages/components/nodes/tools/CustomTool/core.ts +++ b/packages/components/nodes/tools/CustomTool/core.ts @@ -102,15 +102,19 @@ export class DynamicStructuredTool< sandbox[`$${item}`] = arg[item] } } - //inject variables - let env = {} + + // inject variables + let vars = {} if (this.variables) { for (const item of this.variables) { let value = item.value + + // read from .env file if (item.type === 'runtime') { value = process.env[item.name] } - Object.defineProperty(env, item.name, { + + Object.defineProperty(vars, item.name, { enumerable: true, configurable: true, writable: true, @@ -118,10 +122,13 @@ export class DynamicStructuredTool< }) } } - sandbox['$env'] = env + sandbox['$vars'] = vars + + // inject flow properties if (this.flowObj) { sandbox['$flow'] = { ...this.flowObj, sessionId: overrideSessionId } } + const defaultAllowBuiltInDep = [ 'assert', 'buffer', diff --git a/packages/ui/src/assets/images/variables_empty.svg b/packages/ui/src/assets/images/variables_empty.svg new file mode 100644 index 00000000..eb461e39 --- /dev/null +++ b/packages/ui/src/assets/images/variables_empty.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/menu-items/dashboard.js b/packages/ui/src/menu-items/dashboard.js index b0e5d66e..793bc290 100644 --- a/packages/ui/src/menu-items/dashboard.js +++ b/packages/ui/src/menu-items/dashboard.js @@ -53,7 +53,7 @@ const dashboard = { }, { id: 'variables', - title: 'Environment Variables', + title: 'Variables', type: 'item', url: '/variables', icon: icons.IconVariable, diff --git a/packages/ui/src/views/canvas/NodeInputHandler.js b/packages/ui/src/views/canvas/NodeInputHandler.js index 33e99736..617d1066 100644 --- a/packages/ui/src/views/canvas/NodeInputHandler.js +++ b/packages/ui/src/views/canvas/NodeInputHandler.js @@ -369,7 +369,12 @@ const NodeInputHandler = ({ inputAnchor, inputParam, data, disabled = false, isA {inputParam?.acceptVariable && ( <> {dialogProps.type !== 'TEMPLATE' && ( { CredentialEmptySVG
No Variables Yet
@@ -267,7 +273,13 @@ const Variables = () => { {variable.value} - {variable.type === 'static' ? 'Static Variable' : 'Runtime Variable'} + + + {moment(variable.updatedDate).format('DD-MMM-YY')} {moment(variable.createdDate).format('DD-MMM-YY')} @@ -293,6 +305,7 @@ const Variables = () => { onCancel={() => setShowVariableDialog(false)} onConfirm={onConfirm} > + setShowHowToDialog(false)}> ) From 44294d00677e5b3df97370164af64caadcadbccc Mon Sep 17 00:00:00 2001 From: Henry Date: Thu, 21 Dec 2023 20:37:04 +0000 Subject: [PATCH 18/58] update default location for encryption key --- packages/components/src/utils.ts | 14 ++++++++++++-- packages/server/src/utils/index.ts | 14 +++----------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/packages/components/src/utils.ts b/packages/components/src/utils.ts index 98936817..757ecc65 100644 --- a/packages/components/src/utils.ts +++ b/packages/components/src/utils.ts @@ -428,7 +428,17 @@ export const getEnvironmentVariable = (name: string): string | undefined => { * @returns {string} */ const getEncryptionKeyFilePath = (): string => { - const checkPaths = [path.join(getUserHome(), '.flowise', 'encryption.key')] + const checkPaths = [ + path.join(__dirname, '..', '..', 'encryption.key'), + path.join(__dirname, '..', '..', 'server', 'encryption.key'), + path.join(__dirname, '..', '..', '..', 'encryption.key'), + path.join(__dirname, '..', '..', '..', 'server', 'encryption.key'), + path.join(__dirname, '..', '..', '..', '..', 'encryption.key'), + path.join(__dirname, '..', '..', '..', '..', 'server', 'encryption.key'), + path.join(__dirname, '..', '..', '..', '..', '..', 'encryption.key'), + path.join(__dirname, '..', '..', '..', '..', '..', 'server', 'encryption.key'), + path.join(getUserHome(), '.flowise', 'encryption.key') + ] for (const checkPath of checkPaths) { if (fs.existsSync(checkPath)) { return checkPath @@ -437,7 +447,7 @@ const getEncryptionKeyFilePath = (): string => { return '' } -const getEncryptionKeyPath = (): string => { +export const getEncryptionKeyPath = (): string => { return process.env.SECRETKEY_PATH ? path.join(process.env.SECRETKEY_PATH, 'encryption.key') : getEncryptionKeyFilePath() } diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index e0c91723..39bd0854 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -23,6 +23,7 @@ import { convertChatHistoryToText, getInputVariables, handleEscapeCharacters, + getEncryptionKeyPath, ICommonObject, IDatabaseEntity, IMessage @@ -852,16 +853,6 @@ export const isFlowValidForStream = (reactFlowNodes: IReactFlowNode[], endingNod return isChatOrLLMsExist && isValidChainOrAgent && !isOutputParserExist } -/** - * Returns the path of encryption key - * @returns {string} - */ -export const getEncryptionKeyPath = (): string => { - return process.env.SECRETKEY_PATH - ? path.join(process.env.SECRETKEY_PATH, 'encryption.key') - : path.join(getUserHome(), '.flowise', 'encryption.key') -} - /** * Generate an encryption key * @returns {string} @@ -882,7 +873,8 @@ export const getEncryptionKey = async (): Promise => { return await fs.promises.readFile(getEncryptionKeyPath(), 'utf8') } catch (error) { const encryptKey = generateEncryptKey() - await fs.promises.writeFile(getEncryptionKeyPath(), encryptKey) + const defaultLocation = path.join(getUserHome(), '.flowise', 'encryption.key') + await fs.promises.writeFile(defaultLocation, encryptKey) return encryptKey } } From 1a4ead3544fa0be086cb8ec174b2da4d2c0cd647 Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 22 Dec 2023 01:58:40 +0000 Subject: [PATCH 19/58] update S3 loader --- .../nodes/documentloaders/S3File/S3File.ts | 77 ++++++++++++++++--- 1 file changed, 68 insertions(+), 9 deletions(-) diff --git a/packages/components/nodes/documentloaders/S3File/S3File.ts b/packages/components/nodes/documentloaders/S3File/S3File.ts index 58ffd8af..eadb4d99 100644 --- a/packages/components/nodes/documentloaders/S3File/S3File.ts +++ b/packages/components/nodes/documentloaders/S3File/S3File.ts @@ -30,7 +30,7 @@ class S3_DocumentLoaders implements INode { constructor() { this.label = 'S3' this.name = 'S3' - this.version = 1.0 + this.version = 2.0 this.type = 'Document' this.icon = 's3.svg' this.category = 'Document Loaders' @@ -113,12 +113,62 @@ class S3_DocumentLoaders implements INode { optional: true }, { - label: 'NarrativeText Only', - name: 'narrativeTextOnly', + label: 'Element Type', + name: 'elementType', description: - 'Only load documents with NarrativeText metadata from Unstructured. See how Unstructured partition data here', - default: true, - type: 'boolean', + 'Unstructured partition document into different types, select the types to return. If not selected, all types will be returned', + type: 'multiOptions', + options: [ + { + label: 'FigureCaption', + name: 'FigureCaption' + }, + { + label: 'NarrativeText', + name: 'NarrativeText' + }, + { + label: 'ListItem', + name: 'ListItem' + }, + { + label: 'Title', + name: 'Title' + }, + { + label: 'Address', + name: 'Address' + }, + { + label: 'Table', + name: 'Table' + }, + { + label: 'PageBreak', + name: 'PageBreak' + }, + { + label: 'Header', + name: 'Header' + }, + { + label: 'Footer', + name: 'Footer' + }, + { + label: 'UncategorizedText', + name: 'UncategorizedText' + }, + { + label: 'Image', + name: 'Image' + }, + { + label: 'Formula', + name: 'Formula' + } + ], + default: [], optional: true, additionalParams: true }, @@ -138,7 +188,7 @@ class S3_DocumentLoaders implements INode { const unstructuredAPIUrl = nodeData.inputs?.unstructuredAPIUrl as string const unstructuredAPIKey = nodeData.inputs?.unstructuredAPIKey as string const metadata = nodeData.inputs?.metadata - const narrativeTextOnly = nodeData.inputs?.narrativeTextOnly as boolean + const elementType = nodeData.inputs?.elementType as string const credentialData = await getCredentialData(nodeData.credential ?? '', options) const accessKeyId = getCredentialParam('awsKey', credentialData, nodeData) @@ -169,6 +219,15 @@ class S3_DocumentLoaders implements INode { } } + let elementTypes: string[] = [] + if (elementType) { + try { + elementTypes = JSON.parse(elementType) + } catch (e) { + elementTypes = [] + } + } + loader.load = async () => { const tempDir = fsDefault.mkdtempSync(path.join(os.tmpdir(), 's3fileloader-')) @@ -235,10 +294,10 @@ class S3_DocumentLoaders implements INode { } } }) - return narrativeTextOnly ? finaldocs.filter((doc) => doc.metadata.category === 'NarrativeText') : finaldocs + return elementTypes.length ? finaldocs.filter((doc) => elementTypes.includes(doc.metadata.category)) : finaldocs } - return narrativeTextOnly ? docs.filter((doc) => doc.metadata.category === 'NarrativeText') : docs + return elementTypes.length ? docs.filter((doc) => elementTypes.includes(doc.metadata.category)) : docs } } module.exports = { nodeClass: S3_DocumentLoaders } From fd90fef94c289271eb1781205b0d6afc764c4f8a Mon Sep 17 00:00:00 2001 From: vinodkiran Date: Fri, 22 Dec 2023 14:50:10 +0530 Subject: [PATCH 20/58] Bugfix: Unncessary load of Prompts on chatflow open. This fix loads them on dialog open. --- .../dialog/PromptLangsmithHubDialog.js | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/packages/ui/src/ui-component/dialog/PromptLangsmithHubDialog.js b/packages/ui/src/ui-component/dialog/PromptLangsmithHubDialog.js index 35b4ead7..8d89efc9 100644 --- a/packages/ui/src/ui-component/dialog/PromptLangsmithHubDialog.js +++ b/packages/ui/src/ui-component/dialog/PromptLangsmithHubDialog.js @@ -92,24 +92,27 @@ const PromptLangsmithHubDialog = ({ promptType, show, onCancel, onSubmit }) => { const getAvailablePromptsApi = useApi(promptApi.getAvailablePrompts) useEffect(() => { - if (show) dispatch({ type: SHOW_CANVAS_DIALOG }) - else dispatch({ type: HIDE_CANVAS_DIALOG }) + if (show) { + dispatch({ type: SHOW_CANVAS_DIALOG }) + } else dispatch({ type: HIDE_CANVAS_DIALOG }) return () => dispatch({ type: HIDE_CANVAS_DIALOG }) // eslint-disable-next-line react-hooks/exhaustive-deps }, [show, dispatch]) useEffect(() => { - if (promptType) { + if (promptType && show) { + setLoading(true) getAvailablePromptsApi.request({ tags: promptType === 'template' ? 'StringPromptTemplate&' : 'ChatPromptTemplate&' }) } // eslint-disable-next-line react-hooks/exhaustive-deps - }, [promptType]) + }, [promptType, show]) useEffect(() => { if (getAvailablePromptsApi.data && getAvailablePromptsApi.data.repos) { setAvailablePrompNameList(getAvailablePromptsApi.data.repos) if (getAvailablePromptsApi.data.repos?.length) handleListItemClick(0, getAvailablePromptsApi.data.repos) + setLoading(false) } // eslint-disable-next-line react-hooks/exhaustive-deps @@ -174,6 +177,7 @@ const PromptLangsmithHubDialog = ({ promptType, show, onCancel, onSubmit }) => { const [selectedPrompt, setSelectedPrompt] = useState({}) const [accordionExpanded, setAccordionExpanded] = useState(['prompt']) + const [loading, setLoading] = useState(false) const handleAccordionChange = (accordionName) => (event, isExpanded) => { const accordians = [...accordionExpanded] @@ -209,6 +213,7 @@ const PromptLangsmithHubDialog = ({ promptType, show, onCancel, onSubmit }) => { language.forEach((item) => { tags += `tags=${item.name}&` }) + setLoading(true) getAvailablePromptsApi.request({ tags: tags }) } @@ -379,7 +384,15 @@ const PromptLangsmithHubDialog = ({ promptType, show, onCancel, onSubmit }) => { - {availablePrompNameList && availablePrompNameList.length == 0 && ( + {loading && ( + + + promptEmptySVG + +
Please wait....loading Prompts
+
+ )} + {!loading && availablePrompNameList && availablePrompNameList.length === 0 && ( promptEmptySVG @@ -387,7 +400,7 @@ const PromptLangsmithHubDialog = ({ promptType, show, onCancel, onSubmit }) => {
No Available Prompts
)} - {availablePrompNameList && availablePrompNameList.length > 0 && ( + {!loading && availablePrompNameList && availablePrompNameList.length > 0 && ( From 3126442e67cfccdf14772eb6f539c765c2b9171d Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 22 Dec 2023 16:53:20 +0000 Subject: [PATCH 21/58] update variables option --- .../views/variables/AddEditVariableDialog.js | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/packages/ui/src/views/variables/AddEditVariableDialog.js b/packages/ui/src/views/variables/AddEditVariableDialog.js index b84d0525..933039e7 100644 --- a/packages/ui/src/views/variables/AddEditVariableDialog.js +++ b/packages/ui/src/views/variables/AddEditVariableDialog.js @@ -55,25 +55,31 @@ const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm }) => { const [variableValue, setVariableValue] = useState('') const [variableType, setVariableType] = useState('static') const [dialogType, setDialogType] = useState('ADD') - const [variable, setVariable] = useState({}) useEffect(() => { - if (dialogProps.type === 'EDIT') { - // When variable dialog is opened from Variables dashboard + if (dialogProps.type === 'EDIT' && dialogProps.data) { setVariableName(dialogProps.data.name) setVariableValue(dialogProps.data.value) setVariableType(dialogProps.data.type) - setVariable(dialogProps.data) setDialogType('EDIT') + setVariable(dialogProps.data) } else if (dialogProps.type === 'ADD') { - // When variable dialog is to add a new variable setVariableName('') setVariableValue('') setVariableType('static') setDialogType('ADD') + setVariable({}) } - }, [dialogProps.data, dialogProps.type]) + + return () => { + setVariableName('') + setVariableValue('') + setVariableType('static') + setDialogType('ADD') + setVariable({}) + } + }, [dialogProps]) useEffect(() => { if (show) dispatch({ type: SHOW_CANVAS_DIALOG }) @@ -226,10 +232,11 @@ const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm }) => {
setVariableType(newValue)} - value={variableType} + value={variableType ?? 'choose an option'} />
{variableType === 'static' && ( From a7632976764a1bf648bae6f8c7253cb35fc54ffa Mon Sep 17 00:00:00 2001 From: abhishekshankr Date: Sat, 23 Dec 2023 11:27:32 -0500 Subject: [PATCH 22/58] Fixed icons borders --- .../components/nodes/prompts/FewShotPromptTemplate/prompt.svg | 1 - packages/components/nodes/prompts/PromptTemplate/prompt.svg | 1 - 2 files changed, 2 deletions(-) diff --git a/packages/components/nodes/prompts/FewShotPromptTemplate/prompt.svg b/packages/components/nodes/prompts/FewShotPromptTemplate/prompt.svg index 1484fcb2..e3a0c868 100644 --- a/packages/components/nodes/prompts/FewShotPromptTemplate/prompt.svg +++ b/packages/components/nodes/prompts/FewShotPromptTemplate/prompt.svg @@ -1,5 +1,4 @@ - diff --git a/packages/components/nodes/prompts/PromptTemplate/prompt.svg b/packages/components/nodes/prompts/PromptTemplate/prompt.svg index 1484fcb2..e3a0c868 100644 --- a/packages/components/nodes/prompts/PromptTemplate/prompt.svg +++ b/packages/components/nodes/prompts/PromptTemplate/prompt.svg @@ -1,5 +1,4 @@ - From e3282526624ce45925e4a4df3d8d0eb286273e5a Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Sat, 23 Dec 2023 17:41:43 +0000 Subject: [PATCH 23/58] Update AWSChatBedrock logo --- .../components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts b/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts index d869ea75..fedd731d 100644 --- a/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts +++ b/packages/components/nodes/chatmodels/AWSBedrock/AWSChatBedrock.ts @@ -29,7 +29,7 @@ class AWSChatBedrock_ChatModels implements INode { this.name = 'awsChatBedrock' this.version = 3.0 this.type = 'AWSChatBedrock' - this.icon = 'AWS.svg' + this.icon = 'aws.svg' this.category = 'Chat Models' this.description = 'Wrapper around AWS Bedrock large language models that use the Chat endpoint' this.baseClasses = [this.type, ...getBaseClasses(BedrockChat)] From 735edab9ae5d85be3999978d1ae24b984cfcb5a1 Mon Sep 17 00:00:00 2001 From: Jared Tracy Date: Sun, 24 Dec 2023 23:02:49 -0600 Subject: [PATCH 24/58] Adds ENV boolean flag (DATABASE_SSL) for postgres ssl support This is needed if hosting flowise data on a postgres server that requires ssl. In PostgreSQL v15, the default rds.force_ssl is 1 (on) --- packages/server/src/DataSource.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/server/src/DataSource.ts b/packages/server/src/DataSource.ts index 9265e55f..762315ac 100644 --- a/packages/server/src/DataSource.ts +++ b/packages/server/src/DataSource.ts @@ -46,6 +46,7 @@ export const init = async (): Promise => { username: process.env.DATABASE_USER, password: process.env.DATABASE_PASSWORD, database: process.env.DATABASE_NAME, + ssl: process.env.DATABASE_SSL === 'true', synchronize: false, migrationsRun: false, entities: Object.values(entities), From 6306904cfcf02facee9a7896aad0f35ee628c9b8 Mon Sep 17 00:00:00 2001 From: Henry Date: Tue, 26 Dec 2023 15:54:50 +0000 Subject: [PATCH 25/58] add missing methods, abstract classes --- .../OpenAIFunctionAgent.ts | 11 ++++---- .../memory/MotorheadMemory/MotorheadMemory.ts | 4 +-- .../nodes/memory/ZepMemory/ZepMemory.ts | 4 +-- packages/components/src/Interface.ts | 3 +++ packages/server/src/utils/index.ts | 26 ------------------- packages/ui/src/views/variables/index.js | 2 +- 6 files changed, 13 insertions(+), 37 deletions(-) diff --git a/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts b/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts index 275eb950..c0095cee 100644 --- a/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts +++ b/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts @@ -1,4 +1,4 @@ -import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface' +import { FlowiseMemory, ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface' import { AgentExecutor as LCAgentExecutor, AgentExecutorInput } from 'langchain/agents' import { ChainValues, AgentStep, AgentFinish, AgentAction, BaseMessage, FunctionMessage, AIMessage } from 'langchain/schema' import { OutputParserException } from 'langchain/schema/output_parser' @@ -7,7 +7,6 @@ import { formatToOpenAIFunction } from 'langchain/tools' import { ToolInputParsingException, Tool } from '@langchain/core/tools' import { getBaseClasses } from '../../../src/utils' import { flatten } from 'lodash' -import { BaseChatMemory } from 'langchain/memory' import { RunnableSequence } from 'langchain/schema/runnable' import { ConsoleCallbackHandler, CustomChainHandler, additionalCallbacks } from '../../../src/handler' import { ChatPromptTemplate, MessagesPlaceholder } from 'langchain/prompts' @@ -65,7 +64,7 @@ class OpenAIFunctionAgent_Agents implements INode { } async init(nodeData: INodeData): Promise { - const memory = nodeData.inputs?.memory as BaseChatMemory + const memory = nodeData.inputs?.memory as FlowiseMemory const executor = prepareAgent(nodeData, this.sessionId) if (memory) executor.memory = memory @@ -74,7 +73,7 @@ class OpenAIFunctionAgent_Agents implements INode { } async run(nodeData: INodeData, input: string, options: ICommonObject): Promise { - const memory = nodeData.inputs?.memory + const memory = nodeData.inputs?.memory as FlowiseMemory const executor = prepareAgent(nodeData, this.sessionId) @@ -120,7 +119,7 @@ const formatAgentSteps = (steps: AgentStep[]): BaseMessage[] => const prepareAgent = (nodeData: INodeData, sessionId?: string) => { const model = nodeData.inputs?.model as ChatOpenAI - const memory = nodeData.inputs?.memory + const memory = nodeData.inputs?.memory as FlowiseMemory const systemMessage = nodeData.inputs?.systemMessage as string let tools = nodeData.inputs?.tools tools = flatten(tools) @@ -143,7 +142,7 @@ const prepareAgent = (nodeData: INodeData, sessionId?: string) => { [inputKey]: (i: { input: string; steps: AgentStep[] }) => i.input, agent_scratchpad: (i: { input: string; steps: AgentStep[] }) => formatAgentSteps(i.steps), [memoryKey]: async (_: { input: string; steps: AgentStep[] }) => { - const messages: BaseMessage[] = await memory.getChatMessages(sessionId, true) + const messages = (await memory.getChatMessages(sessionId, true)) as BaseMessage[] return messages ?? [] } }, diff --git a/packages/components/nodes/memory/MotorheadMemory/MotorheadMemory.ts b/packages/components/nodes/memory/MotorheadMemory/MotorheadMemory.ts index 97f25ba3..938cc873 100644 --- a/packages/components/nodes/memory/MotorheadMemory/MotorheadMemory.ts +++ b/packages/components/nodes/memory/MotorheadMemory/MotorheadMemory.ts @@ -1,4 +1,4 @@ -import { IMessage, INode, INodeData, INodeParams, MessageType } from '../../../src/Interface' +import { IMessage, INode, INodeData, INodeParams, MemoryMethods, MessageType } from '../../../src/Interface' import { convertBaseMessagetoIMessage, getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' import { ICommonObject } from '../../../src' import { MotorheadMemory, MotorheadMemoryInput, InputValues, MemoryVariables, OutputValues, getBufferString } from 'langchain/memory' @@ -136,7 +136,7 @@ interface MotorheadMemoryExtendedInput { isSessionIdUsingChatMessageId: boolean } -class MotorheadMemoryExtended extends MotorheadMemory { +class MotorheadMemoryExtended extends MotorheadMemory implements MemoryMethods { isSessionIdUsingChatMessageId? = false constructor(fields: MotorheadMemoryInput & MotorheadMemoryExtendedInput) { diff --git a/packages/components/nodes/memory/ZepMemory/ZepMemory.ts b/packages/components/nodes/memory/ZepMemory/ZepMemory.ts index 3da35db2..4dda76df 100644 --- a/packages/components/nodes/memory/ZepMemory/ZepMemory.ts +++ b/packages/components/nodes/memory/ZepMemory/ZepMemory.ts @@ -1,4 +1,4 @@ -import { IMessage, INode, INodeData, INodeParams, MessageType } from '../../../src/Interface' +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' @@ -167,7 +167,7 @@ interface ZepMemoryExtendedInput { k?: number } -class ZepMemoryExtended extends ZepMemory { +class ZepMemoryExtended extends ZepMemory implements MemoryMethods { isSessionIdUsingChatMessageId? = false lastN?: number diff --git a/packages/components/src/Interface.ts b/packages/components/src/Interface.ts index e508ebee..2a625ff6 100644 --- a/packages/components/src/Interface.ts +++ b/packages/components/src/Interface.ts @@ -214,16 +214,19 @@ export abstract class FlowiseMemory extends BufferMemory implements MemoryMethod abstract getChatMessages(overrideSessionId?: string, returnBaseMessages?: boolean): Promise abstract addChatMessages(msgArray: { text: string; type: MessageType }[], overrideSessionId?: string): Promise abstract clearChatMessages(overrideSessionId?: string): Promise + abstract resumeMessages(messages: IMessage[]): Promise } export abstract class FlowiseWindowMemory extends BufferWindowMemory implements MemoryMethods { abstract getChatMessages(overrideSessionId?: string, returnBaseMessages?: boolean): Promise abstract addChatMessages(msgArray: { text: string; type: MessageType }[], overrideSessionId?: string): Promise abstract clearChatMessages(overrideSessionId?: string): Promise + abstract resumeMessages(messages: IMessage[]): Promise } export abstract class FlowiseSummaryMemory extends ConversationSummaryMemory implements MemoryMethods { abstract getChatMessages(overrideSessionId?: string, returnBaseMessages?: boolean): Promise abstract addChatMessages(msgArray: { text: string; type: MessageType }[], overrideSessionId?: string): Promise abstract clearChatMessages(overrideSessionId?: string): Promise + abstract resumeMessages(messages: IMessage[]): Promise } diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index 41e97cc1..99e3813b 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -1052,29 +1052,3 @@ export const getAllValuesFromJson = (obj: any): any[] => { extractValues(obj) return values } - -export const replaceEnvVariables = async (question: string, appDataSource: DataSource): Promise => { - // the incoming question can have more than one env variable with the pattern {{ env.VARIABLE_NAME }} - // extract all the env variables from the question and iterate through them - const envVariables = question.match(/{{[^}]*}}/g) - if (envVariables) { - for (const envVariable of envVariables) { - // this is needed as the user can have spaces between the curly braces and the env keyword - // extract the variable name from the env variable - const variableName = envVariable.replace(/{{\s*env.|\s*}}/g, '') - // get the value of the env variable from the database - const variable = await appDataSource.getRepository(Variable).findOneBy({ - name: variableName - }) - if (variable) { - let value = variable.value - if (variable.type === 'runtime') { - value = process.env[variable.name] as string - } - // replace the env variable with the value from the database - question = question.replace(envVariable, value) - } - } - } - return question -} diff --git a/packages/ui/src/views/variables/index.js b/packages/ui/src/views/variables/index.js index ca8a3dee..9d0b2e3f 100644 --- a/packages/ui/src/views/variables/index.js +++ b/packages/ui/src/views/variables/index.js @@ -215,7 +215,7 @@ const Variables = () => {
- {variables.length <= 0 && ( + {variables.length === 0 && ( Date: Tue, 26 Dec 2023 16:00:46 +0000 Subject: [PATCH 26/58] ability to use flow.input within custom tool --- packages/components/nodes/tools/CustomTool/CustomTool.ts | 5 +++-- packages/ui/src/views/tools/HowToUseFunctionDialog.js | 3 +++ packages/ui/src/views/tools/ToolDialog.js | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/components/nodes/tools/CustomTool/CustomTool.ts b/packages/components/nodes/tools/CustomTool/CustomTool.ts index 9ceda919..6ffcc0e2 100644 --- a/packages/components/nodes/tools/CustomTool/CustomTool.ts +++ b/packages/components/nodes/tools/CustomTool/CustomTool.ts @@ -60,7 +60,7 @@ class CustomTool_Tools implements INode { } } - async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { + async init(nodeData: INodeData, input: string, options: ICommonObject): Promise { const selectedToolId = nodeData.inputs?.selectedTool as string const customToolFunc = nodeData.inputs?.customToolFunc as string @@ -101,7 +101,8 @@ class CustomTool_Tools implements INode { const flow = { chatId: options.chatId, // id is uppercase (I) - chatflowId: options.chatflowid // id is lowercase (i) + chatflowId: options.chatflowid, // id is lowercase (i) + input } let dynamicStructuredTool = new DynamicStructuredTool(obj) diff --git a/packages/ui/src/views/tools/HowToUseFunctionDialog.js b/packages/ui/src/views/tools/HowToUseFunctionDialog.js index 00acef0d..47ecee89 100644 --- a/packages/ui/src/views/tools/HowToUseFunctionDialog.js +++ b/packages/ui/src/views/tools/HowToUseFunctionDialog.js @@ -43,6 +43,9 @@ const HowToUseFunctionDialog = ({ show, onCancel }) => {
  • $flow.chatflowId
  • +
  • + $flow.input +
  • diff --git a/packages/ui/src/views/tools/ToolDialog.js b/packages/ui/src/views/tools/ToolDialog.js index b011c07e..ab6d6aa0 100644 --- a/packages/ui/src/views/tools/ToolDialog.js +++ b/packages/ui/src/views/tools/ToolDialog.js @@ -33,7 +33,7 @@ import { HIDE_CANVAS_DIALOG, SHOW_CANVAS_DIALOG } from 'store/actions' const exampleAPIFunc = `/* * You can use any libraries imported in Flowise * You can use properties specified in Output Schema as variables. Ex: Property = userid, Variable = $userid -* You can get default flow config: $flow.sessionId, $flow.chatId, $flow.chatflowId +* You can get default flow config: $flow.sessionId, $flow.chatId, $flow.chatflowId, $flow.input * You can get custom variables: $vars. * Must return a string value at the end of function */ From b6d08268d48b2ff3122f90342e5f45d89cac09c3 Mon Sep 17 00:00:00 2001 From: Henry Date: Tue, 26 Dec 2023 16:13:14 +0000 Subject: [PATCH 27/58] add abstract methods --- packages/components/nodes/memory/DynamoDb/DynamoDb.ts | 4 ++++ .../nodes/memory/MongoDBMemory/MongoDBMemory.ts | 4 ++++ .../memory/RedisBackedChatMemory/RedisBackedChatMemory.ts | 8 ++++++-- .../UpstashRedisBackedChatMemory.ts | 4 ++++ 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/packages/components/nodes/memory/DynamoDb/DynamoDb.ts b/packages/components/nodes/memory/DynamoDb/DynamoDb.ts index 15b00d33..872ec0b5 100644 --- a/packages/components/nodes/memory/DynamoDb/DynamoDb.ts +++ b/packages/components/nodes/memory/DynamoDb/DynamoDb.ts @@ -306,6 +306,10 @@ class BufferMemoryExtended extends FlowiseMemory implements MemoryMethods { await this.dynamodbClient.send(new DeleteItemCommand(params)) await this.clear() } + + async resumeMessages(): Promise { + return + } } module.exports = { nodeClass: DynamoDb_Memory } diff --git a/packages/components/nodes/memory/MongoDBMemory/MongoDBMemory.ts b/packages/components/nodes/memory/MongoDBMemory/MongoDBMemory.ts index 681e9042..b422921e 100644 --- a/packages/components/nodes/memory/MongoDBMemory/MongoDBMemory.ts +++ b/packages/components/nodes/memory/MongoDBMemory/MongoDBMemory.ts @@ -221,6 +221,10 @@ class BufferMemoryExtended extends FlowiseMemory implements MemoryMethods { await this.collection.deleteOne({ sessionId: id }) await this.clear() } + + async resumeMessages(): Promise { + return + } } module.exports = { nodeClass: MongoDB_Memory } diff --git a/packages/components/nodes/memory/RedisBackedChatMemory/RedisBackedChatMemory.ts b/packages/components/nodes/memory/RedisBackedChatMemory/RedisBackedChatMemory.ts index 72af1cb5..a02df3ea 100644 --- a/packages/components/nodes/memory/RedisBackedChatMemory/RedisBackedChatMemory.ts +++ b/packages/components/nodes/memory/RedisBackedChatMemory/RedisBackedChatMemory.ts @@ -1,4 +1,4 @@ -import { INode, INodeData, INodeParams, ICommonObject, IMessage, MessageType } from '../../../src/Interface' +import { INode, INodeData, INodeParams, ICommonObject, IMessage, MessageType, FlowiseMemory, MemoryMethods } from '../../../src/Interface' import { convertBaseMessagetoIMessage, getBaseClasses, @@ -187,7 +187,7 @@ interface BufferMemoryExtendedInput { sessionId: string } -class BufferMemoryExtended extends BufferMemory { +class BufferMemoryExtended extends FlowiseMemory implements MemoryMethods { isSessionIdUsingChatMessageId? = false sessionId = '' redisClient: Redis @@ -236,6 +236,10 @@ class BufferMemoryExtended extends BufferMemory { await this.redisClient.del(id) await this.clear() } + + async resumeMessages(): Promise { + return + } } module.exports = { nodeClass: RedisBackedChatMemory_Memory } diff --git a/packages/components/nodes/memory/UpstashRedisBackedChatMemory/UpstashRedisBackedChatMemory.ts b/packages/components/nodes/memory/UpstashRedisBackedChatMemory/UpstashRedisBackedChatMemory.ts index 3ff20a88..c3f97123 100644 --- a/packages/components/nodes/memory/UpstashRedisBackedChatMemory/UpstashRedisBackedChatMemory.ts +++ b/packages/components/nodes/memory/UpstashRedisBackedChatMemory/UpstashRedisBackedChatMemory.ts @@ -186,6 +186,10 @@ class BufferMemoryExtended extends FlowiseMemory implements MemoryMethods { await this.redisClient.del(id) await this.clear() } + + async resumeMessages(): Promise { + return + } } module.exports = { nodeClass: UpstashRedisBackedChatMemory_Memory } From 25f43f2a3098c8ac5fed237a28386d67315950ac Mon Sep 17 00:00:00 2001 From: Jared Tracy Date: Wed, 27 Dec 2023 19:07:43 -0600 Subject: [PATCH 28/58] includes DATABASE_SSL in other necessary files --- CONTRIBUTING.md | 1 + docker/.env.example | 1 + docker/docker-compose.yml | 1 + packages/server/.env.example | 1 + packages/server/src/commands/start.ts | 2 ++ 5 files changed, 6 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cfb7d3a9..04cb80b4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -138,6 +138,7 @@ Flowise support different environment variables to configure your instance. You | DATABASE_USER | Database username (When DATABASE_TYPE is not sqlite) | String | | | DATABASE_PASSWORD | Database password (When DATABASE_TYPE is not sqlite) | String | | | DATABASE_NAME | Database name (When DATABASE_TYPE is not sqlite) | String | | +| DATABASE_SSL | Database connection overssl (When DATABASE_TYPE is postgre) | Boolean | false | | SECRETKEY_PATH | Location where encryption key (used to encrypt/decrypt credentials) is saved | String | `your-path/Flowise/packages/server` | | FLOWISE_SECRETKEY_OVERWRITE | Encryption key to be used instead of the key stored in SECRETKEY_PATH | String | diff --git a/docker/.env.example b/docker/.env.example index 967a1ab6..7d4f1699 100644 --- a/docker/.env.example +++ b/docker/.env.example @@ -12,6 +12,7 @@ LOG_PATH=/root/.flowise/logs # DATABASE_NAME="flowise" # DATABASE_USER="" # DATABASE_PASSWORD="" +# DATABASE_SSL=true # FLOWISE_USERNAME=user # FLOWISE_PASSWORD=1234 diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 8e0e1af5..92688469 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -16,6 +16,7 @@ services: - DATABASE_NAME=${DATABASE_NAME} - DATABASE_USER=${DATABASE_USER} - DATABASE_PASSWORD=${DATABASE_PASSWORD} + - DATABASE_SSL=${DATABASE_SSL} - APIKEY_PATH=${APIKEY_PATH} - SECRETKEY_PATH=${SECRETKEY_PATH} - FLOWISE_SECRETKEY_OVERWRITE=${FLOWISE_SECRETKEY_OVERWRITE} diff --git a/packages/server/.env.example b/packages/server/.env.example index 0ad11f3f..6e746a4d 100644 --- a/packages/server/.env.example +++ b/packages/server/.env.example @@ -12,6 +12,7 @@ PORT=3000 # DATABASE_NAME="flowise" # DATABASE_USER="" # DATABASE_PASSWORD="" +# DATABASE_SSL=true # FLOWISE_USERNAME=user # FLOWISE_PASSWORD=1234 diff --git a/packages/server/src/commands/start.ts b/packages/server/src/commands/start.ts index cd874264..d4e8cfdb 100644 --- a/packages/server/src/commands/start.ts +++ b/packages/server/src/commands/start.ts @@ -35,6 +35,7 @@ export default class Start extends Command { DATABASE_NAME: Flags.string(), DATABASE_USER: Flags.string(), DATABASE_PASSWORD: Flags.string(), + DATABASE_SSL: Flags.string(), LANGCHAIN_TRACING_V2: Flags.string(), LANGCHAIN_ENDPOINT: Flags.string(), LANGCHAIN_API_KEY: Flags.string(), @@ -104,6 +105,7 @@ export default class Start extends Command { if (flags.DATABASE_NAME) process.env.DATABASE_NAME = flags.DATABASE_NAME if (flags.DATABASE_USER) process.env.DATABASE_USER = flags.DATABASE_USER if (flags.DATABASE_PASSWORD) process.env.DATABASE_PASSWORD = flags.DATABASE_PASSWORD + if (flags.DATABASE_SSL) process.env.DATABASE_SSL = flags.DATABASE_SSL // Langsmith tracing if (flags.LANGCHAIN_TRACING_V2) process.env.LANGCHAIN_TRACING_V2 = flags.LANGCHAIN_TRACING_V2 From c9a6622df72779d5eb6f424b0f7df89a0e83da6a Mon Sep 17 00:00:00 2001 From: Henry Date: Thu, 28 Dec 2023 01:07:45 +0000 Subject: [PATCH 29/58] added LLM to moderation to detect similar deny sentences --- .../SimplePromptModeration.ts | 16 +++++++++--- .../SimplePromptModerationRunner.ts | 25 +++++++++++++++---- 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModeration.ts b/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModeration.ts index d98c4867..ad3cfadd 100644 --- a/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModeration.ts +++ b/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModeration.ts @@ -2,6 +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' class SimplePromptModeration implements INode { label: string @@ -17,7 +18,7 @@ class SimplePromptModeration implements INode { constructor() { this.label = 'Simple Prompt Moderation' this.name = 'inputModerationSimple' - this.version = 1.0 + this.version = 2.0 this.type = 'Moderation' this.icon = 'moderation.svg' this.category = 'Moderation' @@ -30,8 +31,14 @@ class SimplePromptModeration implements INode { type: 'string', rows: 4, placeholder: `ignore previous instructions\ndo not follow the directions\nyou must ignore all previous instructions`, - description: 'An array of string literals (enter one per line) that should not appear in the prompt text.', - optional: false + description: 'An array of string literals (enter one per line) that should not appear in the prompt text.' + }, + { + label: 'Chat Model', + name: 'model', + type: 'BaseChatModel', + description: 'Use LLM to detect if the input is similar to those specified in Deny List', + optional: true }, { label: 'Error Message', @@ -46,9 +53,10 @@ class SimplePromptModeration implements INode { async init(nodeData: INodeData): Promise { const denyList = nodeData.inputs?.denyList as string + const model = nodeData.inputs?.model as BaseChatModel const moderationErrorMessage = nodeData.inputs?.moderationErrorMessage as string - return new SimplePromptModerationRunner(denyList, moderationErrorMessage) + return new SimplePromptModerationRunner(denyList, moderationErrorMessage, model) } } diff --git a/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModerationRunner.ts b/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModerationRunner.ts index 08f9ed1e..10d351cf 100644 --- a/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModerationRunner.ts +++ b/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModerationRunner.ts @@ -1,23 +1,38 @@ import { Moderation } from '../Moderation' +import { BaseChatModel } from 'langchain/chat_models/base' export class SimplePromptModerationRunner implements Moderation { private readonly denyList: string = '' private readonly moderationErrorMessage: string = '' + private readonly model: BaseChatModel - constructor(denyList: string, moderationErrorMessage: string) { + constructor(denyList: string, moderationErrorMessage: string, model?: BaseChatModel) { this.denyList = denyList if (denyList.indexOf('\n') === -1) { this.denyList += '\n' } this.moderationErrorMessage = moderationErrorMessage + if (model) this.model = model } async checkForViolations(input: string): Promise { - this.denyList.split('\n').forEach((denyListItem) => { - if (denyListItem && denyListItem !== '' && input.toLowerCase().includes(denyListItem.toLowerCase())) { - throw Error(this.moderationErrorMessage) + if (this.model) { + const denyArray = this.denyList.split('\n') + for (const denyStr of denyArray) { + const res = await this.model.invoke( + `Are these two sentences similar to each other? Only return Yes or No.\nFirst sentence: ${input}\nSecond sentence: ${denyStr}` + ) + if (res.content.toString().toLowerCase().includes('yes')) { + throw Error(this.moderationErrorMessage) + } } - }) + } else { + this.denyList.split('\n').forEach((denyListItem) => { + if (denyListItem && denyListItem !== '' && input.toLowerCase().includes(denyListItem.toLowerCase())) { + throw Error(this.moderationErrorMessage) + } + }) + } return Promise.resolve(input) } } From 85e6fad0aa223ba46d9cf32f1f88a13619c322d0 Mon Sep 17 00:00:00 2001 From: Henry Date: Thu, 28 Dec 2023 01:11:00 +0000 Subject: [PATCH 30/58] added input moderation to assistant, prevent app from crashing by using try catch --- .../agents/OpenAIAssistant/OpenAIAssistant.ts | 72 ++++++++++++++----- .../chatflows/OpenAI Assistant.json | 11 ++- 2 files changed, 66 insertions(+), 17 deletions(-) diff --git a/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts b/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts index c2d0e782..c5503610 100644 --- a/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts +++ b/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts @@ -9,6 +9,8 @@ import fetch from 'node-fetch' import { flatten, uniqWith, isEqual } from 'lodash' import { zodToJsonSchema } from 'zod-to-json-schema' import { AnalyticHandler } from '../../../src/handler' +import { Moderation, checkInputs, streamResponse } from '../../moderation/Moderation' +import { formatResponse } from '../../outputparsers/OutputParserHelpers' class OpenAIAssistant_Agents implements INode { label: string @@ -24,7 +26,7 @@ class OpenAIAssistant_Agents implements INode { constructor() { this.label = 'OpenAI Assistant' this.name = 'openAIAssistant' - this.version = 2.0 + this.version = 3.0 this.type = 'OpenAIAssistant' this.category = 'Agents' this.icon = 'assistant.svg' @@ -43,6 +45,14 @@ class OpenAIAssistant_Agents implements INode { type: 'Tool', list: true }, + { + label: 'Input Moderation', + description: 'Detect text that could generate harmful output and prevent it from being sent to the language model', + name: 'inputModeration', + type: 'Moderation', + optional: true, + list: true + }, { label: 'Disable File Download', name: 'disableFileDownload', @@ -133,6 +143,20 @@ class OpenAIAssistant_Agents implements INode { const appDataSource = options.appDataSource as DataSource const databaseEntities = options.databaseEntities as IDatabaseEntity const disableFileDownload = nodeData.inputs?.disableFileDownload as boolean + const moderations = nodeData.inputs?.inputModeration as Moderation[] + const isStreaming = options.socketIO && options.socketIOClientId + const socketIO = isStreaming ? options.socketIO : undefined + const socketIOClientId = isStreaming ? options.socketIOClientId : '' + + if (moderations && moderations.length > 0) { + try { + input = await checkInputs(moderations, input) + } catch (e) { + await new Promise((resolve) => setTimeout(resolve, 500)) + streamResponse(isStreaming, e.message, socketIO, socketIOClientId) + return formatResponse(e.message) + } + } let tools = nodeData.inputs?.tools tools = flatten(tools) @@ -249,7 +273,12 @@ class OpenAIAssistant_Agents implements INode { const actions: ICommonObject[] = [] run.required_action.submit_tool_outputs.tool_calls.forEach((item) => { const functionCall = item.function - const args = JSON.parse(functionCall.arguments) + let args = {} + try { + args = JSON.parse(functionCall.arguments) + } catch (e) { + console.error('Error parsing arguments, default to empty object') + } actions.push({ tool: functionCall.name, toolInput: args, @@ -264,21 +293,32 @@ class OpenAIAssistant_Agents implements INode { // Start tool analytics const toolIds = await analyticHandlers.onToolStart(tool.name, actions[i].toolInput, parentIds) + if (options.socketIO && options.socketIOClientId) + options.socketIO.to(options.socketIOClientId).emit('tool', tool.name) - const toolOutput = await tool.call(actions[i].toolInput, undefined, undefined, threadId) - - // End tool analytics - await analyticHandlers.onToolEnd(toolIds, toolOutput) - - submitToolOutputs.push({ - tool_call_id: actions[i].toolCallId, - output: toolOutput - }) - usedTools.push({ - tool: tool.name, - toolInput: actions[i].toolInput, - toolOutput - }) + try { + const toolOutput = await tool.call(actions[i].toolInput, undefined, undefined, threadId) + await analyticHandlers.onToolEnd(toolIds, toolOutput) + submitToolOutputs.push({ + tool_call_id: actions[i].toolCallId, + output: toolOutput + }) + usedTools.push({ + tool: tool.name, + toolInput: actions[i].toolInput, + toolOutput + }) + } catch (e) { + await analyticHandlers.onToolEnd(toolIds, e) + console.error('Error executing tool', e) + clearInterval(timeout) + reject( + new Error( + `Error processing thread: ${state}, Thread ID: ${threadId}, Run ID: ${runId}, Tool: ${tool.name}` + ) + ) + break + } } if (submitToolOutputs.length) { diff --git a/packages/server/marketplaces/chatflows/OpenAI Assistant.json b/packages/server/marketplaces/chatflows/OpenAI Assistant.json index ba4c6134..e9311c97 100644 --- a/packages/server/marketplaces/chatflows/OpenAI Assistant.json +++ b/packages/server/marketplaces/chatflows/OpenAI Assistant.json @@ -14,7 +14,7 @@ "data": { "id": "openAIAssistant_0", "label": "OpenAI Assistant", - "version": 2, + "version": 3, "name": "openAIAssistant", "type": "OpenAIAssistant", "baseClasses": ["OpenAIAssistant"], @@ -45,6 +45,15 @@ "type": "Tool", "list": true, "id": "openAIAssistant_0-input-tools-Tool" + }, + { + "label": "Input Moderation", + "description": "Detect text that could generate harmful output and prevent it from being sent to the language model", + "name": "inputModeration", + "type": "Moderation", + "optional": true, + "list": true, + "id": "openAIAssistant_0-input-inputModeration-Moderation" } ], "inputs": { From 4f940b0d910d61172f6b143a9b4ff518ee35e99c Mon Sep 17 00:00:00 2001 From: Henry Date: Thu, 28 Dec 2023 02:02:49 +0000 Subject: [PATCH 31/58] chck for empty string --- .../SimplePromptModeration/SimplePromptModerationRunner.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModerationRunner.ts b/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModerationRunner.ts index 10d351cf..c9a11643 100644 --- a/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModerationRunner.ts +++ b/packages/components/nodes/moderation/SimplePromptModeration/SimplePromptModerationRunner.ts @@ -19,6 +19,7 @@ export class SimplePromptModerationRunner implements Moderation { if (this.model) { const denyArray = this.denyList.split('\n') for (const denyStr of denyArray) { + if (!denyStr || denyStr === '') continue const res = await this.model.invoke( `Are these two sentences similar to each other? Only return Yes or No.\nFirst sentence: ${input}\nSecond sentence: ${denyStr}` ) From ab556b71cf8ea95a9fb76b71bc95d0662c474926 Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 29 Dec 2023 01:43:30 +0000 Subject: [PATCH 32/58] avoid submitting tool outputs when in_progress --- .../nodes/agents/OpenAIAssistant/OpenAIAssistant.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts b/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts index c5503610..1f9d4eab 100644 --- a/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts +++ b/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts @@ -321,7 +321,10 @@ class OpenAIAssistant_Agents implements INode { } } - if (submitToolOutputs.length) { + const newRun = await openai.beta.threads.runs.retrieve(threadId, runId) + const newStatus = newRun?.status + + if (submitToolOutputs.length && newStatus !== 'in_progress') { await openai.beta.threads.runs.submitToolOutputs(threadId, runId, { tool_outputs: submitToolOutputs }) From 5ab2d63de8b066a6ca09df2d23f3aae502f40e42 Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 29 Dec 2023 13:29:24 +0000 Subject: [PATCH 33/58] only submitting tool outputs when requiresaction --- .../components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts b/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts index 1f9d4eab..85d35ea9 100644 --- a/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts +++ b/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts @@ -324,7 +324,7 @@ class OpenAIAssistant_Agents implements INode { const newRun = await openai.beta.threads.runs.retrieve(threadId, runId) const newStatus = newRun?.status - if (submitToolOutputs.length && newStatus !== 'in_progress') { + if (submitToolOutputs.length && newStatus === 'requires_action') { await openai.beta.threads.runs.submitToolOutputs(threadId, runId, { tool_outputs: submitToolOutputs }) From 8eabd8f0c26e060c7651b02c3166a52fd2ed6f66 Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 29 Dec 2023 13:50:33 +0000 Subject: [PATCH 34/58] wrap in a try catch block --- .../agents/OpenAIAssistant/OpenAIAssistant.ts | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts b/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts index 85d35ea9..cf69022b 100644 --- a/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts +++ b/packages/components/nodes/agents/OpenAIAssistant/OpenAIAssistant.ts @@ -324,14 +324,19 @@ class OpenAIAssistant_Agents implements INode { const newRun = await openai.beta.threads.runs.retrieve(threadId, runId) const newStatus = newRun?.status - if (submitToolOutputs.length && newStatus === 'requires_action') { - await openai.beta.threads.runs.submitToolOutputs(threadId, runId, { - tool_outputs: submitToolOutputs - }) - resolve(state) - } else { - await openai.beta.threads.runs.cancel(threadId, runId) - resolve('requires_action_retry') + try { + if (submitToolOutputs.length && newStatus === 'requires_action') { + await openai.beta.threads.runs.submitToolOutputs(threadId, runId, { + tool_outputs: submitToolOutputs + }) + resolve(state) + } else { + await openai.beta.threads.runs.cancel(threadId, runId) + resolve('requires_action_retry') + } + } catch (e) { + clearInterval(timeout) + reject(new Error(`Error submitting tool outputs: ${state}, Thread ID: ${threadId}, Run ID: ${runId}`)) } } } else if (state === 'cancelled' || state === 'expired' || state === 'failed') { From da18b6a5c0eceb9f15d71c66083e5cf0daafa1c3 Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Fri, 29 Dec 2023 15:17:26 +0000 Subject: [PATCH 35/58] Update 1702200925471-AddVariableEntity.ts --- .../migrations/postgres/1702200925471-AddVariableEntity.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/database/migrations/postgres/1702200925471-AddVariableEntity.ts b/packages/server/src/database/migrations/postgres/1702200925471-AddVariableEntity.ts index d4a1d7be..c6d3902f 100644 --- a/packages/server/src/database/migrations/postgres/1702200925471-AddVariableEntity.ts +++ b/packages/server/src/database/migrations/postgres/1702200925471-AddVariableEntity.ts @@ -10,7 +10,7 @@ export class AddVariableEntity1699325775451 implements MigrationInterface { "type" text NULL, "createdDate" timestamp NOT NULL DEFAULT now(), "updatedDate" timestamp NOT NULL DEFAULT now(), - CONSTRAINT "PK_3c7cea7a044ac4c92764576cdbf" PRIMARY KEY (id) + CONSTRAINT "PK_98419043dd704f54-9830ab78f8" PRIMARY KEY (id) );` ) } From fe0c22255baf2cc5865a5acfa9bdd9ce07a55ef6 Mon Sep 17 00:00:00 2001 From: vinodkiran Date: Sat, 30 Dec 2023 16:17:03 +0530 Subject: [PATCH 36/58] Bugfix: Upsert successful, but failed to insert documents --- packages/components/nodes/documentloaders/Notion/NotionDB.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/components/nodes/documentloaders/Notion/NotionDB.ts b/packages/components/nodes/documentloaders/Notion/NotionDB.ts index 5c171c7f..4e37ad22 100644 --- a/packages/components/nodes/documentloaders/Notion/NotionDB.ts +++ b/packages/components/nodes/documentloaders/Notion/NotionDB.ts @@ -66,6 +66,10 @@ class NotionDB_DocumentLoaders implements INode { auth: notionIntegrationToken }, id: databaseId, + callerOptions: { + maxConcurrency: 64 // Default value + }, + propertiesAsHeader: true, // Prepends a front matter header of the page properties to the page contents type: 'database' } const loader = new NotionAPILoader(obj) From 75b5b33d8d9b92c4ef9458b81dc7f1e8c949532a Mon Sep 17 00:00:00 2001 From: Henry Date: Sat, 30 Dec 2023 12:29:00 +0000 Subject: [PATCH 37/58] update langchain version --- .../nodes/chatmodels/AzureChatOpenAI/AzureChatOpenAI.ts | 5 ++--- .../components/nodes/chatmodels/ChatMistral/ChatMistral.ts | 4 +++- .../components/nodes/chatmodels/ChatOllama/ChatOllama.ts | 5 ++--- .../nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts | 2 +- packages/components/nodes/llms/Ollama/Ollama.ts | 3 +-- packages/components/package.json | 6 +++--- packages/server/src/utils/index.ts | 2 +- 7 files changed, 13 insertions(+), 14 deletions(-) diff --git a/packages/components/nodes/chatmodels/AzureChatOpenAI/AzureChatOpenAI.ts b/packages/components/nodes/chatmodels/AzureChatOpenAI/AzureChatOpenAI.ts index 99e151e6..9b7b724a 100644 --- a/packages/components/nodes/chatmodels/AzureChatOpenAI/AzureChatOpenAI.ts +++ b/packages/components/nodes/chatmodels/AzureChatOpenAI/AzureChatOpenAI.ts @@ -1,7 +1,6 @@ -import { OpenAIBaseInput } from 'langchain/dist/types/openai-types' import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface' import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' -import { AzureOpenAIInput, ChatOpenAI } from 'langchain/chat_models/openai' +import { AzureOpenAIInput, ChatOpenAI, OpenAIChatInput } from 'langchain/chat_models/openai' import { BaseCache } from 'langchain/schema' import { BaseLLMParams } from 'langchain/llms/base' @@ -123,7 +122,7 @@ class AzureChatOpenAI_ChatModels implements INode { const azureOpenAIApiDeploymentName = getCredentialParam('azureOpenAIApiDeploymentName', credentialData, nodeData) const azureOpenAIApiVersion = getCredentialParam('azureOpenAIApiVersion', credentialData, nodeData) - const obj: Partial & BaseLLMParams & Partial = { + const obj: Partial & BaseLLMParams & Partial = { temperature: parseFloat(temperature), modelName, azureOpenAIApiKey, diff --git a/packages/components/nodes/chatmodels/ChatMistral/ChatMistral.ts b/packages/components/nodes/chatmodels/ChatMistral/ChatMistral.ts index f65de851..91624574 100644 --- a/packages/components/nodes/chatmodels/ChatMistral/ChatMistral.ts +++ b/packages/components/nodes/chatmodels/ChatMistral/ChatMistral.ts @@ -124,13 +124,15 @@ class ChatMistral_ChatModels implements INode { const safeMode = nodeData.inputs?.safeMode as boolean const randomSeed = nodeData.inputs?.safeMode as string const overrideEndpoint = nodeData.inputs?.overrideEndpoint as string + const streaming = nodeData.inputs?.streaming as boolean // Waiting fix from langchain + mistral to enable streaming - https://github.com/mistralai/client-js/issues/18 const cache = nodeData.inputs?.cache as BaseCache const obj: ChatMistralAIInput = { apiKey: apiKey, - modelName: modelName + modelName: modelName, + streaming: streaming ?? true } if (maxOutputTokens) obj.maxTokens = parseInt(maxOutputTokens, 10) diff --git a/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts b/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts index ed58589b..d445c7e1 100644 --- a/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts +++ b/packages/components/nodes/chatmodels/ChatOllama/ChatOllama.ts @@ -1,8 +1,7 @@ import { INode, INodeData, INodeParams } from '../../../src/Interface' import { getBaseClasses } from '../../../src/utils' -import { ChatOllama } from 'langchain/chat_models/ollama' +import { ChatOllama, ChatOllamaInput } from 'langchain/chat_models/ollama' import { BaseCache } from 'langchain/schema' -import { OllamaInput } from 'langchain/dist/util/ollama' import { BaseLLMParams } from 'langchain/llms/base' class ChatOllama_ChatModels implements INode { @@ -209,7 +208,7 @@ class ChatOllama_ChatModels implements INode { const cache = nodeData.inputs?.cache as BaseCache - const obj: OllamaInput & BaseLLMParams = { + const obj: ChatOllamaInput & BaseLLMParams = { baseUrl, temperature: parseFloat(temperature), model: modelName diff --git a/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts b/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts index 698770b3..8892b03f 100644 --- a/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts +++ b/packages/components/nodes/embeddings/OllamaEmbedding/OllamaEmbedding.ts @@ -1,7 +1,7 @@ import { INode, INodeData, INodeParams } from '../../../src/Interface' import { getBaseClasses } from '../../../src/utils' +import { OllamaInput } from 'langchain/llms/ollama' import { OllamaEmbeddings } from 'langchain/embeddings/ollama' -import { OllamaInput } from 'langchain/dist/util/ollama' class OllamaEmbedding_Embeddings implements INode { label: string diff --git a/packages/components/nodes/llms/Ollama/Ollama.ts b/packages/components/nodes/llms/Ollama/Ollama.ts index c7250a04..385890c9 100644 --- a/packages/components/nodes/llms/Ollama/Ollama.ts +++ b/packages/components/nodes/llms/Ollama/Ollama.ts @@ -1,8 +1,7 @@ import { INode, INodeData, INodeParams } from '../../../src/Interface' import { getBaseClasses } from '../../../src/utils' -import { Ollama } from 'langchain/llms/ollama' +import { Ollama, OllamaInput } from 'langchain/llms/ollama' import { BaseCache } from 'langchain/schema' -import { OllamaInput } from 'langchain/dist/util/ollama' import { BaseLLMParams } from 'langchain/llms/base' class Ollama_LLMs implements INode { diff --git a/packages/components/package.json b/packages/components/package.json index 9cb0bf1e..8a145186 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -26,8 +26,8 @@ "@gomomento/sdk-core": "^1.51.1", "@google-ai/generativelanguage": "^0.2.1", "@huggingface/inference": "^2.6.1", - "@langchain/google-genai": "^0.0.3", - "@langchain/mistralai": "^0.0.3", + "@langchain/google-genai": "^0.0.6", + "@langchain/mistralai": "^0.0.6", "@notionhq/client": "^2.2.8", "@opensearch-project/opensearch": "^1.2.0", "@pinecone-database/pinecone": "^1.1.1", @@ -52,7 +52,7 @@ "html-to-text": "^9.0.5", "husky": "^8.0.3", "ioredis": "^5.3.2", - "langchain": "^0.0.196", + "langchain": "^0.0.213", "langfuse": "^1.2.0", "langfuse-langchain": "^1.0.31", "langsmith": "^0.0.49", diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index 0bc28861..ce444512 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -818,7 +818,7 @@ export const findAvailableConfigs = (reactFlowNodes: IReactFlowNode[], component */ export const isFlowValidForStream = (reactFlowNodes: IReactFlowNode[], endingNodeData: INodeData) => { const streamAvailableLLMs = { - 'Chat Models': ['azureChatOpenAI', 'chatOpenAI', 'chatAnthropic', 'chatOllama', 'awsChatBedrock'], + 'Chat Models': ['azureChatOpenAI', 'chatOpenAI', 'chatAnthropic', 'chatOllama', 'awsChatBedrock', 'chatMistralAI'], LLMs: ['azureOpenAI', 'openAI', 'ollama'] } From 9e7f3587f14881e5192ff4a2ef8f85d83b969fad Mon Sep 17 00:00:00 2001 From: vinodkiran Date: Sat, 30 Dec 2023 18:22:21 +0530 Subject: [PATCH 38/58] Upgrading of analytic dependencies - langfuse and langsmith. --- packages/components/package.json | 6 +++--- packages/components/src/handler.ts | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/components/package.json b/packages/components/package.json index 9cb0bf1e..ef1f92eb 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -53,9 +53,9 @@ "husky": "^8.0.3", "ioredis": "^5.3.2", "langchain": "^0.0.196", - "langfuse": "^1.2.0", - "langfuse-langchain": "^1.0.31", - "langsmith": "^0.0.49", + "langfuse": "2.0.2", + "langfuse-langchain": "2.0.2", + "langsmith": "0.0.53", "linkifyjs": "^4.1.1", "llmonitor": "^0.5.5", "mammoth": "^1.5.1", diff --git a/packages/components/src/handler.ts b/packages/components/src/handler.ts index 29aff3e2..ce7a1a1c 100644 --- a/packages/components/src/handler.ts +++ b/packages/components/src/handler.ts @@ -536,9 +536,10 @@ export class AnalyticHandler { if (Object.prototype.hasOwnProperty.call(this.handlers, 'langFuse')) { const trace: LangfuseTraceClient | undefined = this.handlers['langFuse'].trace[parentIds['langFuse'].trace] if (trace) { + trace.id const generation = trace.generation({ name, - prompt: input + input: input }) this.handlers['langFuse'].generation = { [generation.id]: generation } returnIds['langFuse'].generation = generation.id @@ -583,7 +584,7 @@ export class AnalyticHandler { const generation: LangfuseGenerationClient | undefined = this.handlers['langFuse'].generation[returnIds['langFuse'].generation] if (generation) { generation.end({ - completion: output + output: output }) } } @@ -618,7 +619,7 @@ export class AnalyticHandler { const generation: LangfuseGenerationClient | undefined = this.handlers['langFuse'].generation[returnIds['langFuse'].generation] if (generation) { generation.end({ - completion: error + output: error }) } } From 28e32f0ae68a18905b52921be2bc97e4447386a2 Mon Sep 17 00:00:00 2001 From: Darien Kindlund Date: Sat, 30 Dec 2023 09:46:44 -0500 Subject: [PATCH 39/58] Initial support for Airtable views --- .../documentloaders/Airtable/Airtable.ts | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/packages/components/nodes/documentloaders/Airtable/Airtable.ts b/packages/components/nodes/documentloaders/Airtable/Airtable.ts index 70d0c674..a2c1eef3 100644 --- a/packages/components/nodes/documentloaders/Airtable/Airtable.ts +++ b/packages/components/nodes/documentloaders/Airtable/Airtable.ts @@ -55,6 +55,15 @@ class Airtable_DocumentLoaders implements INode { description: 'If your table URL looks like: https://airtable.com/app11RobdGoX0YNsC/tblJdmvbrgizbYICO/viw9UrP77Id0CE4ee, tblJdmvbrgizbYICO is the table id' }, + { + label: 'View Id', + name: 'viewId', + type: 'string', + placeholder: 'viw9UrP77Id0CE4ee', + description: + 'If your view URL looks like: https://airtable.com/app11RobdGoX0YNsC/tblJdmvbrgizbYICO/viw9UrP77Id0CE4ee, viw9UrP77Id0CE4ee is the view id', + optional: true + }, { label: 'Return All', name: 'returnAll', @@ -83,6 +92,7 @@ class Airtable_DocumentLoaders implements INode { async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { const baseId = nodeData.inputs?.baseId as string const tableId = nodeData.inputs?.tableId as string + const viewId = nodeData.inputs?.viewId as string const returnAll = nodeData.inputs?.returnAll as boolean const limit = nodeData.inputs?.limit as string const textSplitter = nodeData.inputs?.textSplitter as TextSplitter @@ -94,6 +104,7 @@ class Airtable_DocumentLoaders implements INode { const airtableOptions: AirtableLoaderParams = { baseId, tableId, + viewId, returnAll, accessToken, limit: limit ? parseInt(limit, 10) : 100 @@ -133,6 +144,7 @@ interface AirtableLoaderParams { baseId: string tableId: string accessToken: string + viewId?: string limit?: number returnAll?: boolean } @@ -153,16 +165,19 @@ class AirtableLoader extends BaseDocumentLoader { public readonly tableId: string + public readonly viewId?: string + public readonly accessToken: string public readonly limit: number public readonly returnAll: boolean - constructor({ baseId, tableId, accessToken, limit = 100, returnAll = false }: AirtableLoaderParams) { + constructor({ baseId, tableId, viewId, accessToken, limit = 100, returnAll = false }: AirtableLoaderParams) { super() this.baseId = baseId this.tableId = tableId + this.viewId = viewId this.accessToken = accessToken this.limit = limit this.returnAll = returnAll @@ -203,7 +218,7 @@ class AirtableLoader extends BaseDocumentLoader { } private async loadLimit(): Promise { - const params = { maxRecords: this.limit } + const params = { maxRecords: this.limit, view: this.viewId } const data = await this.fetchAirtableData(`https://api.airtable.com/v0/${this.baseId}/${this.tableId}`, params) if (data.records.length === 0) { return [] @@ -212,7 +227,7 @@ class AirtableLoader extends BaseDocumentLoader { } private async loadAll(): Promise { - const params: ICommonObject = { pageSize: 100 } + const params: ICommonObject = { pageSize: 100, view: this.viewId } let data: AirtableLoaderResponse let returnPages: AirtableLoaderPage[] = [] From 543c41b5c5c685df09b8682972d5341f2f76371a Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Sat, 30 Dec 2023 16:07:05 +0000 Subject: [PATCH 40/58] Update ChatMistral.ts --- packages/components/nodes/chatmodels/ChatMistral/ChatMistral.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/components/nodes/chatmodels/ChatMistral/ChatMistral.ts b/packages/components/nodes/chatmodels/ChatMistral/ChatMistral.ts index 91624574..4524db46 100644 --- a/packages/components/nodes/chatmodels/ChatMistral/ChatMistral.ts +++ b/packages/components/nodes/chatmodels/ChatMistral/ChatMistral.ts @@ -125,8 +125,6 @@ class ChatMistral_ChatModels implements INode { const randomSeed = nodeData.inputs?.safeMode as string const overrideEndpoint = nodeData.inputs?.overrideEndpoint as string const streaming = nodeData.inputs?.streaming as boolean - // Waiting fix from langchain + mistral to enable streaming - https://github.com/mistralai/client-js/issues/18 - const cache = nodeData.inputs?.cache as BaseCache const obj: ChatMistralAIInput = { From 573863ae6c071e7e2f02d8cd632524919772bab7 Mon Sep 17 00:00:00 2001 From: Henry Date: Sat, 30 Dec 2023 23:39:05 +0000 Subject: [PATCH 41/58] =?UTF-8?q?=F0=9F=A5=B3=20flowise@1.4.8=20minor=20re?= =?UTF-8?q?lease?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- packages/server/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 81fb3637..5ecbb59b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "flowise", - "version": "1.4.7", + "version": "1.4.8", "private": true, "homepage": "https://flowiseai.com", "workspaces": [ diff --git a/packages/server/package.json b/packages/server/package.json index 581dfafe..54409e29 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "flowise", - "version": "1.4.7", + "version": "1.4.8", "description": "Flowiseai Server", "main": "dist/index", "types": "dist/index.d.ts", From 8b4793b317bae87e9304979871bbd8bf5061217c Mon Sep 17 00:00:00 2001 From: Henry Date: Sat, 30 Dec 2023 23:39:34 +0000 Subject: [PATCH 42/58] =?UTF-8?q?=F0=9F=A5=B3=20flowise-components@1.5.0?= =?UTF-8?q?=20minor=20release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/components/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/package.json b/packages/components/package.json index 9cb0bf1e..cb3448eb 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "flowise-components", - "version": "1.4.9", + "version": "1.5.0", "description": "Flowiseai Components", "main": "dist/src/index", "types": "dist/src/index.d.ts", From 45a42c4404c82872861110606d69cb8ac3f27f14 Mon Sep 17 00:00:00 2001 From: Henry Date: Sat, 30 Dec 2023 23:39:53 +0000 Subject: [PATCH 43/58] =?UTF-8?q?=F0=9F=A5=B3=20flowise-ui@1.4.6=20minor?= =?UTF-8?q?=20release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/ui/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ui/package.json b/packages/ui/package.json index 2ab0befb..c5549b23 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "flowise-ui", - "version": "1.4.5", + "version": "1.4.6", "license": "SEE LICENSE IN LICENSE.md", "homepage": "https://flowiseai.com", "author": { From da76a151ff08d346c1091895876f109326b8fc89 Mon Sep 17 00:00:00 2001 From: vinodkiran Date: Sun, 31 Dec 2023 12:56:35 +0530 Subject: [PATCH 44/58] minor typo fixes... --- packages/components/src/handler.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/components/src/handler.ts b/packages/components/src/handler.ts index ce7a1a1c..1eb05a51 100644 --- a/packages/components/src/handler.ts +++ b/packages/components/src/handler.ts @@ -536,7 +536,6 @@ export class AnalyticHandler { if (Object.prototype.hasOwnProperty.call(this.handlers, 'langFuse')) { const trace: LangfuseTraceClient | undefined = this.handlers['langFuse'].trace[parentIds['langFuse'].trace] if (trace) { - trace.id const generation = trace.generation({ name, input: input From 383f612e114050eb71977bb0498ac356c3afbdf3 Mon Sep 17 00:00:00 2001 From: Henry Date: Wed, 3 Jan 2024 00:35:55 +0000 Subject: [PATCH 45/58] add check for secretkey_path --- packages/server/src/utils/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index 39bd0854..67187325 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -873,7 +873,9 @@ export const getEncryptionKey = async (): Promise => { return await fs.promises.readFile(getEncryptionKeyPath(), 'utf8') } catch (error) { const encryptKey = generateEncryptKey() - const defaultLocation = path.join(getUserHome(), '.flowise', 'encryption.key') + const defaultLocation = process.env.SECRETKEY_PATH + ? path.join(process.env.SECRETKEY_PATH, 'encryption.key') + : path.join(getUserHome(), '.flowise', 'encryption.key') await fs.promises.writeFile(defaultLocation, encryptKey) return encryptKey } From e513b69e3eb50dd0b453338df30937a892d28496 Mon Sep 17 00:00:00 2001 From: Henry Date: Wed, 3 Jan 2024 00:54:31 +0000 Subject: [PATCH 46/58] =?UTF-8?q?=F0=9F=A5=B3=20flowise@1.4.9=20bugfix=20r?= =?UTF-8?q?elease?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- packages/server/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 5ecbb59b..5a9bfcbf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "flowise", - "version": "1.4.8", + "version": "1.4.9", "private": true, "homepage": "https://flowiseai.com", "workspaces": [ diff --git a/packages/server/package.json b/packages/server/package.json index 54409e29..f1c0b7f7 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "flowise", - "version": "1.4.8", + "version": "1.4.9", "description": "Flowiseai Server", "main": "dist/index", "types": "dist/index.d.ts", From 14aa19987880e62f0f623088c3a9fcd800b798e6 Mon Sep 17 00:00:00 2001 From: Henry Date: Wed, 3 Jan 2024 17:40:39 +0000 Subject: [PATCH 47/58] no message --- packages/components/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/components/package.json b/packages/components/package.json index 50377e1a..f3371d26 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -52,10 +52,10 @@ "html-to-text": "^9.0.5", "husky": "^8.0.3", "ioredis": "^5.3.2", - "langchain": "^0.0.213", + "langchain": "^0.0.214", "langfuse": "^1.2.0", "langfuse-langchain": "^1.0.31", - "langsmith": "^0.0.49", + "langsmith": "^0.0.53", "linkifyjs": "^4.1.1", "llmonitor": "^0.5.5", "mammoth": "^1.5.1", From c035363d6f5558c55e0ccf4308e3c87d80715e6e Mon Sep 17 00:00:00 2001 From: Darien Kindlund Date: Wed, 3 Jan 2024 13:20:39 -0500 Subject: [PATCH 48/58] Fixing linting issues using 'yarn lint-fix' --- .../nodes/documentloaders/Airtable/Airtable.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/components/nodes/documentloaders/Airtable/Airtable.ts b/packages/components/nodes/documentloaders/Airtable/Airtable.ts index a2c1eef3..a7cd5021 100644 --- a/packages/components/nodes/documentloaders/Airtable/Airtable.ts +++ b/packages/components/nodes/documentloaders/Airtable/Airtable.ts @@ -55,14 +55,14 @@ class Airtable_DocumentLoaders implements INode { description: 'If your table URL looks like: https://airtable.com/app11RobdGoX0YNsC/tblJdmvbrgizbYICO/viw9UrP77Id0CE4ee, tblJdmvbrgizbYICO is the table id' }, - { - label: 'View Id', - name: 'viewId', - type: 'string', - placeholder: 'viw9UrP77Id0CE4ee', - description: - 'If your view URL looks like: https://airtable.com/app11RobdGoX0YNsC/tblJdmvbrgizbYICO/viw9UrP77Id0CE4ee, viw9UrP77Id0CE4ee is the view id', - optional: true + { + label: 'View Id', + name: 'viewId', + type: 'string', + placeholder: 'viw9UrP77Id0CE4ee', + description: + 'If your view URL looks like: https://airtable.com/app11RobdGoX0YNsC/tblJdmvbrgizbYICO/viw9UrP77Id0CE4ee, viw9UrP77Id0CE4ee is the view id', + optional: true }, { label: 'Return All', From 53bfd07694b6bd6e1783dae08f7ebaa20ffa4f05 Mon Sep 17 00:00:00 2001 From: Darien Kindlund Date: Wed, 3 Jan 2024 21:23:43 -0500 Subject: [PATCH 49/58] Bumping version to reflect new feature --- packages/components/nodes/documentloaders/Airtable/Airtable.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/nodes/documentloaders/Airtable/Airtable.ts b/packages/components/nodes/documentloaders/Airtable/Airtable.ts index a7cd5021..9a824ac9 100644 --- a/packages/components/nodes/documentloaders/Airtable/Airtable.ts +++ b/packages/components/nodes/documentloaders/Airtable/Airtable.ts @@ -20,7 +20,7 @@ class Airtable_DocumentLoaders implements INode { constructor() { this.label = 'Airtable' this.name = 'airtable' - this.version = 1.0 + this.version = 2.0 this.type = 'Document' this.icon = 'airtable.svg' this.category = 'Document Loaders' From efe602970ce2df8ef1b4f186f3ea3f42ff217d6c Mon Sep 17 00:00:00 2001 From: tuxBurner Date: Thu, 4 Jan 2024 14:19:46 +0100 Subject: [PATCH 50/58] Added ssl flag for postgres vectorstores --- .../nodes/vectorstores/Postgres/Postgres_Exisiting.ts | 11 ++++++++++- .../nodes/vectorstores/Postgres/Postgres_Upsert.ts | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/packages/components/nodes/vectorstores/Postgres/Postgres_Exisiting.ts b/packages/components/nodes/vectorstores/Postgres/Postgres_Exisiting.ts index 99794a0d..da3b1d18 100644 --- a/packages/components/nodes/vectorstores/Postgres/Postgres_Exisiting.ts +++ b/packages/components/nodes/vectorstores/Postgres/Postgres_Exisiting.ts @@ -52,6 +52,13 @@ class Postgres_Existing_VectorStores implements INode { name: 'database', type: 'string' }, + { + label: 'SSL Connection', + name: 'sslConnection', + type: 'boolean', + default: false, + optional: false + }, { label: 'Port', name: 'port', @@ -109,6 +116,7 @@ class Postgres_Existing_VectorStores implements INode { const output = nodeData.outputs?.output as string const topK = nodeData.inputs?.topK as string const k = topK ? parseFloat(topK) : 4 + const sslConnection = nodeData.inputs?.sslConnection as boolean let additionalConfiguration = {} if (additionalConfig) { @@ -126,7 +134,8 @@ class Postgres_Existing_VectorStores implements INode { port: nodeData.inputs?.port as number, username: user, password: password, - database: nodeData.inputs?.database as string + database: nodeData.inputs?.database as string, + ssl: sslConnection } const args = { diff --git a/packages/components/nodes/vectorstores/Postgres/Postgres_Upsert.ts b/packages/components/nodes/vectorstores/Postgres/Postgres_Upsert.ts index f706cbe8..25551517 100644 --- a/packages/components/nodes/vectorstores/Postgres/Postgres_Upsert.ts +++ b/packages/components/nodes/vectorstores/Postgres/Postgres_Upsert.ts @@ -59,6 +59,13 @@ class PostgresUpsert_VectorStores implements INode { name: 'database', type: 'string' }, + { + label: 'SSL Connection', + name: 'sslConnection', + type: 'boolean', + default: false, + optional: false + }, { label: 'Port', name: 'port', @@ -117,6 +124,7 @@ class PostgresUpsert_VectorStores implements INode { const output = nodeData.outputs?.output as string const topK = nodeData.inputs?.topK as string const k = topK ? parseFloat(topK) : 4 + const sslConnection = nodeData.inputs?.sslConnection as boolean let additionalConfiguration = {} if (additionalConfig) { @@ -134,7 +142,8 @@ class PostgresUpsert_VectorStores implements INode { port: nodeData.inputs?.port as number, username: user, password: password, - database: nodeData.inputs?.database as string + database: nodeData.inputs?.database as string, + ssl: sslConnection } const args = { From b833cb80d4f5adeaed612db5159dd8f727935153 Mon Sep 17 00:00:00 2001 From: tuxBurner Date: Thu, 4 Jan 2024 14:51:41 +0100 Subject: [PATCH 51/58] Added ssl flag --- .../nodes/vectorstores/Postgres/Postgres.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/components/nodes/vectorstores/Postgres/Postgres.ts b/packages/components/nodes/vectorstores/Postgres/Postgres.ts index ac4b80c3..75f9669a 100644 --- a/packages/components/nodes/vectorstores/Postgres/Postgres.ts +++ b/packages/components/nodes/vectorstores/Postgres/Postgres.ts @@ -60,6 +60,13 @@ class Postgres_VectorStores implements INode { name: 'database', type: 'string' }, + { + label: 'SSL Connection', + name: 'sslConnection', + type: 'boolean', + default: false, + optional: false + }, { label: 'Port', name: 'port', @@ -117,6 +124,7 @@ class Postgres_VectorStores implements INode { const docs = nodeData.inputs?.document as Document[] const embeddings = nodeData.inputs?.embeddings as Embeddings const additionalConfig = nodeData.inputs?.additionalConfig as string + const sslConnection = nodeData.inputs?.sslConnection as boolean let additionalConfiguration = {} if (additionalConfig) { @@ -134,7 +142,8 @@ class Postgres_VectorStores implements INode { port: nodeData.inputs?.port as number, username: user, password: password, - database: nodeData.inputs?.database as string + database: nodeData.inputs?.database as string, + ssl: sslConnection } const args = { From 609ae8703de416c1a62dab565f7e7aa13177b333 Mon Sep 17 00:00:00 2001 From: tuxBurner Date: Thu, 4 Jan 2024 15:58:18 +0100 Subject: [PATCH 52/58] Added a function which cheks which port to use when port is 443 or 80 --- .../nodes/vectorstores/Qdrant/Qdrant.ts | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts b/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts index 6413f8bf..390e7fc9 100644 --- a/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts +++ b/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts @@ -149,9 +149,12 @@ class Qdrant_VectorStores implements INode { const credentialData = await getCredentialData(nodeData.credential ?? '', options) const qdrantApiKey = getCredentialParam('qdrantApiKey', credentialData, nodeData) + const port = Qdrant_VectorStores.determinePortByUrl(qdrantServerUrl); + const client = new QdrantClient({ url: qdrantServerUrl, - apiKey: qdrantApiKey + apiKey: qdrantApiKey, + port: port }) const flattenDocs = docs && docs.length ? flatten(docs) : [] @@ -198,9 +201,12 @@ class Qdrant_VectorStores implements INode { const credentialData = await getCredentialData(nodeData.credential ?? '', options) const qdrantApiKey = getCredentialParam('qdrantApiKey', credentialData, nodeData) + const port = Qdrant_VectorStores.determinePortByUrl(qdrantServerUrl); + const client = new QdrantClient({ url: qdrantServerUrl, - apiKey: qdrantApiKey + apiKey: qdrantApiKey, + port: port }) const dbConfig: QdrantLibArgs = { @@ -242,6 +248,25 @@ class Qdrant_VectorStores implements INode { } return vectorStore } + + /** + * Determine the port number from the given URL. + * + * The problem is when not doing this the qdrant-client.js will fall back on 6663 when you enter a port 443 and 80. + * See: https://stackoverflow.com/questions/59104197/nodejs-new-url-urlhttps-myurl-com80-lists-the-port-as-empty + * @param qdrantServerUrl the url to get the port from + */ + static determinePortByUrl(qdrantServerUrl: string) :number { + let port = 6333; + const parsedUrl = new URL(qdrantServerUrl); + if (parsedUrl.protocol === 'https:' && parsedUrl.port === '') { + port = 443; + } + if (parsedUrl.protocol === 'http:' && parsedUrl.port === '') { + port = 80; + } + return port; + } } module.exports = { nodeClass: Qdrant_VectorStores } From 2355cb2ec5c83fe7302c919d89361cd33db35fff Mon Sep 17 00:00:00 2001 From: tuxBurner Date: Thu, 4 Jan 2024 16:07:54 +0100 Subject: [PATCH 53/58] Fixed port handling so it returns the correct port and not only 6663 --- packages/components/nodes/vectorstores/Qdrant/Qdrant.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts b/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts index 390e7fc9..54b55d34 100644 --- a/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts +++ b/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts @@ -257,14 +257,18 @@ class Qdrant_VectorStores implements INode { * @param qdrantServerUrl the url to get the port from */ static determinePortByUrl(qdrantServerUrl: string) :number { - let port = 6333; const parsedUrl = new URL(qdrantServerUrl); + + let port = parsedUrl.port ? parseInt(parsedUrl.port) : 6663 + if (parsedUrl.protocol === 'https:' && parsedUrl.port === '') { port = 443; } if (parsedUrl.protocol === 'http:' && parsedUrl.port === '') { port = 80; } + + return port; } } From a046d5296176b0649dcc6abd9d29f8ef8e003a4e Mon Sep 17 00:00:00 2001 From: tuxBurner Date: Thu, 4 Jan 2024 16:23:08 +0100 Subject: [PATCH 54/58] Make the linter happy --- .../components/nodes/vectorstores/Qdrant/Qdrant.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts b/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts index 54b55d34..5e01b030 100644 --- a/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts +++ b/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts @@ -149,7 +149,7 @@ class Qdrant_VectorStores implements INode { const credentialData = await getCredentialData(nodeData.credential ?? '', options) const qdrantApiKey = getCredentialParam('qdrantApiKey', credentialData, nodeData) - const port = Qdrant_VectorStores.determinePortByUrl(qdrantServerUrl); + const port = Qdrant_VectorStores.determinePortByUrl(qdrantServerUrl) const client = new QdrantClient({ url: qdrantServerUrl, @@ -201,7 +201,7 @@ class Qdrant_VectorStores implements INode { const credentialData = await getCredentialData(nodeData.credential ?? '', options) const qdrantApiKey = getCredentialParam('qdrantApiKey', credentialData, nodeData) - const port = Qdrant_VectorStores.determinePortByUrl(qdrantServerUrl); + const port = Qdrant_VectorStores.determinePortByUrl(qdrantServerUrl) const client = new QdrantClient({ url: qdrantServerUrl, @@ -256,20 +256,20 @@ class Qdrant_VectorStores implements INode { * See: https://stackoverflow.com/questions/59104197/nodejs-new-url-urlhttps-myurl-com80-lists-the-port-as-empty * @param qdrantServerUrl the url to get the port from */ - static determinePortByUrl(qdrantServerUrl: string) :number { - const parsedUrl = new URL(qdrantServerUrl); + static determinePortByUrl(qdrantServerUrl: string): number { + const parsedUrl = new URL(qdrantServerUrl) let port = parsedUrl.port ? parseInt(parsedUrl.port) : 6663 if (parsedUrl.protocol === 'https:' && parsedUrl.port === '') { - port = 443; + port = 443 } if (parsedUrl.protocol === 'http:' && parsedUrl.port === '') { - port = 80; + port = 80 } - return port; + return port } } From e35faa57afb5243fe4b011d408b1d96eee263622 Mon Sep 17 00:00:00 2001 From: tuxBurner Date: Thu, 4 Jan 2024 16:27:53 +0100 Subject: [PATCH 55/58] One last linting --- packages/components/nodes/vectorstores/Qdrant/Qdrant.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts b/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts index 5e01b030..e07b728a 100644 --- a/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts +++ b/packages/components/nodes/vectorstores/Qdrant/Qdrant.ts @@ -268,7 +268,6 @@ class Qdrant_VectorStores implements INode { port = 80 } - return port } } From d882ebfcb6a12f6fb51c5cda276e70b6fafa2f1b Mon Sep 17 00:00:00 2001 From: Henry Date: Thu, 4 Jan 2024 23:57:36 +0000 Subject: [PATCH 56/58] remove restrictions --- LICENSE.md | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index 0f4afcd1..80800001 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -2,22 +2,6 @@ Version 2.0, January 2004 http://www.apache.org/licenses/ -Flowise is governed by the Apache License 2.0, with additional terms and conditions outlined below: - -Flowise can be used for commercial purposes for "backend-as-a-service" for your applications or as a development platform for enterprises. However, under specific conditions, you must reach out to the project's administrators to secure a commercial license: - -a. Multi-tenant SaaS service: Unless you have explicit written authorization from Flowise, you may not utilize the Flowise source code to operate a multi-tenant SaaS service that closely resembles the Flowise cloud-based services. -b. Logo and copyright information: While using Flowise in commercial application, you are prohibited from removing or altering the LOGO or copyright information displayed in the Flowise console and UI. - -For inquiries regarding licensing matters, please contact hello@flowiseai.com via email. - -Contributors are required to consent to the following terms related to their contributed code: - -a. The project maintainers have the authority to modify the open-source agreement to be more stringent or lenient. -b. Contributed code can be used for commercial purposes, including Flowise's cloud-based services. - -All other rights and restrictions are in accordance with the Apache License 2.0. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. From 8cb939386210a62484cdf4bf5b11a7c455eafaa1 Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 5 Jan 2024 02:46:36 +0000 Subject: [PATCH 57/58] add fix for passing json variable --- .../nodes/utilities/CustomFunction/CustomFunction.ts | 2 +- packages/server/src/utils/index.ts | 6 +++++- packages/ui/src/ui-component/dialog/ExpandTextDialog.js | 6 +++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/components/nodes/utilities/CustomFunction/CustomFunction.ts b/packages/components/nodes/utilities/CustomFunction/CustomFunction.ts index b358b24b..37511e47 100644 --- a/packages/components/nodes/utilities/CustomFunction/CustomFunction.ts +++ b/packages/components/nodes/utilities/CustomFunction/CustomFunction.ts @@ -65,7 +65,7 @@ class CustomFunction_Utilities implements INode { inputVars = typeof functionInputVariablesRaw === 'object' ? functionInputVariablesRaw : JSON.parse(functionInputVariablesRaw) } catch (exception) { - throw new Error("Invalid JSON in the PromptTemplate's promptValues: " + exception) + throw new Error('Invalid JSON in the Custom Function Input Variables: ' + exception) } } diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index e7a35c82..9c2d1d79 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -561,7 +561,11 @@ export const getVariableValue = ( variablePaths.forEach((path) => { const variableValue = variableDict[path] // Replace all occurrence - returnVal = returnVal.split(path).join(variableValue) + if (typeof variableValue === 'object') { + returnVal = returnVal.split(path).join(JSON.stringify(variableValue).replace(/"/g, '\\"')) + } else { + returnVal = returnVal.split(path).join(variableValue) + } }) return returnVal } diff --git a/packages/ui/src/ui-component/dialog/ExpandTextDialog.js b/packages/ui/src/ui-component/dialog/ExpandTextDialog.js index 0ef70e29..f4fdb9f9 100644 --- a/packages/ui/src/ui-component/dialog/ExpandTextDialog.js +++ b/packages/ui/src/ui-component/dialog/ExpandTextDialog.js @@ -67,7 +67,11 @@ const ExpandTextDialog = ({ show, dialogProps, onCancel, onConfirm }) => { useEffect(() => { if (executeCustomFunctionNodeApi.data) { - setCodeExecutedResult(executeCustomFunctionNodeApi.data) + if (typeof executeCustomFunctionNodeApi.data === 'object') { + setCodeExecutedResult(JSON.stringify(executeCustomFunctionNodeApi.data, null, 2)) + } else { + setCodeExecutedResult(executeCustomFunctionNodeApi.data) + } } }, [executeCustomFunctionNodeApi.data]) From d8a778e4d989c87b18b24d5d35c52211c53e532a Mon Sep 17 00:00:00 2001 From: tuxBurner Date: Fri, 5 Jan 2024 12:46:47 +0100 Subject: [PATCH 58/58] Bumped version from 1.0 to 2.0 --- packages/components/nodes/vectorstores/Postgres/Postgres.ts | 2 +- .../nodes/vectorstores/Postgres/Postgres_Exisiting.ts | 2 +- .../components/nodes/vectorstores/Postgres/Postgres_Upsert.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/components/nodes/vectorstores/Postgres/Postgres.ts b/packages/components/nodes/vectorstores/Postgres/Postgres.ts index 75f9669a..4e8bae32 100644 --- a/packages/components/nodes/vectorstores/Postgres/Postgres.ts +++ b/packages/components/nodes/vectorstores/Postgres/Postgres.ts @@ -24,7 +24,7 @@ class Postgres_VectorStores implements INode { constructor() { this.label = 'Postgres' this.name = 'postgres' - this.version = 1.0 + this.version = 2.0 this.type = 'Postgres' this.icon = 'postgres.svg' this.category = 'Vector Stores' diff --git a/packages/components/nodes/vectorstores/Postgres/Postgres_Exisiting.ts b/packages/components/nodes/vectorstores/Postgres/Postgres_Exisiting.ts index da3b1d18..3fa8a107 100644 --- a/packages/components/nodes/vectorstores/Postgres/Postgres_Exisiting.ts +++ b/packages/components/nodes/vectorstores/Postgres/Postgres_Exisiting.ts @@ -23,7 +23,7 @@ class Postgres_Existing_VectorStores implements INode { constructor() { this.label = 'Postgres Load Existing Index' this.name = 'postgresExistingIndex' - this.version = 1.0 + this.version = 2.0 this.type = 'Postgres' this.icon = 'postgres.svg' this.category = 'Vector Stores' diff --git a/packages/components/nodes/vectorstores/Postgres/Postgres_Upsert.ts b/packages/components/nodes/vectorstores/Postgres/Postgres_Upsert.ts index 25551517..d26a642d 100644 --- a/packages/components/nodes/vectorstores/Postgres/Postgres_Upsert.ts +++ b/packages/components/nodes/vectorstores/Postgres/Postgres_Upsert.ts @@ -24,7 +24,7 @@ class PostgresUpsert_VectorStores implements INode { constructor() { this.label = 'Postgres Upsert Document' this.name = 'postgresUpsert' - this.version = 1.0 + this.version = 2.0 this.type = 'Postgres' this.icon = 'postgres.svg' this.category = 'Vector Stores'
  • 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/components/nodes/chatmodels/ChatGoogleGenerativeAI/gemini.png b/packages/components/nodes/chatmodels/ChatGoogleGenerativeAI/gemini.png deleted file mode 100644 index 6c0d60f44817cdbf1bd5483d88c1929831a84eed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57143 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