diff --git a/docs/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstorechroma.md b/docs/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstorechroma.md new file mode 100644 index 000000000..ea6daa24f --- /dev/null +++ b/docs/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstorechroma.md @@ -0,0 +1,106 @@ +--- +title: Chroma Vector Store node documentation +description: Learn how to use the Chroma Vector Store node in n8n. Follow technical documentation to integrate Chroma Vector Store node into your workflows. +contentType: [integration, reference] +priority: medium +--- + +# Chroma Vector Store node + +Use the Chroma node to interact with your Chroma database as [vector store](/glossary.md/#ai-vector-store). You can insert documents into a vector database, get documents from a vector database, retrieve documents to provide them to a retriever connected to a [chain](/glossary.md/#ai-chain), or connect directly to an [agent](/glossary.md/#ai-agent) as a [tool](/glossary.md/#ai-tool). + +On this page, you'll find the node parameters for the Chroma node, and links to more resources. + +/// note | Credentials +You can find authentication information for this node [here](/integrations/builtin/credentials/chroma.md). +/// + +## Node usage patterns + +You can use the Chroma Vector Store node in the following patterns. + +### Use as a regular node to insert and retrieve documents + +You can use the Chroma Vector Store as a regular node to insert or get documents. This pattern places the Chroma Vector Store in the regular connection flow without using an agent. + +### Connect directly to an AI agent as a tool + +You can connect the Chroma Vector Store node directly to the tool connector of an [AI agent](/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/index.md) to use a vector store as a resource when answering queries. + +Here, the connection would be: AI agent (tools connector) -> Chroma Vector Store node. + +### Use a retriever to fetch documents + +You can use the [Vector Store Retriever](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.retrievervectorstore.md) node with the Chroma Vector Store node to fetch documents from the Chroma Vector Store node. This is often used with the [Question and Answer Chain](/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.chainretrievalqa/index.md) node to fetch documents from the vector store that match the given chat input. + +An example of the connection flow would be as follows: + +Question and Answer Chain (Retriever connector) -> Vector Store Retriever (Vector Store connector) -> Chroma Vector Store. + +### Use the Vector Store Question Answer Tool to answer questions + +Another pattern uses the [Vector Store Question Answer Tool](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolvectorstore.md) to summarize results and answer questions from the Chroma Vector Store node. Rather than connecting the Chroma Vector Store directly as a tool, this pattern uses a tool specifically designed to summarize data in the vector store. + +The connections flow in this case would look like this: AI agent (tools connector) -> Vector Store Question Answer Tool (Vector Store connector) -> Chroma Vector store. + +## Node parameters + +### Operation Mode + +This Vector Store node has four modes: **Get Many**, **Insert Documents**, **Retrieve Documents (As Vector Store for Chain/Tool)**, and **Retrieve Documents (As Tool for AI Agent)**. The mode you select determines the operations you can perform with the node and what inputs and outputs are available. + +#### Get Many + +In this mode, you can retrieve multiple documents from your vector database by providing a prompt. The prompt is embedded and used for similarity search. The node returns the documents that are most similar to the prompt with their similarity score. This is useful if you want to retrieve a list of similar documents and pass them to an agent as additional context. + +#### Insert Documents + +Use insert documents mode to insert new documents into your vector database. + +#### Retrieve Documents (as Vector Store for Chain/Tool) + +Use Retrieve Documents (As Vector Store for Chain/Tool) mode with a vector-store retriever to retrieve documents from a vector database and provide them to the retriever connected to a chain. In this mode you must connect the node to a retriever node or root node. + +#### Retrieve Documents (as Tool for AI Agent) + +Use Retrieve Documents (As Tool for AI Agent) mode to use the vector store as a tool resource when answering queries. When formulating responses, the agent uses the vector store when the vector store name and description match the question details. + +### Rerank Results + +Enables [reranking](/glossary.md#ai-reranking). If you enable this option, you must connect a reranking node to the vector store. That node will then rerank the results for queries. You can use this option with the `Get Many`, `Retrieve Documents (As Vector Store for Chain/Tool)` and `Retrieve Documents (As Tool for AI Agent)` modes. + +### Get Many parameters + +- **Chroma collection name**: Select your collection from the fetched collections list. +- **Prompt**: Enter the search query. +- **Limit**: Enter how many results to retrieve from the vector store. For example, set this to `5` to get the five best results. + +This Operation Mode includes one **Node option**, the Metadata Filter + +### Insert Documents parameters + +- **Chroma collection name**: Select your collection from the fetched collections list. + +### Retrieve Documents (As Vector Store for Chain/Tool) parameters + +- **Chroma collection name**: Select your collection from the fetched collections list. + +This Operation Mode includes one **Node option**, the Metadata Filter + +### Retrieve Documents (As Tool for AI Agent) parameters + +- **Description**: Explain to the LLM what this tool does. A good, specific description allows LLMs to produce expected results more often. +- **Chroma collection name**: Select your collection from the fetched collections list. +- **Limit**: Enter how many results to retrieve from the vector store. For example, set this to `5` to get the five best results. + +## Node options + +### Metadata Filter + +--8<-- "_snippets/integrations/builtin/cluster-nodes/langchain-root-nodes/vector-store-metadata-filter.md" + +## Related resources + +Refer to [LangChain's Chroma documentation](https://js.langchain.com/oss/javascript/integrations/vectorstores/chroma) for more information about the service. + +View n8n's [Advanced AI](/advanced-ai/index.md) documentation. \ No newline at end of file diff --git a/docs/integrations/builtin/credentials/chroma.md b/docs/integrations/builtin/credentials/chroma.md new file mode 100644 index 000000000..ed64cb266 --- /dev/null +++ b/docs/integrations/builtin/credentials/chroma.md @@ -0,0 +1,48 @@ +--- +title: Chroma credentials +description: Documentation for the Chroma credentials. Use these credentials to authenticate Chroma in n8n, a workflow automation platform. +contentType: [integration, reference] +priority: medium +--- + +# Chroma credentials + +You can use these credentials to authenticate the following nodes: + +- Chroma Vector Store + +## Prerequisites +Create and run a [Chroma](https://www.trychroma.com/home) instance. Refer to the [Running Chroma in Client-Server Mode](https://docs.trychroma.com/docs/run-chroma/client-server) for more information. + +## Supported authentication methods +- API key +- Instance URL + +## Related resources + +Refer to [Chroma's documentation](https://docs.trychroma.com/docs/overview/getting-started) for more information about the service. Also refer to [Chroma Cloud](https://docs.trychroma.com/cloud/getting-started) for using cloud instance. + +View n8n's [Advanced AI](/advanced-ai/index.md) documentation. + +--8<-- "_snippets/integrations/builtin/cluster-nodes/langchain-overview-link.md" + +## Using API key + +To configure this credential, you'll need a [Chroma](https://www.trychroma.com/) account. You'll also need the following: + +- An **API Key** +- Your **Tenant ID** +- Your **Database Name** + +To set it up: + +1. Go to the **Cloud Dashboard**. +2. Create a **Database** +3. Click **Settings** for the database you want the access to. +4. Click **Create API key and copy code** +5. Enter your **API Key**, **Tenant ID** and **Database Name** to n8n credential +## Using Instance URL + +To configure this credential, you'll need: + +- **Base URL:** The base URL of your Chroma instance. The default value is `http://localhost:8000` \ No newline at end of file diff --git a/nav.yml b/nav.yml index 668604834..788f5aff1 100644 --- a/nav.yml +++ b/nav.yml @@ -728,6 +728,7 @@ nav: - Milvus Vector Store: integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoremilvus.md - MongoDB Atlas Vector Store: integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoremongodbatlas.md - PGVector Vector Store: integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstorepgvector.md + - Chroma Vector Store: integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstorechroma.md - Pinecone Vector Store: integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstorepinecone.md - Qdrant Vector Store: integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoreqdrant.md - Redis Vector Store: integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoreredis.md @@ -1010,6 +1011,7 @@ nav: - integrations/builtin/credentials/perplexity.md - integrations/builtin/credentials/phantombuster.md - integrations/builtin/credentials/philipshue.md + - integrations/builtin/credentials/chroma.md - integrations/builtin/credentials/pinecone.md - integrations/builtin/credentials/pipedrive.md - integrations/builtin/credentials/plivo.md