> ## Documentation Index
> Fetch the complete documentation index at: https://docs.llmcontrols.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Vector store components in LLM Controls

Vector databases store vector data, which backs AI workloads like chatbots and Retrieval Augmented Generation.

Vector database components establish connections to existing vector databases or create in-memory vector stores for storing and retrieving vector data.

Vector database components are distinct from [memory components](/Components/Memories), which are built specifically for storing and retrieving chat messages from external databases.

## **Use a vector store component in a flow**

This example uses the **Astra DB vector store** component. Your vector store component's parameters and authentication may be different, but the document ingestion workflow is the same. A document is loaded from a local machine and chunked. The Astra DB vector store generates embeddings with the connected [model](/Components/Models) component and stores them in the connected Astra DB database.

This vector data can then be retrieved for workloads like Retrieval Augmented Generation.

<img src="https://mintcdn.com/devrel/9PuWEwunOBJ8KxNm/images/vector_store_1.png?fit=max&auto=format&n=9PuWEwunOBJ8KxNm&q=85&s=4040c956707cb3b5df80e60519f0ece9" alt="Vector Store 1 Pn" width="557" height="793" data-path="images/vector_store_1.png" />

The user's chat input is embedded and compared to the vectors embedded during document ingestion for a similarity search. The results are output from the vector database component as a [Data](/Concepts/LLMCobjects) object and parsed into text. This text fills the `{context}` variable in the **Prompt** component, which informs the **Open AI model** component's responses.

Alternatively, connect the vector database component's **Retriever** port to a [retriever tool](https://docs.llmcontrols.ai/Components/Tools#retriever-tool), and then to an [agent](/Components/Agents) component. This enables the agent to use your vector database as a tool and make decisions based on the available data.

<img src="https://mintcdn.com/devrel/9PuWEwunOBJ8KxNm/images/vector_store_2.png?fit=max&auto=format&n=9PuWEwunOBJ8KxNm&q=85&s=91e8ac4836664fac166349cb56a36e57" alt="Vector Store 2 Pn" width="943" height="615" data-path="images/vector_store_2.png" />

## LLMC Vector DB

**LLMC Vector DB** helps you store and search through your personal documents in a way that feels fast, secure, and tailored just for you. Whether you're uploading files, adding notes, or saving content from the web, everything is stored in a way that makes it easy to find later , without digging through folders.

### **Key Benefits**

**Private and Secure**\
Your content is always separated from others. Everything you add is linked to your account only, ensuring complete privacy.

**Organized Just for You**\
You’ll only see your own collections. No clutter. No mix-ups. It automatically shows the content that belongs to you neatly filtered and personalized.

**Flexible Setup** \
While you focus on your content, LLM Controls is smartly configured to perform at its best, adapting to different needs and environments. Developers can still fine-tune things like speed, search preferences, and more if needed.

**Seamless Content Capture**\
Just upload a document or paste a link, and LLM Controls takes care of the rest. It understands and organizes the content instantly, so you can find what you need later in just a few words.

<img src="https://mintcdn.com/devrel/9PuWEwunOBJ8KxNm/images/llmc_vector_db.png?fit=max&auto=format&n=9PuWEwunOBJ8KxNm&q=85&s=5971cf67911690f153f69a9fb27c443d" alt="Llmc Vector Db Pn" width="453" height="585" data-path="images/llmc_vector_db.png" />

## **Astra DB Vector Store**

This component implements a Vector Store using Astra DB with search capabilities.

For more information, see the [DataStax documentation](https://docs.datastax.com/en/astra-db-serverless/databases/create-database.html).

<Accordion title="Parameters">
  **Inputs**

  | **Name**                     | **Display Name**                   | **Info**                                                                                                                                                    |
  | :--------------------------- | :--------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | token                        | Astra DB Application Token         | The authentication token for accessing Astra DB.                                                                                                            |
  | environment                  | Environment                        | The environment for the Astra DB API Endpoint. For example, `dev` or `prod`.                                                                                |
  | database\_name               | Database                           | The database name for the Astra DB instance.                                                                                                                |
  | api\_endpoint                | Astra DB API Endpoint              | The API endpoint for the Astra DB instance. This supersedes the database selection.                                                                         |
  | collection\_name             | Collection                         | The name of the collection within Astra DB where the vectors are stored.                                                                                    |
  | keyspace                     | Keyspace                           | An optional keyspace within Astra DB to use for the collection.                                                                                             |
  | embedding\_choice            | Embedding Model or Astra Vectorize | Choose an embedding model or use Astra vectorize.                                                                                                           |
  | embedding\_model             | Embedding Model                    | Specify the embedding model. Not required for Astra vectorize collections.                                                                                  |
  | number\_of\_results          | Number of Search Results           | The number of search results to return. Default:`4`.                                                                                                        |
  | search\_type                 | Search Type                        | The search type to use. The options are `Similarity`, `Similarity with score threshold`, and `MMR (Max Marginal Relevance)`.                                |
  | search\_score\_threshold     | Search Score Threshold             | The minimum similarity score threshold for search results when using the `Similarity with score threshold` option.                                          |
  | advanced\_search\_filter     | Search Metadata Filter             | An optional dictionary of filters to apply to the search query.                                                                                             |
  | autodetect\_collection       | Autodetect Collection              | A boolean flag to determine whether to autodetect the collection.                                                                                           |
  | content\_field               | Content Field                      | A field to use as the text content field for the vector store.                                                                                              |
  | deletion\_field              | Deletion Based On Field            | When provided, documents in the target collection with metadata field values matching the input metadata field value are deleted before new data is loaded. |
  | ignore\_invalid\_documents   | Ignore Invalid Documents           | A boolean flag to determine whether to ignore invalid documents at runtime.                                                                                 |
  | astradb\_vectorstore\_kwargs | AstraDBVectorStore Parameters      | An optional dictionary of additional parameters for the AstraDBVectorStore.                                                                                 |

  **Outputs**

  | **Name**        | **Display Name** | **Info**                                                                     |
  | :-------------- | :--------------- | :--------------------------------------------------------------------------- |
  | vector\_store   | Vector Store     | The Astra DB vector store instance configured with the specified parameters. |
  | search\_results | Search Results   | The results of the similarity search as a list of <u>Data</u> objects.       |
</Accordion>

### **Generate embeddings**

The **Astra DB Vector Store** component offers two methods for generating embeddings.

1. **Embedding Model**: Use your own embedding model by connecting an [Embeddings](/Components/Embeddings) component in LLM Controls.
2. **Astra Vectorize**: Use Astra DB's built-in embedding generation service. When creating a new collection, choose the embeddings provider and models, including NVIDIA's `NV-Embed-QA` model hosted by Datastax.

<Note>
  **important**

  The embedding model selection is made when creating a new collection and cannot be changed later.
</Note>

For an example of using the **Astra DB Vector Store** component with an embedding model, see the [Vector Store RAG starter project](/Components/Vectorstores).

For more information, see the [Astra DB Serverless documentation](https://docs.datastax.com/en/astra-db-serverless/databases/embedding-generation.html).

## **AstraDB Graph vector store**

This component implements a Vector Store using AstraDB with graph capabilities. For more information, see the [Astra DB Serverless documentation](https://docs.datastax.com/en/astra-db-serverless/tutorials/graph-rag.html).

<Accordion title="Parameters">
  **Inputs**

  | **Name**                 | **Display Name**           | **Info**                                                                                       |
  | :----------------------- | :------------------------- | :--------------------------------------------------------------------------------------------- |
  | collection\_name         | Collection Name            | The name of the collection within AstraDB where the vectors are stored. Required.              |
  | token                    | Astra DB Application Token | Authentication token for accessing AstraDB. Required.                                          |
  | api\_endpoint            | API Endpoint               | API endpoint URL for the AstraDB service. Required.                                            |
  | search\_input            | Search Input               | Query string for similarity search.                                                            |
  | ingest\_data             | Ingest Data                | Data to be ingested into the vector store.                                                     |
  | namespace                | Namespace                  | Optional namespace within AstraDB to use for the collection.                                   |
  | embedding                | Embedding Model            | Embedding model to use.                                                                        |
  | metric                   | Metric                     | Distance metric for vector comparisons. The options are "cosine", "euclidean", "dot\_product". |
  | setup\_mode              | Setup Mode                 | Configuration mode for setting up the vector store. The options are "Sync", "Async", "Off".    |
  | pre\_delete\_collection  | Pre Delete Collection      | Boolean flag to determine whether to delete the collection before creating a new one.          |
  | number\_of\_results      | Number of Results          | Number of results to return in similarity search. Default: 4.                                  |
  | search\_type             | Search Type                | Search type to use. The options are "Similarity", "Graph Traversal", "Hybrid".                 |
  | traversal\_depth         | Traversal Depth            | Maximum depth for graph traversal searches. Default: 1.                                        |
  | search\_score\_threshold | Search Score Threshold     | Minimum similarity score threshold for search results.                                         |
  | search\_filter           | Search Metadata Filter     | Optional dictionary of filters to apply to the search query.                                   |

  **Outputs**

  | **Name**        | **Display Name** | **Info**                                                                      |
  | :-------------- | :--------------- | :---------------------------------------------------------------------------- |
  | vector\_store   | Vector Store     | The Graph RAG vector store instance configured with the specified parameters. |
  | search\_results | Search Results   | The results of the similarity search as a list of <u>Data</u> objects.        |
</Accordion>

## **Cassandra**

This component creates a Cassandra Vector Store with search capabilities. For more information, see the [Cassandra documentation](https://cassandra.apache.org/doc/latest/cassandra/vector-search/overview.html).

<Accordion title="Parameters">
  **Inputs**

  | **Name**                 | **Type**     | **Description**                                         |
  | :----------------------- | :----------- | :------------------------------------------------------ |
  | database\_ref            | String       | Contact points for the database or AstraDB database ID. |
  | username                 | String       | Username for the database (leave empty for AstraDB).    |
  | token                    | SecretString | User password for the database or AstraDB token.        |
  | keyspace                 | String       | Table Keyspace or AstraDB namespace.                    |
  | table\_name              | String       | Name of the table or AstraDB collection.                |
  | ttl\_seconds             | Integer      | Time-to-live for added texts.                           |
  | batch\_size              | Integer      | Number of data to process in a single batch.            |
  | setup\_mode              | String       | Configuration mode for setting up the Cassandra table.  |
  | cluster\_kwargs          | Dict         | Additional keyword arguments for the Cassandra cluster. |
  | search\_query            | String       | Query for similarity search.                            |
  | ingest\_data             | Data         | Data to be ingested into the vector store.              |
  | embedding                | Embeddings   | Embedding function to use.                              |
  | number\_of\_results      | Integer      | Number of results to return in search.                  |
  | search\_type             | String       | Type of search to perform.                              |
  | search\_score\_threshold | Float        | Minimum similarity score for search results.            |
  | search\_filter           | Dict         | Metadata filters for search query.                      |
  | body\_search             | String       | Document textual search terms.                          |
  | enable\_body\_search     | Boolean      | Flag to enable body search.                             |

  **Outputs**

  | **Name**        | **Type**    | **Description**                                                               |
  | :-------------- | :---------- | :---------------------------------------------------------------------------- |
  | vector\_store   | Cassandra   | The Cassandra vector store instance configured with the specified parameters. |
  | search\_results | List\[Data] | The results of the similarity search as a list of `Data` objects.             |
</Accordion>

## **Cassandra Graph Vector Store**

This component implements a Cassandra Graph Vector Store with search capabilities.

<Accordion title="Parameters">
  **Inputs**

  | **Name**                 | **Display Name**                   | **Info**                                                                                                                                                                        |
  | :----------------------- | :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
  | database\_ref            | Contact Points / Astra Database ID | The contact points for the database or AstraDB database ID. Required.                                                                                                           |
  | username                 | Username                           | The username for the database. Leave this field empty for AstraDB.                                                                                                              |
  | token                    | Password / AstraDB Token           | The user password for the database or AstraDB token. Required.                                                                                                                  |
  | keyspace                 | Keyspace                           | The table Keyspace or AstraDB namespace. Required.                                                                                                                              |
  | table\_name              | Table Name                         | The name of the table or AstraDB collection where vectors are stored. Required.                                                                                                 |
  | setup\_mode              | Setup Mode                         | The configuration mode for setting up the Cassandra table. The options are "Sync" or "Off". Default: "Sync".                                                                    |
  | cluster\_kwargs          | Cluster arguments                  | An optional dictionary of additional keyword arguments for the Cassandra cluster.                                                                                               |
  | search\_query            | Search Query                       | The query string for similarity search.                                                                                                                                         |
  | ingest\_data             | Ingest Data                        | The list of data to be ingested into the vector store.                                                                                                                          |
  | embedding                | Embedding                          | The embedding model to use.                                                                                                                                                     |
  | number\_of\_results      | Number of Results                  | The number of results to return in similarity search. Default: 4.                                                                                                               |
  | search\_type             | Search Type                        | The search type to use. The options are "Traversal", "MMR traversal", "Similarity", "Similarity with score threshold", or "MMR (Max Marginal Relevance)". Default: "Traversal". |
  | depth                    | Depth of traversal                 | The maximum depth of edges to traverse. Used for "Traversal" or "MMR traversal" search types. Default: 1.                                                                       |
  | search\_score\_threshold | Search Score Threshold             | The minimum similarity score threshold for search results. Used for "Similarity with score threshold" search types.                                                             |
  | search\_filter           | Search Metadata Filter             | An optional dictionary of filters to apply to the search query.                                                                                                                 |

  **Outputs**

  | **Name**        | **Display Name** | **Info**                                                                            |
  | :-------------- | :--------------- | :---------------------------------------------------------------------------------- |
  | vector\_store   | Vector Store     | The Cassandra Graph vector store instance configured with the specified parameters. |
  | search\_results | Search Results   | The results of the similarity search as a list of <u>Data</u> objects.              |
</Accordion>

## **Chroma DB**

This component creates a Chroma Vector Store with search capabilities.

The Chroma DB component creates an ephemeral vector database for experimentation and vector storage.

1. To use this component in a flow, connect it to a component that outputs **Data** or **DataFrame**. This example splits text from a [URL](https://docs.llmcontrols.ai/Components/Data#url) component, and computes embeddings with the connected **OpenAI Embeddings** component. Chroma DB computes embeddings by default, but you can connect your own embeddings model, as seen in this example.

   <img src="https://mintcdn.com/devrel/Y1JFIkIp5TE6oita/images/chroma_db.png?fit=max&auto=format&n=Y1JFIkIp5TE6oita&q=85&s=3e9479238145853692893ab026b09546" alt="Chroma Db Pn" width="495" height="806" data-path="images/chroma_db.png" />
2. In the **Chroma DB** component, in the **Collection** field, enter a name for your embeddings collection.
3. Optionally, to persist the Chroma database, in the **Persist** field, enter a directory to store the `chroma.sqlite3` file. This example uses `./chroma-db` to create a directory relative to where LLM Controls is running.
4. To load data and embeddings into your Chroma database, in the **Chroma DB** component, click **Run component**.

<Tip>
  **tip**

  When loading duplicate documents, enable the **Allow Duplicates** option in Chroma DB if you want to store multiple copies of the same content, or disable it to automatically deduplicate your data.
</Tip>

5. To view the split data, in the **Split Text** component, click **Inspect output**.
6. To query your loaded data, open the **Playground** and query your database. Your input is converted to vector data and compared to the stored vectors in a vector similarity search.

For more information, see the [Chroma documentation](https://docs.trychroma.com/).

<Accordion title="Parameters">
  **Inputs**

  | **Name**                             | **Type**   | **Description**                                                                   |
  | :----------------------------------- | :--------- | :-------------------------------------------------------------------------------- |
  | collection\_name                     | String     | The name of the Chroma collection. Default: "LLM Controls".                       |
  | persist\_directory                   | String     | The directory to persist the Chroma database.                                     |
  | search\_query                        | String     | The query to search for in the vector store.                                      |
  | ingest\_data                         | Data       | The data to ingest into the vector store (list of `Data` objects).                |
  | embedding                            | Embeddings | The embedding function to use for the vector store.                               |
  | chroma\_server\_cors\_allow\_origins | String     | The CORS allow origins for the Chroma server.                                     |
  | chroma\_server\_host                 | String     | The host for the Chroma server.                                                   |
  | chroma\_server\_http\_port           | Integer    | The HTTP port for the Chroma server.                                              |
  | chroma\_server\_grpc\_port           | Integer    | The gRPC port for the Chroma server.                                              |
  | chroma\_server\_ssl\_enabled         | Boolean    | Enable SSL for the Chroma server.                                                 |
  | allow\_duplicates                    | Boolean    | Allow duplicate documents in the vector store.                                    |
  | search\_type                         | String     | The type of search to perform: "Similarity" or "MMR".                             |
  | number\_of\_results                  | Integer    | The number of results to return from the search. Default: `10`.                   |
  | limit                                | Integer    | The limit of the number of records to compare when `Allow Duplicates` is `False`. |

  **Outputs**

  | **Name**        | **Type**    | **Description**                                                        |
  | :-------------- | :---------- | :--------------------------------------------------------------------- |
  | vector\_store   | Chroma      | The Chroma vector store instance.                                      |
  | search\_results | List\[Data] | The results of the similarity search as a list of <u>Data</u> objects. |
</Accordion>

## **Clickhouse**

This component implements a Clickhouse Vector Store with search capabilities. For more information, see the [Clickhouse Documentation](https://clickhouse.com/docs/en/intro).

<Accordion title="Parameters">
  **Inputs**

  | **Name**             | **Display Name**           | **Info**                                                                                                               |
  | :------------------- | :------------------------- | :--------------------------------------------------------------------------------------------------------------------- |
  | host                 | hostname                   | The Clickhouse server hostname. Required. Default: "localhost"                                                         |
  | port                 | port                       | The Clickhouse server port. Required. Default: 8123.                                                                   |
  | database             | database                   | The Clickhouse database name. Required.                                                                                |
  | table                | Table name                 | The Clickhouse table name. Required.                                                                                   |
  | username             | The ClickHouse user name.  | Username for authentication. Required.                                                                                 |
  | password             | The password for username. | Password for authentication. Required.                                                                                 |
  | index\_type          | index\_type                | Type of the index. The options are "annoy" and "vector\_similarity". Default: "annoy".                                 |
  | metric               | metric                     | Metric to compute distance. The options are "angular", "euclidean", "manhattan", "hamming", "dot". Default: "angular". |
  | secure               | Use https/TLS              | Overrides inferred values from the interface or port arguments. Default: false.                                        |
  | index\_param         | Param of the index         | Index parameters. Default: "'L2Distance',100".                                                                         |
  | index\_query\_params | index query params         | Additional index query parameters.                                                                                     |
  | search\_query        | Search Query               | The query string for similarity search.                                                                                |
  | ingest\_data         | Ingest Data                | The data to be ingested into the vector store.                                                                         |
  | embedding            | Embedding                  | The embedding model to use.                                                                                            |
  | number\_of\_results  | Number of Results          | The number of results to return in similarity search. Default: 4.                                                      |
  | score\_threshold     | Score threshold            | The threshold for similarity scores.                                                                                   |

  **Outputs**

  | **Name**        | **Display Name** | **Info**                                                        |
  | :-------------- | :--------------- | :-------------------------------------------------------------- |
  | vector\_store   | Vector Store     | The Clickhouse vector store.                                    |
  | search\_results | Search Results   | The results of the similarity search as a list of Data objects. |
</Accordion>

## **Couchbase**

This component creates a Couchbase Vector Store with search capabilities. For more information, see the [Couchbase documentation](https://docs.couchbase.com/home/index.html).

<Accordion title="Parameters">
  **Inputs**

  | **Name**                      | **Type**     | **Description**                                          |
  | :---------------------------- | :----------- | :------------------------------------------------------- |
  | couchbase\_connection\_string | SecretString | Couchbase Cluster connection string. Required.           |
  | couchbase\_username           | String       | Couchbase username. Required.                            |
  | couchbase\_password           | SecretString | Couchbase password. Required.                            |
  | bucket\_name                  | String       | Name of the Couchbase bucket. Required.                  |
  | scope\_name                   | String       | Name of the Couchbase scope. Required.                   |
  | collection\_name              | String       | Name of the Couchbase collection. Required.              |
  | index\_name                   | String       | Name of the Couchbase index. Required.                   |
  | search\_query                 | String       | The query to search for in the vector store.             |
  | ingest\_data                  | Data         | The list of data to ingest into the vector store.        |
  | embedding                     | Embeddings   | The embedding function to use for the vector store.      |
  | number\_of\_results           | Integer      | Number of results to return from the search. Default: 4. |

  **Outputs**

  | **Name**      | **Type**             | **Description**                                                             |
  | :------------ | :------------------- | :-------------------------------------------------------------------------- |
  | vector\_store | CouchbaseVectorStore | A Couchbase vector store instance configured with the specified parameters. |
</Accordion>

## **Local DB**

The **Local DB** component is LLM Controls' enhanced version of Chroma DB.

The component adds a user-friendly interface with two modes (Ingest and Retrieve), automatic collection management, and built-in persistence in Lang's cache directory.

Local DB includes **Ingest** and **Retrieve** modes.

The **Ingest** mode works similarly to [ChromaDB](https://docs.llmcontrols.ai/Components/Vectorstores#chroma-db), and persists your database to the LLM Controls cache directory. The LLM Controls cache directory location is specified in `LLMC_CONFIG_DIR`. For more information.

The **Retrieve** mode can query your **Chroma DB** collections.

<img src="https://mintcdn.com/devrel/cdevd-bQMnvRiYfJ/images/vector_store_5.png?fit=max&auto=format&n=cdevd-bQMnvRiYfJ&q=85&s=9325b9d68a6039924ebefe00479ae082" alt="Vector Store 5 Pn" width="1088" height="548" data-path="images/vector_store_5.png" />

For more information, see the [Chroma documentation](https://docs.trychroma.com/).

<Accordion title="Parameters">
  **Inputs**

  | **Name**              | **Type**       | **Description**                                                                                                                                                                 |
  | :-------------------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
  | collection\_name      | String         | The name of the Chroma collection. Default: "LLMC".                                                                                                                             |
  | persist\_directory    | String         | Custom base directory to save the vector store. Collections are stored under `$DIRECTORY/vector_stores/$COLLECTION_NAME`. If not specified, it uses your system's cache folder. |
  | existing\_collections | String         | Select a previously created collection to search through its stored data.                                                                                                       |
  | embedding             | Embeddings     | The embedding function to use for the vector store.                                                                                                                             |
  | allow\_duplicates     | Boolean        | If false, will not add documents that are already in the Vector Store.                                                                                                          |
  | search\_type          | String         | Type of search to perform: "Similarity" or "MMR".                                                                                                                               |
  | ingest\_data          | Data/DataFrame | Data to store. It is embedded and indexed for semantic search.                                                                                                                  |
  | search\_query         | String         | Enter text to search for similar content in the selected collection.                                                                                                            |
  | number\_of\_results   | Integer        | Number of results to return. Default: 10.                                                                                                                                       |
  | limit                 | Integer        | Limit the number of records to compare when Allow Duplicates is False.                                                                                                          |

  **Outputs**

  | **Name**        | **Type**                                                                  | **Description**                                                                |
  | :-------------- | :------------------------------------------------------------------------ | :----------------------------------------------------------------------------- |
  | vector\_store   | Chroma                                                                    | A local Chroma vector store instance configured with the specified parameters. |
  | search\_results | List[<u>Data</u>](https://docs.langflow.org/concepts-objects#data-object) | The results of the similarity search as a list of <u>Data</u> objects.         |
</Accordion>

## **Elasticsearch**

This component creates an Elasticsearch Vector Store with search capabilities. For more information, see the [Elasticsearch documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/dense-vector.html).

<Accordion title="Parameters">
  **Inputs**

  | **Name**            | **Type**     | **Description**                                                                                        |
  | :------------------ | :----------- | :----------------------------------------------------------------------------------------------------- |
  | es\_url             | String       | Elasticsearch server URL.                                                                              |
  | es\_user            | String       | Username for Elasticsearch authentication.                                                             |
  | es\_password        | SecretString | Password for Elasticsearch authentication.                                                             |
  | index\_name         | String       | Name of the Elasticsearch index.                                                                       |
  | strategy            | String       | Strategy for vector search. The options are "approximate\_k\_nearest\_neighbors" or "script\_scoring". |
  | distance\_strategy  | String       | Strategy for distance calculation. The options are "COSINE", "EUCLIDEAN\_DISTANCE", or "DOT\_PRODUCT". |
  | search\_query       | String       | Query for similarity search.                                                                           |
  | ingest\_data        | Data         | Data to be ingested into the vector store.                                                             |
  | embedding           | Embeddings   | Embedding function to use.                                                                             |
  | number\_of\_results | Integer      | Number of results to return in search. Default: `4`.                                                   |

  **Outputs**

  | **Name**        | **Type**           | **Description**                                                        |
  | :-------------- | :----------------- | :--------------------------------------------------------------------- |
  | vector\_store   | ElasticsearchStore | The Elasticsearch vector store instance.                               |
  | search\_results | List\[Data]        | The results of the similarity search as a list of <u>Data</u> objects. |
</Accordion>

## **FAISS**

This component creates a FAISS Vector Store with search capabilities. For more information, see the [FAISS documentation](https://faiss.ai/index.html).

<Accordion title="Parameters">
  **Inputs**

  | **Name**                          | **Type**   | **Description**                                                                  |
  | :-------------------------------- | :--------- | :------------------------------------------------------------------------------- |
  | index\_name                       | String     | The name of the FAISS index. Default: "llmc\_index".                             |
  | persist\_directory                | String     | Path to save the FAISS index. It is relative to where LLM Controls is running.   |
  | search\_query                     | String     | The query to search for in the vector store.                                     |
  | ingest\_data                      | Data       | The list of data to ingest into the vector store.                                |
  | allow\_dangerous\_deserialization | Boolean    | Set to True to allow loading pickle files from untrusted sources. Default: True. |
  | embedding                         | Embeddings | The embedding function to use for the vector store.                              |
  | number\_of\_results               | Integer    | Number of results to return from the search. Default: 4.                         |

  **Outputs**

  | **Name**        | **Display Name** | **Info**                                                                  |
  | :-------------- | :--------------- | :------------------------------------------------------------------------ |
  | vector\_store   | Vector Store     | The FAISS vector store instance configured with the specified parameters. |
  | search\_results | Search Results   | The results of the similarity search as a list of <u>Data</u> objects.    |
</Accordion>

## **Graph RAG**

This component performs Graph RAG (Retrieval Augmented Generation) traversal in a vector store, enabling graph-based document retrieval. For more information, see the [Graph RAG documentation](https://datastax.github.io/graph-rag/).

For an example flow, see the **Graph RAG** template.

<Accordion title="Parameters">
  **Inputs**

  | **Name**                   | **Display Name**        | **Info**                                                                                                                                                                                                            |
  | :------------------------- | :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
  | embedding\_model           | Embedding Model         | Specify the embedding model. This is not required for collections embedded with [<u>Astra vectorize</u>](https://docs.datastax.com/en/astra-db-serverless/databases/embedding-generation.html).                     |
  | vector\_store              | Vector Store Connection | Connection to the vector store.                                                                                                                                                                                     |
  | edge\_definition           | Edge Definition         | Edge definition for the graph traversal. For more information, see the [<u>GraphRAG documentation</u>](https://datastax.github.io/graph-rag/reference/graph_retriever/edges/).                                      |
  | strategy                   | Traversal Strategies    | The strategy to use for graph traversal. Strategy options are dynamically loaded from available strategies.                                                                                                         |
  | search\_query              | Search Query            | The query to search for in the vector store.                                                                                                                                                                        |
  | graphrag\_strategy\_kwargs | Strategy Parameters     | Optional dictionary of additional parameters for the retrieval strategy. For more information, see the [<u>strategy documentation</u>](https://datastax.github.io/graph-rag/reference/graph_retriever/strategies/). |

  **Outputs**

  | **Name**        | **Type**    | **Description**                                                                 |
  | :-------------- | :---------- | :------------------------------------------------------------------------------ |
  | search\_results | List\[Data] | Results of the graph-based document retrieval as a list of <u>Data</u> objects. |
</Accordion>

## **Hyper-Converged Database (HCD)**

This component implements a Vector Store using HCD.

To use the HCD vector store, add your deployment's collection name, username, password, and HCD Data API endpoint. The endpoint must be formatted like `http[s]://DOMAIN_NAME or IP_ADDRESS[:port]`, for example, `http://192.0.2.250:8181`.

Replace **DOMAIN\_NAME** or **IP\_ADDRESS** with the domain name or IP address of your HCD Data API connection.

To use the HCD vector store for embeddings ingestion, connect it to an embeddings model and a file loader:

<img src="https://mintcdn.com/devrel/cdevd-bQMnvRiYfJ/images/vector_store_6.png?fit=max&auto=format&n=cdevd-bQMnvRiYfJ&q=85&s=6e75023771d8400dcda0584eb37b4120" alt="Vector Store 6 Pn" width="977" height="779" data-path="images/vector_store_6.png" />

<Accordion title="Parameters">
  **Inputs**

  | **Name**                             | **Display Name**                  | **Info**                                                                                                                                  |
  | :----------------------------------- | :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |
  | collection\_name                     | Collection Name                   | The name of the collection within HCD where the vectors will be stored. Required.                                                         |
  | username                             | HCD Username                      | Authentication username for accessing HCD. Default is "hcd-superuser". Required.                                                          |
  | password                             | HCD Password                      | Authentication password for accessing HCD. Required.                                                                                      |
  | api\_endpoint                        | HCD API Endpoint                  | API endpoint URL for the HCD service. Required.                                                                                           |
  | search\_input                        | Search Input                      | Query string for similarity search.                                                                                                       |
  | ingest\_data                         | Ingest Data                       | Data to be ingested into the vector store.                                                                                                |
  | namespace                            | Namespace                         | Optional namespace within HCD to use for the collection. Default is "default\_namespace".                                                 |
  | ca\_certificate                      | CA Certificate                    | Optional CA certificate for TLS connections to HCD.                                                                                       |
  | metric                               | Metric                            | Optional distance metric for vector comparisons. Options are "cosine", "dot\_product", "euclidean".                                       |
  | batch\_size                          | Batch Size                        | Optional number of data to process in a single batch.                                                                                     |
  | bulk\_insert\_batch\_concurrency     | Bulk Insert Batch Concurrency     | Optional concurrency level for bulk insert operations.                                                                                    |
  | bulk\_insert\_overwrite\_concurrency | Bulk Insert Overwrite Concurrency | Optional concurrency level for bulk insert operations that overwrite existing data.                                                       |
  | bulk\_delete\_concurrency            | Bulk Delete Concurrency           | Optional concurrency level for bulk delete operations.                                                                                    |
  | setup\_mode                          | Setup Mode                        | Configuration mode for setting up the vector store. Options are "Sync", "Async", "Off". Default is "Sync".                                |
  | pre\_delete\_collection              | Pre Delete Collection             | Boolean flag to determine whether to delete the collection before creating a new one.                                                     |
  | metadata\_indexing\_include          | Metadata Indexing Include         | Optional list of metadata fields to include in the indexing.                                                                              |
  | embedding                            | Embedding or Astra Vectorize      | Allows either an embedding model or an Astra Vectorize configuration.                                                                     |
  | metadata\_indexing\_exclude          | Metadata Indexing Exclude         | Optional list of metadata fields to exclude from the indexing.                                                                            |
  | collection\_indexing\_policy         | Collection Indexing Policy        | Optional dictionary defining the indexing policy for the collection.                                                                      |
  | number\_of\_results                  | Number of Results                 | Number of results to return in similarity search. Default is 4.                                                                           |
  | search\_type                         | Search Type                       | Search type to use. Options are "Similarity", "Similarity with score threshold", "MMR (Max Marginal Relevance)". Default is "Similarity". |
  | search\_score\_threshold             | Search Score Threshold            | Minimum similarity score threshold for search results. Default is 0.                                                                      |
  | search\_filter                       | Search Metadata Filter            | Optional dictionary of filters to apply to the search query.                                                                              |

  **Outputs**

  | **Name**        | **Type**                          | **Description**                                                        |
  | :-------------- | :-------------------------------- | :--------------------------------------------------------------------- |
  | vector\_store   | HyperConvergedDatabaseVectorStore | The HCD vector store instance.                                         |
  | search\_results | List\[Data]                       | The results of the similarity search as a list of <u>Data</u> objects. |
</Accordion>

## **Milvus**

This component creates a Milvus Vector Store with search capabilities. For more information, see the [Milvus documentation](https://milvus.io/docs).

<Accordion title="Parameters">
  **Inputs**

  | **Name**                 | **Type**     | **Description**                                             |
  | :----------------------- | :----------- | :---------------------------------------------------------- |
  | collection\_name         | String       | Name of the Milvus collection.                              |
  | collection\_description  | String       | Description of the Milvus collection.                       |
  | uri                      | String       | Connection URI for Milvus.                                  |
  | password                 | SecretString | Password for Milvus.                                        |
  | username                 | SecretString | Username for Milvus.                                        |
  | batch\_size              | Integer      | Number of data to process in a single batch.                |
  | search\_query            | String       | Query for similarity search.                                |
  | ingest\_data             | Data         | Data to be ingested into the vector store.                  |
  | embedding                | Embeddings   | Embedding function to use.                                  |
  | number\_of\_results      | Integer      | Number of results to return in search.                      |
  | search\_type             | String       | Type of search to perform.                                  |
  | search\_score\_threshold | Float        | Minimum similarity score for search results.                |
  | search\_filter           | Dict         | Metadata filters for search query.                          |
  | setup\_mode              | String       | Configuration mode for setting up the vector store.         |
  | vector\_dimensions       | Integer      | Number of dimensions of the vectors.                        |
  | pre\_delete\_collection  | Boolean      | Whether to delete the collection before creating a new one. |

  **Outputs**

  | **Name**      | **Type** | **Description**                                                          |
  | :------------ | :------- | :----------------------------------------------------------------------- |
  | vector\_store | Milvus   | A Milvus vector store instance configured with the specified parameters. |
</Accordion>

## **MongoDB Atlas**

This component creates a MongoDB Atlas Vector Store with search capabilities. For more information, see the [MongoDB Atlas documentation](https://www.mongodb.com/docs/atlas/atlas-vector-search/tutorials/vector-search-quick-start/).

<Accordion title="Parameters">
  **Inputs**

  | **Name**                     | **Type**     | **Description**                                                                                                                   |
  | :--------------------------- | :----------- | :-------------------------------------------------------------------------------------------------------------------------------- |
  | mongodb\_atlas\_cluster\_uri | SecretString | The connection URI for your MongoDB Atlas cluster. Required.                                                                      |
  | enable\_mtls                 | Boolean      | Enable mutual TLS authentication. Default: false.                                                                                 |
  | mongodb\_atlas\_client\_cert | SecretString | Client certificate combined with private key for mTLS authentication. Required if mTLS is enabled.                                |
  | db\_name                     | String       | The name of the database to use. Required.                                                                                        |
  | collection\_name             | String       | The name of the collection to use. Required.                                                                                      |
  | index\_name                  | String       | The name of the Atlas Search index, it should be a Vector Search. Required.                                                       |
  | insert\_mode                 | String       | How to insert new documents into the collection. The options are "append" or "overwrite". Default: "append".                      |
  | embedding                    | Embeddings   | The embedding model to use.                                                                                                       |
  | number\_of\_results          | Integer      | Number of results to return in similarity search. Default: 4.                                                                     |
  | index\_field                 | String       | The field to index. Default: "embedding".                                                                                         |
  | filter\_field                | String       | The field to filter the index.                                                                                                    |
  | number\_dimensions           | Integer      | Embedding context length. Default: 1536.                                                                                          |
  | similarity                   | String       | The method used to measure similarity between vectors. The options are "cosine", "euclidean", or "dotProduct". Default: "cosine". |
  | quantization                 | String       | Quantization reduces memory costs by converting 32-bit floats to smaller data types. The options are "scalar" or "binary".        |

  **Outputs**

  | **Name**        | **Type**                 | **Description**                                                        |
  | :-------------- | :----------------------- | :--------------------------------------------------------------------- |
  | vector\_store   | MongoDBAtlasVectorSearch | The MongoDB Atlas vector store instance.                               |
  | search\_results | List\[Data]              | The results of the similarity search as a list of <u>Data</u> objects. |
</Accordion>

## **Opensearch**

This component creates an Opensearch vector store with search capabilities For more information, see [Opensearch documentation](https://opensearch.org/platform/search/vector-database.html).

<Accordion title="Parameters">
  **Inputs**

  | **Name**                 | **Type**     | **Description**                                                                                                         |
  | :----------------------- | :----------- | :---------------------------------------------------------------------------------------------------------------------- |
  | opensearch\_url          | String       | URL for OpenSearch cluster, such as `https://192.168.1.1:9200`.                                                         |
  | index\_name              | String       | The index name where the vectors are stored in OpenSearch cluster.                                                      |
  | search\_input            | String       | Enter a search query. Leave empty to retrieve all documents or if hybrid search is being used.                          |
  | ingest\_data             | Data         | The data to be ingested into the vector store.                                                                          |
  | embedding                | Embeddings   | The embedding function to use.                                                                                          |
  | search\_type             | String       | The options are "similarity", "similarity\_score\_threshold", "mmr".                                                    |
  | number\_of\_results      | Integer      | The number of results to return in search.                                                                              |
  | search\_score\_threshold | Float        | The minimum similarity score threshold for search results.                                                              |
  | username                 | String       | The username for the opensource cluster.                                                                                |
  | password                 | SecretString | The password for the opensource cluster.                                                                                |
  | use\_ssl                 | Boolean      | Use SSL.                                                                                                                |
  | verify\_certs            | Boolean      | Verify certificates.                                                                                                    |
  | hybrid\_search\_query    | String       | Provide a custom hybrid search query in JSON format. This allows you to combine vector similarity and keyword matching. |

  **Outputs**

  | **Name**        | **Type**               | **Description**                                                        |
  | :-------------- | :--------------------- | :--------------------------------------------------------------------- |
  | vector\_store   | OpenSearchVectorSearch | OpenSearch vector store instance                                       |
  | search\_results | List\[Data]            | The results of the similarity search as a list of <u>Data</u> objects. |
</Accordion>

## **PGVector**

This component creates a PGVector Vector Store with search capabilities. For more information, see the [PGVector documentation](https://github.com/pgvector/pgvector).

<Accordion title="Parameters">
  **Inputs**

  | **Name**            | **Type**     | **Description**                                |
  | :------------------ | :----------- | :--------------------------------------------- |
  | pg\_server\_url     | SecretString | The PostgreSQL server connection string.       |
  | collection\_name    | String       | The table name for the vector store.           |
  | search\_query       | String       | The query for similarity search.               |
  | ingest\_data        | Data         | The data to be ingested into the vector store. |
  | embedding           | Embeddings   | The embedding function to use.                 |
  | number\_of\_results | Integer      | The number of results to return in search.     |

  **Outputs**

  | **Name**        | **Display Name** | **Info**                                                                     |
  | :-------------- | :--------------- | :--------------------------------------------------------------------------- |
  | vector\_store   | Vector Store     | The PGVector vector store instance configured with the specified parameters. |
  | search\_results | Search Results   | The results of the similarity search as a list of <u>Data</u> objects.       |
</Accordion>

## **Pinecone**

This component creates a Pinecone Vector Store with search capabilities. For more information, see the [Pinecone documentation](https://docs.pinecone.io/home).

<Accordion title="Parameters">
  **Inputs**

  | **Name**            | **Type**     | **Description**                                        |
  | :------------------ | :----------- | :----------------------------------------------------- |
  | index\_name         | String       | The name of the Pinecone index.                        |
  | namespace           | String       | The namespace for the index.                           |
  | distance\_strategy  | String       | The strategy for calculating distance between vectors. |
  | pinecone\_api\_key  | SecretString | The API key for Pinecone.                              |
  | text\_key           | String       | The key in the record to use as text.                  |
  | search\_query       | String       | The query for similarity search.                       |
  | ingest\_data        | Data         | The data to be ingested into the vector store.         |
  | embedding           | Embeddings   | The embedding function to use.                         |
  | number\_of\_results | Integer      | The number of results to return in search.             |

  **Outputs**

  | **Name**        | **Display Name** | **Info**                                                                     |
  | :-------------- | :--------------- | :--------------------------------------------------------------------------- |
  | vector\_store   | Vector Store     | The Pinecone vector store instance configured with the specified parameters. |
  | search\_results | Search Results   | The results of the similarity search as a list of <u>Data</u> objects.       |
</Accordion>

## **Redis**

This component creates a Redis Vector Store with search capabilities. For more information, see the [Redis documentation](https://redis.io/docs/latest/develop/interact/search-and-query/advanced-concepts/vectors/).

<Accordion title="Parameters">
  **Inputs**

  | **Name**            | **Type**     | **Description**                                |
  | :------------------ | :----------- | :--------------------------------------------- |
  | redis\_server\_url  | SecretString | The Redis server connection string.            |
  | redis\_index\_name  | String       | The name of the Redis index.                   |
  | code                | String       | The custom code for Redis (advanced).          |
  | schema              | String       | The schema for Redis index.                    |
  | search\_query       | String       | The query for similarity search.               |
  | ingest\_data        | Data         | The data to be ingested into the vector store. |
  | number\_of\_results | Integer      | The number of results to return in search.     |
  | embedding           | Embeddings   | The embedding function to use.                 |

  **Outputs**

  | **Name**        | **Type**    | **Description**                                                        |
  | :-------------- | :---------- | :--------------------------------------------------------------------- |
  | vector\_store   | Redis       | Redis vector store instance                                            |
  | search\_results | List\[Data] | The results of the similarity search as a list of <u>Data</u> objects. |
</Accordion>

## **Supabase**

This component creates a connection to a Supabase Vector Store with search capabilities. For more information, see the [Supabase documentation](https://supabase.com/docs/guides/ai).

<Accordion title="Parameters">
  **Inputs**

  | **Name**               | **Type**     | **Description**                                |
  | :--------------------- | :----------- | :--------------------------------------------- |
  | supabase\_url          | String       | The URL of the Supabase instance.              |
  | supabase\_service\_key | SecretString | The service key for Supabase authentication.   |
  | table\_name            | String       | The name of the table in Supabase.             |
  | query\_name            | String       | The name of the query to use.                  |
  | search\_query          | String       | The query for similarity search.               |
  | ingest\_data           | Data         | The data to be ingested into the vector store. |
  | embedding              | Embeddings   | The embedding function to use.                 |
  | number\_of\_results    | Integer      | The number of results to return in search.     |

  **Outputs**

  | **Name**        | **Type**            | **Description**                                                        |
  | :-------------- | :------------------ | :--------------------------------------------------------------------- |
  | vector\_store   | SupabaseVectorStore | A Supabase vector store instance.                                      |
  | search\_results | List\[Data]         | The results of the similarity search as a list of <u>Data</u> objects. |
</Accordion>

## **Upstash**

This component creates an Upstash Vector Store with search capabilities. For more information, see the [Upstash documentation](https://upstash.com/docs/introduction).

<Accordion title="Parameters">
  **Inputs**

  | **Name**            | **Type**     | **Description**                                |
  | :------------------ | :----------- | :--------------------------------------------- |
  | index\_url          | String       | The URL of the Upstash index.                  |
  | index\_token        | SecretString | The token for the Upstash index.               |
  | text\_key           | String       | The key in the record to use as text.          |
  | namespace           | String       | The namespace for the index.                   |
  | search\_query       | String       | The query for similarity search.               |
  | metadata\_filter    | String       | Filter documents by metadata.                  |
  | ingest\_data        | Data         | The data to be ingested into the vector store. |
  | embedding           | Embeddings   | The embedding function to use.                 |
  | number\_of\_results | Integer      | The number of results to return in search.     |

  **Outputs**

  | **Name**        | **Type**           | **Description**                                                        |
  | :-------------- | :----------------- | :--------------------------------------------------------------------- |
  | vector\_store   | UpstashVectorStore | An Upstash vector store instance.                                      |
  | search\_results | List\[Data]        | The results of the similarity search as a list of <u>Data</u> objects. |
</Accordion>

## **Vectara**

This component creates a Vectara Vector Store with search capabilities. For more information, see the [Vectara documentation](https://docs.vectara.com/docs/).

<Accordion title="Parameters">
  **Inputs**

  | **Name**              | **Type**             | **Description**                                |
  | :-------------------- | :------------------- | :--------------------------------------------- |
  | vectara\_customer\_id | String               | The Vectara customer ID.                       |
  | vectara\_corpus\_id   | String               | The Vectara corpus ID.                         |
  | vectara\_api\_key     | SecretString         | The Vectara API key.                           |
  | embedding             | Embeddings           | The embedding function to use (optional).      |
  | ingest\_data          | List\[Document/Data] | The data to be ingested into the vector store. |
  | search\_query         | String               | The query for similarity search.               |
  | number\_of\_results   | Integer              | The number of results to return in search.     |

  **Outputs**

  | **Name**        | **Type**           | **Description**                                                        |
  | :-------------- | :----------------- | :--------------------------------------------------------------------- |
  | vector\_store   | VectaraVectorStore | Vectara vector store instance.                                         |
  | search\_results | List\[Data]        | The results of the similarity search as a list of <u>Data</u> objects. |
</Accordion>

## **Vectara Search**

This component searches a Vectara Vector Store for documents based on the provided input. For more information, see the [Vectara documentation](https://docs.vectara.com/docs/).

<Accordion title="Parameters">
  **Inputs**

  | **Name**              | **Type**      | **Description**                                    |
  | :-------------------- | :------------ | :------------------------------------------------- |
  | search\_type          | String        | The type of search, such as "Similarity" or "MMR". |
  | input\_value          | String        | The search query.                                  |
  | vectara\_customer\_id | String        | The Vectara customer ID.                           |
  | vectara\_corpus\_id   | String        | The Vectara corpus ID.                             |
  | vectara\_api\_key     | SecretString  | The Vectara API key.                               |
  | files\_url            | List\[String] | Optional URLs for file initialization.             |

  **Outputs**

  | **Name**        | **Type**    | **Description**                                                        |
  | :-------------- | :---------- | :--------------------------------------------------------------------- |
  | search\_results | List\[Data] | The results of the similarity search as a list of <u>Data</u> objects. |
</Accordion>

## **Weaviate**

This component facilitates a Weaviate Vector Store setup, optimizing text and document indexing and retrieval. For more information, see the [Weaviate Documentation](https://weaviate.io/developers/weaviate).

<Accordion title="Parameters">
  **Inputs**

  | **Name**         | **Type**      | **Description**                          |
  | :--------------- | :------------ | :--------------------------------------- |
  | weaviate\_url    | String        | The default instance URL.                |
  | search\_by\_text | Boolean       | Indicates whether to search by text.     |
  | api\_key         | SecretString  | The optional API key for authentication. |
  | index\_name      | String        | The optional index name.                 |
  | text\_key        | String        | The default text extraction key.         |
  | input            | Document      | The document or record.                  |
  | embedding        | Embeddings    | The embedding model used.                |
  | attributes       | List\[String] | Optional additional attributes.          |

  **Outputs**

  | **Name**      | **Type**            | **Description**                     |
  | :------------ | :------------------ | :---------------------------------- |
  | vector\_store | WeaviateVectorStore | The Weaviate vector store instance. |
</Accordion>

## **Weaviate Search**

This component searches a Weaviate Vector Store for documents similar to the input. For more information, see the [Weaviate Documentation](https://weaviate.io/developers/weaviate).

<Accordion title="Parameters">
  **Inputs**

  | **Name**         | **Type**      | **Description**                                           |
  | :--------------- | :------------ | :-------------------------------------------------------- |
  | search\_type     | String        | The type of search, such as "Similarity" or "MMR"         |
  | input\_value     | String        | The search query.                                         |
  | weaviate\_url    | String        | The default instance URL.                                 |
  | search\_by\_text | Boolean       | A boolean value that indicates whether to search by text. |
  | api\_key         | SecretString  | The optional API key for authentication.                  |
  | index\_name      | String        | The optional index name.                                  |
  | text\_key        | String        | The default text extraction key.                          |
  | embedding        | Embeddings    | The embeddings model used.                                |
  | attributes       | List\[String] | Optional additional attributes.                           |

  **Outputs**

  | **Name**        | **Type**    | **Description**                                                        |
  | :-------------- | :---------- | :--------------------------------------------------------------------- |
  | search\_results | List\[Data] | The results of the similarity search as a list of <u>Data</u> objects. |
</Accordion>
