Skip to main content

emdb-insert

Insert vectors into EmergentDB using the SDK. Use when the user wants to store embeddings, index documents, or batch upload vectors into EmergentDB.

Source facts

Repository
justrach/emergent-sdk
Last source activity
February 23, 2026 at 18:35
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
emdb-insert
description
Insert vectors into EmergentDB using the SDK. Use when the user wants to store embeddings, index documents, or batch upload vectors into EmergentDB.
allowed-tools
Bash, Read, Write, Edit
# Insert Vectors into EmergentDB Help the user insert vectors into EmergentDB using the official SDKs. ## Prerequisites - An EmergentDB API key (starts with `emdb_`) - Vector embeddings (default dimension: 1536 for OpenAI text-embedding-3-small) ## TypeScript SDK ```typescript import { EmergentDB } from "emergentdb"; const db = new EmergentDB("emdb_your_api_key"); // Single insert const result = await db.insert(1, embedding, { title: "My doc" }, "production"); // result: { success: true, id: 1, namespace: "production", upserted: false } // Batch insert (max 1000 per call) const batch = await db.batchInsert([ { id: 1, vector: [...], metadata: { title: "Doc 1" } }, { id: 2, vector: [...], metadata: { title: "Doc 2" } }, ], "production"); // Unlimited batch (auto-chunks into 1000s) const all = await db.batchInsertAll(vectors, "production"); ``` ## Python SDK ```python from emergentdb import EmergentDB db = EmergentDB("emdb_your_api_key") # Single insert result = db.insert(1, embedding, metadata={"title": "My doc"}, namespace="production") # Batch insert result = db.batch_insert([ {"id": 1, "vector": [...], "metadata": {"title": "Doc 1"}}, {"id": 2, "vector": [...], "metadata": {"title": "Doc 2"}}, ], namespace="production") # Unlimited batch result = db.batch_insert_all(vectors, namespace="production") ``` ## Key Behaviors - **Upsert**: Re-inserting an existing ID in the same namespace replaces it. Response shows `upserted: true`. - **Namespaces**: Optional, defaults to `"default"`. Created automatically on first use. - **Metadata fields**: `title` (str), `content` (str), `source_url` (str), `tags` (str[]) - **Batch limit**: Max 1,000 vectors per `batchInsert` / `batch_insert` call. Use `batchInsertAll` / `batch_insert_all` for larger sets. - **Dimensions**: Must match the index dimension (1536 by default). Mismatched dimensions return HTTP 400. ## Error Codes | Code | Meaning | |------|---------| | 400 | Invalid request — bad JSON, wrong vector dimension, missing field | | 401 | Missing or invalid API key | | 402 | Vector capacity exceeded — upgrade plan | | 429 | Rate limit exceeded — back off and retry | | 500 | Server error — retry with backoff | ## Rate Limits | Plan | Limit | |------|-------| | Free | 60 req/min | | Launch | 300 req/min | | Scale | 600 req/min | ## Common Pattern: OpenAI Embeddings ```python import openai from emergentdb import EmergentDB client = openai.OpenAI() db = EmergentDB("emdb_your_key") # Generate + store resp = client.embeddings.create(model="text-embedding-3-small", input="My document text") db.insert(1, resp.data[0].embedding, metadata={"title": "My document"}) ``` When helping the user, determine which SDK they prefer and guide them through the insert flow. If they have raw text, suggest using OpenAI or another embedding model first.
View on GitHub