Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:FlowiseAI Flowise GetVectorStoreProviders

From Leeroopedia
Attribute Value
Sources packages/ui/src/api/documentstore.js:L30-L32
Domains Document_Store_Ingestion
Last Updated 2026-02-12 14:00 GMT

Overview

GetVectorStoreProviders encompasses the three API client functions that retrieve available provider component definitions for vector stores, embeddings, and record managers. These endpoints return the full component schemas needed to render dynamic configuration forms in the UI.

Code Reference

Source Location

  • File: packages/ui/src/api/documentstore.js, Lines 30-32
  • Repository: FlowiseAI/Flowise

Signature

const getVectorStoreProviders = () => client.get('/document-store/components/vectorstore')
const getEmbeddingProviders = () => client.get('/document-store/components/embeddings')
const getRecordManagerProviders = () => client.get('/document-store/components/recordmanager')
  • getVectorStoreProviders sends a GET request to /api/v1/document-store/components/vectorstore.
  • getEmbeddingProviders sends a GET request to /api/v1/document-store/components/embeddings.
  • getRecordManagerProviders sends a GET request to /api/v1/document-store/components/recordmanager.

Import

import documentStoreApi from '@/api/documentstore'

The functions are accessed as documentStoreApi.getVectorStoreProviders(), documentStoreApi.getEmbeddingProviders(), and documentStoreApi.getRecordManagerProviders() after importing the default export.

I/O Contract

Inputs

Parameter Type Required Description
(none) -- -- All three functions take no parameters (GET requests)

Outputs (same structure for all three)

Field Type Description
data Component[] Array of provider component definitions
data[].name string Internal component identifier (e.g., pinecone, openAIEmbeddings)
data[].label string Human-readable display name (e.g., Pinecone, OpenAI Embeddings)
data[].icon string Icon identifier or URL for the component
data[].description string Description of the provider's capabilities
data[].inputParams object[] Array of input parameter definitions for the configuration form
data[].inputAnchors object[] Array of input anchor definitions for connections to other components

Each function returns a Promise<{data: Component[]}> from the axios response.

Usage Examples

Fetching All Providers in Parallel

import documentStoreApi from '@/api/documentstore'

const loadAllProviders = async () => {
    const [vectorStoreRes, embeddingRes, recordManagerRes] = await Promise.all([
        documentStoreApi.getVectorStoreProviders(),
        documentStoreApi.getEmbeddingProviders(),
        documentStoreApi.getRecordManagerProviders()
    ])

    return {
        vectorStores: vectorStoreRes.data,
        embeddings: embeddingRes.data,
        recordManagers: recordManagerRes.data
    }
}

Finding a Specific Provider

import documentStoreApi from '@/api/documentstore'

const getPineconeConfig = async () => {
    const response = await documentStoreApi.getVectorStoreProviders()
    const pinecone = response.data.find(p => p.name === 'pinecone')

    if (!pinecone) throw new Error('Pinecone provider not available')

    console.log('Pinecone parameters:')
    pinecone.inputParams.forEach(param => {
        console.log(`  ${param.name} (${param.type}): ${param.label}`)
        if (param.optional) console.log('    [optional]')
    })

    return pinecone
}

Building Dynamic Configuration Forms

import documentStoreApi from '@/api/documentstore'

const buildProviderForm = async (providerType, providerName) => {
    let response
    switch (providerType) {
        case 'vectorstore':
            response = await documentStoreApi.getVectorStoreProviders()
            break
        case 'embeddings':
            response = await documentStoreApi.getEmbeddingProviders()
            break
        case 'recordmanager':
            response = await documentStoreApi.getRecordManagerProviders()
            break
    }

    const provider = response.data.find(p => p.name === providerName)
    if (!provider) throw new Error(`Provider ${providerName} not found`)

    // Generate form fields from inputParams
    const fields = provider.inputParams.map(param => ({
        name: param.name,
        label: param.label,
        type: param.type,
        required: !param.optional,
        default: param.default,
        options: param.options || []
    }))

    return { provider, fields }
}

Listing Available Embedding Models

import documentStoreApi from '@/api/documentstore'

const listEmbeddingOptions = async () => {
    const response = await documentStoreApi.getEmbeddingProviders()

    response.data.forEach(embedding => {
        console.log(`${embedding.label}:`)
        console.log(`  ${embedding.description}`)
        // Check for credential requirements
        const credParams = embedding.inputParams.filter(p => p.type === 'credential')
        if (credParams.length > 0) {
            console.log('  Requires credentials:', credParams.map(p => p.name).join(', '))
        }
    })

    return response.data
}

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment