ByteChef LogoByteChef

Couchbase

Couchbase is a distributed, JSON document database, with all the desired capabilities of a relational DBMS.

Categories: Artificial Intelligence

Type: couchbase/v1


Connections

Version: 1

custom

Properties

NameLabelTypeDescriptionRequired
connectionStringConnection StringSTRINGA couchbase connection stringtrue
usernameUsernameSTRINGUsername for authentication with Couchbase.true
passwordPasswordSTRINGPassword for authentication with Couchbase.true
indexNameIndex NameSTRINGThe name of the index to store the vectors.false
bucketNameBucket NameSTRINGThe name of the Couchbase Bucket, parent of the scope.false
scopeNameScope NameSTRINGThe name of the Couchbase scope, parent of the collection. Search queries will be executed in the scope context.false
collectionNameCollection NameSTRINGThe name of the Couchbase collection to store the Documents.false
dimensionsDimensionsINTEGERThe number of dimensions in the vector.false
similaritySimilaritySTRING
Options l2_norm, dot_product
The similarity function to use.true
optimizationOptimizationSTRING
Options latency, recall
The index optimization strategy to use.false
initializeSchemaInitialize SchemaBOOLEAN
Options true, false
Whether to initialize the schema.false

Connection Setup

Official documentation

Step-by-step guide:

  1. Create a Cluster, click on it
  2. Go to Buckets, Create a Bucket
  3. Go to Settings → Networking → Allow IP Addresses, Allow your current IP address
  4. Go to Settings → Security, Create Access (username and password)
  5. Go to Data Tools → Search, Create a Search Index
  6. Go to Connect, Copy Public Connection String

Now you have Public Connection String, Username, Password, Index Name and can create a connection


Actions

Delete Documents

Name: delete

Delete documents from the vector store by metadata

Properties

NameLabelTypeDescriptionRequired
metadataFilterMetadata FilterARRAY
Items [{}]
List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed.false

Example JSON Structure

{
  "label" : "Delete Documents",
  "name" : "delete",
  "parameters" : {
    "metadataFilter" : [ { } ]
  },
  "type" : "couchbase/v1/delete"
}

Output

This action does not produce any output.

Load Documents

Name: load

Loads documents into the vector store using LLM embeddings.

Properties

NameLabelTypeDescriptionRequired
metadataFilterMetadata FilterARRAY
Items [{}]
List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed.false

Example JSON Structure

{
  "label" : "Load Documents",
  "name" : "load",
  "parameters" : {
    "metadataFilter" : [ { } ]
  },
  "type" : "couchbase/v1/load"
}

Output

This action does not produce any output.

Search Documents

Name: search

Query documents from the vector store using LLM embeddings.

Properties

NameLabelTypeDescriptionRequired
queryQuerySTRINGThe query to be executed.true
metadataFilterMetadata FilterARRAY
Items [{}]
List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed.false
topKTop KINTEGERThe top 'k' similar results to return.false
similarityThresholdSimilarity ThresholdNUMBERSimilarity threshold score to filter the search response by. Only documents with similarity score equal or greater than the threshold will be returned. A threshold value of 0 means any similarity is accepted. A threshold value of 1 means an exact match is required.false

Example JSON Structure

{
  "label" : "Search Documents",
  "name" : "search",
  "parameters" : {
    "query" : "",
    "metadataFilter" : [ { } ],
    "topK" : 1,
    "similarityThreshold" : 0.0
  },
  "type" : "couchbase/v1/search"
}

Output

The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.

Update Documents

Name: update

Updates documents in the vector store by deleting existing ones matching the metadata filter and loading new ones using LLM embeddings.

Properties

NameLabelTypeDescriptionRequired
metadataFilterMetadata FilterARRAY
Items [{}]
List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed.false

Example JSON Structure

{
  "label" : "Update Documents",
  "name" : "update",
  "parameters" : {
    "metadataFilter" : [ { } ]
  },
  "type" : "couchbase/v1/update"
}

Output

This action does not produce any output.

How is this guide?

Last updated on

On this page