typescriptbeginner
Generate Text Embeddings with OpenAI
Create vector embeddings for semantic search and similarity matching using text-embedding-3-small.
typescriptPress ⌘/Ctrl + Shift + C to copy
import OpenAI from "openai";
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
export async function getEmbedding(text: string): Promise<number[]> {
const res = await client.embeddings.create({
model: "text-embedding-3-small",
input: text.replace(/\n/g, " "),
});
return res.data[0].embedding;
}
// Cosine similarity between two vectors
export function cosineSimilarity(a: number[], b: number[]): number {
const dot = a.reduce((sum, v, i) => sum + v * b[i], 0);
const magA = Math.sqrt(a.reduce((sum, v) => sum + v * v, 0));
const magB = Math.sqrt(b.reduce((sum, v) => sum + v * v, 0));
return dot / (magA * magB);
}Use Cases
- semantic search
- document similarity
- RAG retrieval
Tags
Related Snippets
Similar patterns you can reuse in the same workflow.
typescriptadvanced
RAG Pipeline (Retrieve + Augment + Generate)
Minimal RAG implementation: embed a query, retrieve top-k chunks, inject into prompt.
Best for: document Q&A
#rag#embeddings
typescriptintermediate
Pinecone Vector Store Operations
Store and query vector embeddings with Pinecone for semantic search and similarity matching.
Best for: Semantic search engines
#pinecone#vector-store
typescriptintermediate
Batch Embeddings Processing
Generate embeddings for large document sets in batches with rate limiting and progress tracking.
Best for: Indexing large document collections for search
#embeddings#batch-processing
pythonintermediate
Cosine Similarity Semantic Search in Python
Implement semantic search with NumPy cosine similarity over OpenAI embeddings.
Best for: semantic search
#embeddings#cosine-similarity