Skip to content
Back to skills

Embeddings

ASecurity

Vector embeddings configuration and semantic search

  • 2,496 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 10, 2026
ai-agentstypescriptgosqltestingapibackend

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned February 10, 2026

npx -y skills add alsk1992/CloddsBot --skill embeddings --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Embeddings?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Embeddings
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/alsk1992-embeddings/badge)](https://www.skillsdirectory.com/skills/alsk1992-embeddings)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: embeddings
description: "Vector embeddings configuration and semantic search"
emoji: "🧬"
---

# Embeddings - Complete API Reference

Configure embedding providers, manage vector storage, and perform semantic search.

---

## Chat Commands

### View Config

```
/embeddings                                 Show current settings
/embeddings status                          Provider status
/embeddings stats                           Cache statistics
```

### Configure Provider

```
/embeddings provider openai                 Use OpenAI embeddings
/embeddings provider voyage                 Use Voyage AI
/embeddings provider local                  Use local model
/embeddings model text-embedding-3-small    Set model
```

### Cache Management

```
/embeddings cache stats                     View cache stats
/embeddings cache clear                     Clear cache
/embeddings cache size                      Total cache size
```

### Testing

```
/embeddings test "sample text"              Generate test embedding
/embeddings similarity "text1" "text2"      Compare similarity
```

---

## TypeScript API Reference

### Create Embeddings Service

```typescript
import { createEmbeddingsService } from 'clodds/embeddings';

const embeddings = createEmbeddingsService({
  // Provider
  provider: 'openai',  // 'openai' | 'voyage' | 'local' | 'cohere'
  apiKey: process.env.OPENAI_API_KEY,

  // Model
  model: 'text-embedding-3-small',
  dimensions: 1536,

  // Caching
  cache: true,
  cacheBackend: 'sqlite',
  cachePath: './embeddings-cache.db',

  // Batching
  batchSize: 100,
  maxConcurrent: 5,
});
```

### Generate Embeddings

```typescript
// Single text
const embedding = await embeddings.embed('Hello world');
console.log(`Dimensions: ${embedding.length}`);

// Multiple texts (batched)
const vectors = await embeddings.embedBatch([
  'First document',
  'Second document',
  'Third document',
]);
```

### Semantic Search

```typescript
// Search against stored vectors
const results = await embeddings.search({
  query: 'trading strategies',
  collection: 'documents',
  limit: 10,
  threshold: 0.7,
});

for (const result of results) {
  console.log(`${result.text} (score: ${result.score})`);
}
```

### Similarity

```typescript
// Compare two texts
const score = await embeddings.similarity(
  'The cat sat on the mat',
  'A feline rested on the rug'
);

console.log(`Similarity: ${score}`);  // 0.0 - 1.0
```

### Store Vectors

```typescript
// Store embedding with metadata
await embeddings.store({
  collection: 'documents',
  id: 'doc-1',
  text: 'Original text',
  embedding: vector,
  metadata: {
    source: 'wiki',
    date: '2024-01-01',
  },
});

// Store batch
await embeddings.storeBatch({
  collection: 'documents',
  items: [
    { id: 'doc-1', text: 'First doc' },
    { id: 'doc-2', text: 'Second doc' },
  ],
});
```

### Cache Management

```typescript
// Get cache stats
const stats = await embeddings.getCacheStats();
console.log(`Cached: ${stats.count} embeddings`);
console.log(`Size: ${stats.sizeMB} MB`);
console.log(`Hit rate: ${stats.hitRate}%`);

// Clear cache
await embeddings.clearCache();

// Clear specific entries
await embeddings.clearCache({ olderThan: '7d' });
```

### Provider Configuration

```typescript
// Switch provider
embeddings.setProvider('voyage', {
  apiKey: process.env.VOYAGE_API_KEY,
  model: 'voyage-large-2',
});

// Use local model (Transformers.js)
// No API key required - runs locally via @xenova/transformers
embeddings.setProvider('local', {
  model: 'Xenova/all-MiniLM-L6-v2',  // 384 dimensions
});
```

---

## Providers

| Provider | Models | Quality | Speed | Cost |
|----------|--------|---------|-------|------|
| **OpenAI** | text-embedding-3-small/large | Excellent | Fast | $0.02/1M |
| **Voyage** | voyage-large-2 | Excellent | Fast | $0.02/1M |
| **Cohere** | embed-english-v3 | Good | Fast | $0.10/1M |
| **Local (Transformers.js)** | Xenova/all-MiniLM-L6-v2 | Good | Medium | Free |

---

## Models

### OpenAI
| Model | Dimensions | Best For |
|-------|------------|----------|
| `text-embedding-3-small` | 1536 | General use |
| `text-embedding-3-large` | 3072 | High accuracy |

### Voyage
| Model | Dimensions | Best For |
|-------|------------|----------|
| `voyage-large-2` | 1024 | General use |
| `voyage-code-2` | 1536 | Code search |

---

## Use Cases

### Semantic Memory Search

```typescript
// Store user memories
await embeddings.store({
  collection: 'memories',
  id: 'mem-1',
  text: 'User prefers conservative trading',
});

// Search memories
const relevant = await embeddings.search({
  query: 'what is user risk preference',
  collection: 'memories',
  limit: 5,
});
```

### Document Similarity

```typescript
// Find similar documents
const similar = await embeddings.findSimilar({
  text: 'How to trade options',
  collection: 'docs',
  limit: 5,
});
```

---

## Best Practices

1. **Use caching** β€” Avoid redundant API calls
2. **Batch requests** β€” More efficient than single calls
3. **Choose dimensions wisely** β€” Balance quality vs storage
4. **Monitor costs** β€” Embeddings can add up
5. **Local for development** β€” Use local model to save costs

Files in this skill

  • SKILL.md5.1 KB
  • index.ts11.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.