Skip to main content

Getting Started

Tigris makes it easy to build AI applications with vector embeddings. It is a fully managed cloud-native database that allows you store and index documents and vector embeddings for fast and scalable vector search.

1. Install the client

Ensure that you are on Typescript version 4.5 or above.

npm install @tigrisdata/vector

2. Fetch Tigris API credentials

You can sign up for a free Tigris account here.

Once you have signed up for the Tigris account, create a new project called vectordemo. Next, make a note of the clientId and clientSecret, which you can get from the Application Keys section of the project.

3. Create the Vector Database client

We will use the project name, clientId and clientSecret from the previous step to create the vector database client.

import { VectorDocumentStore } from "@tigrisdata/vector";

const vectorDocStore = new VectorDocumentStore({
connection: {
serverUrl: "api.preview.tigrisdata.cloud",
projectName: "vectordemo",
clientId: "clientId_here",
clientSecret: "clientSecret_here",
},
indexName: "my_index",
numDimensions: 3,
});

Here, we have created a new VectorDocumentStore instance that connects to the Tigris Vector Database. The indexName is the name of the index that will store your embeddings, documents, and any additional metadata. You can use any name you like for the index. The numDimensions is the number of dimensions of the vector embeddings.

4. Add documents to the index

await vectorDocStore.addDocumentsWithVectors({
ids: ["id1", "id2"],
embeddings: [
[1.2, 2.3, 4.5],
[6.7, 8.2, 9.2],
],
documents: [
{
content: "This is a document",
metadata: {
title: "Document 1",
},
},
{
content: "This is another document",
metadata: {
title: "Document 2",
},
},
],
});

Here, we have added two documents to the index. The ids are the unique identifiers for the documents. The embeddings are the vector embeddings for the documents. The documents are the actual documents that you want to store in the index. The content is the text content of the document. The metadata is any additional metadata that you want to store for the document.

5. Query the index

You can query the index for the top k most similar documents to a given vector. It's that simple!

const results = await vectorDocStore.similaritySearchVectorWithScore({
query: [1.0, 2.1, 3.2],
k: 10,
});
console.log(JSON.stringify(results, null, 2));