Vercel AI SDK provider for ZeroEntropy — supports text embeddings and reranking.
npm install zeroentropy-ai-providerGet an API key from the ZeroEntropy dashboard and set it as an environment variable:
export ZEROENTROPY_API_KEY=your_api_keyOr pass it directly when creating the provider.
import { createZeroEntropy } from 'zeroentropy-ai-provider';
import { embedMany } from 'ai';
const ze = createZeroEntropy(); // reads ZEROENTROPY_API_KEY from env
const { embeddings } = await embedMany({
model: ze.textEmbeddingModel('zembed-1'),
values: ['ZeroEntropy is a retrieval pipeline', 'Hello world'],
experimental_providerMetadata: {
zeroentropy: {
inputType: 'document', // 'query' | 'document'
},
},
});import { createZeroEntropy } from 'zeroentropy-ai-provider';
import { rerank } from 'ai';
const ze = createZeroEntropy();
const { ranking } = await rerank({
model: ze.reranking('zerank-2'),
query: 'Where is the Eiffel Tower?',
values: [
'The Eiffel Tower is located in Paris.',
'The Amazon rainforest spans several countries.',
'Paris is the capital of France.',
],
});
// ranking is sorted by descending relevance
// [{ index: 0, relevanceScore: 0.98 }, ...]const ze = createZeroEntropy({
apiKey: 'your_api_key', // default: process.env.ZEROENTROPY_API_KEY
baseURL: 'https://...', // override API base URL
headers: { 'X-Custom': '1' },
});| Option | Type | Default | Description |
|---|---|---|---|
inputType |
'query' | 'document' |
'document' |
Optimizes the embedding for retrieval queries or documents |
dimensions |
number |
2560 |
Output dimensions: 2560, 1280, 640, 320, 160, 80, 40 |
latency |
'fast' | 'slow' |
auto | 'fast' for subsecond; 'slow' for higher throughput |
| Option | Type | Default | Description |
|---|---|---|---|
latency |
'fast' | 'slow' |
auto | 'fast' for subsecond; 'slow' for >10s higher throughput |
| Model | Type |
|---|---|
zembed-1 |
Text embeddings (up to 2560 dims) |
zerank-2 |
Reranking |
Apache 2.0