simple-embeddings
v1.0.3
Published
Simple, zero-config embeddings generation for Next.js applications using Hugging Face Transformers
Maintainers
Readme
simple-embeddings
Simple, zero-config embeddings generation for Next.js applications using Hugging Face Transformers. Get semantic search capabilities in your app with just one function call.
Installation
npm install simple-embeddingsQuick Start
import { generateEmbedding } from 'simple-embeddings'
const embedding = await generateEmbedding('Your text here')
console.log(embedding.length) // 384Usage
Next.js API Route
// app/api/embeddings/route.ts
import { NextRequest, NextResponse } from 'next/server'
import { generateEmbedding } from 'simple-embeddings'
export async function POST(request: NextRequest) {
try {
const { text } = await request.json()
const embedding = await generateEmbedding(text)
return NextResponse.json({
embedding,
dimensions: embedding.length, // 384
})
} catch (error) {
return NextResponse.json(
{ error: 'Failed to generate embedding' },
{ status: 500 }
)
}
}API Reference
generateEmbedding(text: string): Promise<number[]>
Generates a 384-dimensional embedding vector for the given text.
Parameters:
text(string): The input text to generate an embedding for
Returns:
Promise<number[]>: A promise that resolves to a 384-dimensional array of numbers
Notes:
- First call downloads and loads the model (~90MB), subsequent calls are fast
- Works in Node.js server environments (API routes, server components)
- Returns normalized vectors suitable for cosine similarity
Technical Details
- Model: Xenova/all-MiniLM-L6-v2
- Vector dimensions: 384
- Framework: Hugging Face Transformers.js
License
MIT
