FlowiseAI/Flowise · error · Error

${e}

Error message

${e}

What it means

Wraps any failure from ZepVectorStore.fromDocuments() in the Zep node init. The zepConfig is built from baseURL, zepCollection, dimension, and optional apiKey; isAutoEmbedded is false (external embeddings supplied). `new Error(e)` flattens the underlying Zep/LangChain error to a string.

Source

Thrown at packages/components/nodes/vectorstores/Zep/Zep.ts:139

            for (let i = 0; i < flattenDocs.length; i += 1) {
                if (flattenDocs[i] && flattenDocs[i].pageContent) {
                    finalDocs.push(new Document(flattenDocs[i]))
                }
            }

            const zepConfig: IZepConfig = {
                apiUrl: baseURL,
                collectionName: zepCollection,
                embeddingDimensions: dimension,
                isAutoEmbedded: false
            }
            if (apiKey) zepConfig.apiKey = apiKey

            try {
                await ZepVectorStore.fromDocuments(finalDocs, embeddings, zepConfig)
                return { numAdded: finalDocs.length, addedDocs: finalDocs }
            } catch (e) {
                throw new Error(e)
            }
        }
    }

    async init(nodeData: INodeData, _: string, options: ICommonObject): Promise<any> {
        const baseURL = nodeData.inputs?.baseURL as string
        const zepCollection = nodeData.inputs?.zepCollection as string
        const zepMetadataFilter = nodeData.inputs?.zepMetadataFilter
        const dimension = nodeData.inputs?.dimension as number
        const embeddings = nodeData.inputs?.embeddings as Embeddings

        const credentialData = await getCredentialData(nodeData.credential ?? '', options)
        const apiKey = getCredentialParam('apiKey', credentialData, nodeData)

        const zepConfig: IZepConfig & Partial<ZepFilter> = {
            apiUrl: baseURL,
            collectionName: zepCollection,
            embeddingDimensions: dimension,

View on GitHub (pinned to abe4a8601a)

Solutions

  1. Inspect the text after "Error:" — it is the flattened Zep client error; address the root cause (connection, auth, dimension).
  2. Verify baseURL resolves and the Zep server is reachable (curl the health endpoint).
  3. Verify apiKey if Zep auth is enabled.
  4. Confirm dimension matches the embeddings model output and matches any pre-existing collection.
  5. Patch the catch to rethrow e unchanged.

Example fix

// before
} catch (e) {
    throw new Error(e)
}

// after
} catch (e) {
    throw e instanceof Error ? e : new Error(String(e))
}
Defensive patterns

Strategy: try-catch

Validate before calling

// Pre-flight: verify Zep baseURL reachable + dimension set
async function preflightZep(baseURL, dim) {
    const ok = await fetch(baseURL + '/health').then((r) => r.ok).catch(() => false)
    if (!ok) throw new Error('Zep server unreachable at ' + baseURL)
    if (!dim || dim <= 0) throw new Error('embedding dimension must be set')
}

Type guard

null

Try / catch

try {
    await ZepVectorStore.fromDocuments(finalDocs, embeddings, zepConfig)
} catch (e) {
    throw e instanceof Error ? e : new Error(String(e))
}

Prevention

When it happens

Trigger: baseURL unreachable or wrong (Zep server down / wrong port), apiKey invalid for a secured Zep, embeddingDimensions mismatch with an existing collection, collection name with illegal characters, Zep server version incompatible with the client.

Common situations: Zep server not running at the configured baseURL; dimension set to a value that does not match the embeddings model; using the self-hosted Zep node against Zep Cloud or vice-versa; collection created elsewhere with different dimensions.

Related errors


AI-assisted analysis of FlowiseAI/Flowise@abe4a8601a (2026-08-12). Data as JSON: /api/errors/ac028af4b61b300e. Report an issue: GitHub.