Files
fil/docs/snippets/wasm/plugins/embedding_backend.md

35 lines
966 B
Markdown
Raw Permalink Normal View History

2026-06-01 23:40:55 +02:00
# Register Custom Embedding Backend
Register a custom embedding backend that provides vector embeddings for text.
```typescript title="WASM"
import init, { registerEmbeddingBackend } from "kreuzberg-wasm";
await init();
// Define a custom embedding backend
const customEmbedding = {
dimensions: () => 384,
embed: (texts) => {
// Return embeddings for each text
return texts.map((text) => {
// Generate a dummy 384-dimensional vector
const vector = new Array(384).fill(0).map((_, i) => Math.sin((text.charCodeAt(0) + i) / 384));
return vector;
});
},
};
try {
registerEmbeddingBackend(customEmbedding);
console.log("Custom embedding backend registered");
} catch (error) {
console.error("Failed to register embedding backend:", error);
}
```
The embedding backend must implement:
- `dimensions()`: Returns the dimensionality of the embeddings
- `embed(texts: string[])`: Computes vector embeddings for the given texts