mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-06 04:27:40 +00:00
config(git,claude,ssh): templated gitconfig; claude settings/commands/hooks/skills; ssh config
gitconfig: name/email from chezmoi data, gh credential helper by PATH lookup (portable to darwin). claude: no credentials, history, projects, sessions, or plugin caches. ssh config as private_ (0600). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3c691e8dc5
commit
20891f3910
476 files changed
+59086
-7
No files matched your search
@@ -0,0 +1,76 @@
|
||||
# Vectorize Gotchas
|
||||
|
||||
## Critical Warnings
|
||||
|
||||
### Async Mutations
|
||||
Insert/upsert/delete return immediately but vectors aren't queryable for 5-10 seconds.
|
||||
|
||||
### Batch Size Limit
|
||||
**Workers API: 1,000 vectors max per call (HTTP API: 5,000).** Silently truncates if exceeded.
|
||||
|
||||
```typescript
|
||||
// ✅ Chunk into 1000 (Workers API limit; HTTP API allows 5000)
|
||||
for (let i = 0; i < vectors.length; i += 1000) {
|
||||
await env.VECTORIZE.upsert(vectors.slice(i, i + 1000));
|
||||
}
|
||||
```
|
||||
|
||||
### Metadata Truncation
|
||||
`returnMetadata: "indexed"` returns only first 64 bytes of strings. Use `"all"` for complete metadata (but max topK drops to 20).
|
||||
|
||||
### topK Limits
|
||||
|
||||
| returnMetadata | returnValues | Max topK |
|
||||
|----------------|--------------|----------|
|
||||
| `"none"` / `"indexed"` | `false` | 100 |
|
||||
| `"all"` | any | **20** |
|
||||
| any | `true` | **20** |
|
||||
|
||||
### Metadata Indexes First
|
||||
Create BEFORE inserting - existing vectors not retroactively indexed.
|
||||
|
||||
```bash
|
||||
# ✅ Create index FIRST
|
||||
wrangler vectorize create-metadata-index my-index --property-name=category --type=string
|
||||
wrangler vectorize insert my-index --file=data.ndjson
|
||||
```
|
||||
|
||||
### Index Config Immutable
|
||||
Cannot change dimensions/metric after creation. Must create new index and migrate.
|
||||
|
||||
## Limits (V2)
|
||||
|
||||
| Resource | Limit |
|
||||
|----------|-------|
|
||||
| Vectors per index | 10,000,000 |
|
||||
| Max dimensions | 1536 |
|
||||
| Batch upsert (Workers / HTTP API) | **1,000 / 5,000** |
|
||||
| Indexed string metadata | **64 bytes** |
|
||||
| Metadata indexes | 10 |
|
||||
| Namespaces | 50,000 (paid) / 1,000 (free) |
|
||||
|
||||
## Common Mistakes
|
||||
|
||||
1. **Wrong embedding shape:** Extract `result.data[0]` from Workers AI
|
||||
2. **Metadata index after data:** Re-upsert all vectors
|
||||
3. **Insert vs upsert:** `insert` ignores duplicates, `upsert` overwrites
|
||||
4. **Not batching:** Individual inserts ~1K/min, batched ~200K+/min
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
**No results?**
|
||||
- Wait 5-10s after insert
|
||||
- Check namespace spelling (case-sensitive)
|
||||
- Verify metadata index exists
|
||||
- Check dimension mismatch
|
||||
|
||||
**Metadata filter not working?**
|
||||
- Index must exist before data insert
|
||||
- Strings >64 bytes truncated
|
||||
- Use dot notation for nested: `"product.category"`
|
||||
|
||||
## Model Dimensions
|
||||
|
||||
- `@cf/baai/bge-small-en-v1.5`: 384
|
||||
- `@cf/baai/bge-base-en-v1.5`: 768
|
||||
- `@cf/baai/bge-large-en-v1.5`: 1024
|
||||
Reference in new issue
Block a user