mirror of
https://github.com/ksyasuda/dotfiles.git
synced 2026-03-21 06:11:27 -07:00
update skills
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
# Vectorize Configuration
|
||||
|
||||
## Create Index
|
||||
|
||||
```bash
|
||||
npx wrangler vectorize create my-index --dimensions=768 --metric=cosine
|
||||
```
|
||||
|
||||
**⚠️ Dimensions and metric are immutable** - cannot change after creation.
|
||||
|
||||
## Worker Binding
|
||||
|
||||
```jsonc
|
||||
// wrangler.jsonc
|
||||
{
|
||||
"vectorize": [
|
||||
{ "binding": "VECTORIZE", "index_name": "my-index" }
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
```typescript
|
||||
interface Env {
|
||||
VECTORIZE: Vectorize;
|
||||
}
|
||||
```
|
||||
|
||||
## Metadata Indexes
|
||||
|
||||
**Must create BEFORE inserting vectors** - existing vectors not retroactively indexed.
|
||||
|
||||
```bash
|
||||
wrangler vectorize create-metadata-index my-index --property-name=category --type=string
|
||||
wrangler vectorize create-metadata-index my-index --property-name=price --type=number
|
||||
```
|
||||
|
||||
| Type | Use For |
|
||||
|------|---------|
|
||||
| `string` | Categories, tags (first 64 bytes indexed) |
|
||||
| `number` | Prices, timestamps |
|
||||
| `boolean` | Flags |
|
||||
|
||||
## CLI Commands
|
||||
|
||||
```bash
|
||||
# Index management
|
||||
wrangler vectorize list
|
||||
wrangler vectorize info <index-name>
|
||||
wrangler vectorize delete <index-name>
|
||||
|
||||
# Vector operations
|
||||
wrangler vectorize insert <index-name> --file=embeddings.ndjson
|
||||
wrangler vectorize get <index-name> --ids=id1,id2
|
||||
wrangler vectorize delete-by-ids <index-name> --ids=id1,id2
|
||||
|
||||
# Metadata indexes
|
||||
wrangler vectorize list-metadata-index <index-name>
|
||||
wrangler vectorize delete-metadata-index <index-name> --property-name=field
|
||||
```
|
||||
|
||||
## Bulk Upload (NDJSON)
|
||||
|
||||
```json
|
||||
{"id": "1", "values": [0.1, 0.2, ...], "metadata": {"category": "docs"}}
|
||||
{"id": "2", "values": [0.4, 0.5, ...], "namespace": "tenant-abc"}
|
||||
```
|
||||
|
||||
**Limits:** 5000 vectors per file, 100 MB max
|
||||
|
||||
## Cardinality Best Practice
|
||||
|
||||
Bucket high-cardinality data:
|
||||
```typescript
|
||||
// ❌ Millisecond timestamps
|
||||
metadata: { timestamp: Date.now() }
|
||||
|
||||
// ✅ 5-minute buckets
|
||||
metadata: { timestamp_bucket: Math.floor(Date.now() / 300000) * 300000 }
|
||||
```
|
||||
|
||||
## Production Checklist
|
||||
|
||||
1. Create index with correct dimensions
|
||||
2. Create metadata indexes FIRST
|
||||
3. Test bulk upload
|
||||
4. Configure bindings
|
||||
5. Deploy Worker
|
||||
6. Verify queries
|
||||
Reference in New Issue
Block a user