Upstash Vector JS
UpstashOfficialCreated by Upstash
- Skill
- Tool integration
- Data and AI
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides guidance for using the @upstash/vector TypeScript/JavaScript SDK. It covers the core functionality required to interact with a serverless vector database, including upserting vectors, performing similarity searches, managing namespaces, and utilizing metadata filtering. The skill serves as a reference for developers building AI and RAG applications who need to store and retrieve embeddings without managing infrastructure.
What it does
- Provides methods for upserting, querying, fetching, and deleting vectors.
- Explains how to organize data using namespaces.
- Details the implementation of dense, sparse, and hybrid index structures.
- Guides users on applying metadata filters during vector queries.
- Supports the integration of vector storage into LLM and AI applications.
- Offers instructions for running resumable queries and managing index information.
When to use it
- When building RAG applications that require a vector database.
- When implementing semantic search or recommendation features.
- When you need to store and query vector embeddings in a serverless environment.
- When you need to filter vector search results based on associated metadata.
- When working with hybrid or sparse indexing strategies.
Advantages
- Simplifies interaction with serverless vector storage via a dedicated SDK.
- Provides clear patterns for managing vector data and namespaces.
- Enables advanced search capabilities like hybrid indexing and metadata filtering.
- Facilitates easy integration with AI and LLM workflows.
Usage examples
- “How do I initialize the Upstash Vector client in TypeScript?”
- The agent provides the code to import the Index class and initialize it using the required REST URL and token from environment variables.
- “Show me how to perform a similarity search with metadata filtering.”
- The agent demonstrates the index.query method, showing how to include the vector data and a filter object to narrow results by metadata.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/upstash/upstash-vector-js/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip upstash-vector-js.zip -d .agents/skills
Documentation by Upstash
Vector Documentation Skill
Bundled docs and source
Before writing or debugging SDK code, check node_modules/@upstash/vector/docs/ for bundled docs and node_modules/@upstash/vector/src/ for readable TypeScript source. Read and search the relevant files when present; otherwise use the references in this skill.
Quick Start
Vector is a high‑performance vector database for storing, querying, and managing vector embeddings.
Basic workflow:
Install the Vector TS SDK.
Connect to a Vector instance.
Upsert vectors, query them, and manage namespaces.
Example (TypeScript):
import { Index } from "@upstash/vector";
const index = new Index({
url: process.env.UPSTASH_VECTOR_REST_URL!,
token: process.env.UPSTASH_VECTOR_REST_TOKEN!,
});
await index.upsert([{ id: "1", vector: [0.1, 0.2], metadata: { tag: "example" } }]);
const results = await index.query({
vector: [0.1, 0.2],
topK: 5,
});For full usage, refer to the linked skill files below.
Other Skill Files
TS SDK Reference
sdk-methods: Explains SDK commands: delete, fetch, info, query, range, reset, resumable-query, upsert
Features
features/namespaces: Explains namespaces and dataset organization.features/index-structure: Covers hybrid and sparse index structures.features/filtering-and-metadata: Details metadata storage and server-side filtering.
Use these files for deeper guidance on SDK usage, advanced configurations, algorithms, and integrations.
Files
- ATTRIBUTION.mdAdded by AutoGineer886 B
- LICENSELicence file added by AutoGineer1.1 KiB
- SKILL.md2.3 KiB
- features/filtering-and-metadata.md2.1 KiB
- features/index-structure.md4.4 KiB
- features/namespaces.md929 B
- sdk-methods.md3.5 KiB
features/filtering-and-metadata.md
Vector Feature: Filtering and Metadata
Upstash Vector supports attaching metadata and optional data to vectors. Metadata is structured JSON used for filtering; data is unstructured content returned in responses but not filterable.
Filtering uses a SQL‑like syntax and supports nested objects, array indexing, glob patterns, and boolean logic. The system applies both in‑filtering and post‑filtering according to a filtering budget, so highly selective filters may return fewer results than topK.
Setting Metadata and Data
You can upsert vectors with metadata and optional data. Metadata is any JSON structure; data is typically raw text.
import { Index } from "@upstash/vector";
const index = new Index({ url: "...", token: "..." });
await index.upsert([
{
id: "v0",
vector: [0.1, 0.2],
metadata: { city: "Istanbul", population: 15460000 },
data: "Istanbul info",
},
{
id: "v1",
data: "Upstash is a serverless data platform.",
},
]);Querying with Metadata Filters
Include metadata in results and apply filters using SQL‑like expressions.
await index.query({
vector: [0.9, 0.3],
topK: 5,
includeMetadata: true,
filter: "population >= 1000000 AND geography.continent = 'Asia'",
});Supported Operators
Equality:
=,!=Numeric comparators:
<,<=,>,>=Set membership:
IN,NOT INArray tests:
CONTAINS,NOT CONTAINSField existence:
HAS FIELD,HAS NOT FIELDGlob string matching:
GLOB,NOT GLOB
Glob wildcards: *, ?, [], [^].
Boolean Logic
Use AND and OR, with parentheses for grouping. AND has higher precedence than OR.
Nested Objects and Arrays
Access nested fields:
economy.currency,geography.coordinates.latitude.Index arrays:
industries[0]or from end:industries[#-1].
Example:
economy.major_industries CONTAINS 'Tourism' AND geography.coordinates.latitude >= 35Retrieving Metadata and Data
// query
await index.query({
vector: [0.9, 0.3],
topK: 5,
includeMetadata: true,
includeData: true,
});
// range
await index.range({ cursor: "0", limit: 3, includeMetadata: true });Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Upstash
- Publisher
- Upstash (Official)
- Source
- upstash/skills · skills/upstash-vector-js · commit 9f9e3e5
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Upstash or Upstash.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download upstash-vector-js.zip