Provider Adapters
TekMemo provides official standalone adapter packages for industry-leading embedding and reranking models. Each adapter implements the standard MemoryEmbedder contract from @tekbreed/tekmemo.
OpenAI (@tekbreed/tekmemo-adapter-openai)
Exposes embedding integration for OpenAI's text-embedding-3-* and ada-002 models.
Installation
npm install @tekbreed/tekmemo-adapter-openai @tekbreed/tekmemoUsage
import { createOpenAIEmbedder } from "@tekbreed/tekmemo-adapter-openai";
const embedder = createOpenAIEmbedder({
apiKey: process.env.OPENAI_API_KEY,
model: "text-embedding-3-small",
dimensions: 1536,
});
const results = await embedder.embedTexts({
texts: ["This is a test document.", "Another piece of memory."],
});Use with the Tekmemo class:
import { Tekmemo } from "@tekbreed/tekmemo";
import { createOpenAIEmbedder } from "@tekbreed/tekmemo-adapter-openai";
const memo = new Tekmemo({
rootDir: "./.tekmemo",
projectId: "my-app",
embedder: createOpenAIEmbedder({ apiKey: process.env.OPENAI_API_KEY! }),
});VoyageAI (@tekbreed/tekmemo-adapter-voyage)
High-performance embedding and reranking integration for Voyage's specialized models (e.g. voyage-large-2, voyage-code-2).
Installation
npm install @tekbreed/tekmemo-adapter-voyage @tekbreed/tekmemoUsage
import { createVoyageEmbedder } from "@tekbreed/tekmemo-adapter-voyage";
const embedder = createVoyageEmbedder({
apiKey: process.env.VOYAGE_API_KEY,
model: "voyage-2",
});
const results = await embedder.embedTexts({
texts: ["How does the billing system work?", "Explain the graph schema."],
});Transformers.js — local (@tekbreed/tekmemo-adapter-transformers)
A zero-config local ONNX embedder that runs in process via Transformers.js — no API key, no cloud. This is the adapter that powers TekMemo's zero-API-key hybrid recall: with recall.localEmbeddings enabled, the runtime lazy-loads it on the first recall and recall.engine: "auto" upgrades to hybrid retrieval.
Installation
npm install @tekbreed/tekmemo-adapter-transformers @tekbreed/tekmemoUsage
import { createTransformersEmbedder } from "@tekbreed/tekmemo-adapter-transformers";
// Defaults to Xenova/all-MiniLM-L6-v2 (384-dim); model downloads once then runs offline
const embedder = createTransformersEmbedder();
const { embeddings } = await embedder.embedTexts({
texts: ["User prefers TypeScript.", "Authentication uses bearer tokens."],
});You usually do not need to construct it yourself — set recall.localEmbeddings (see Configuration) and the runtime wires it up lazily. If the adapter is missing or fails, recall falls back to the lexical (BM25 + fuzzy) path.
Best for offline/private/single-machine agent memory; for large shared indices, prefer a provider embedder above plus a managed vector store.
Shared provider features
The OpenAI and Voyage adapters share:
- Batching: Automatically handles large text arrays by splitting them into batches that fit the provider's limits.
- Retries: Configurable exponential backoff for network and rate-limit errors.
- Validation: Strict validation of dimensions, model names, and input lengths.
- Error Mapping: Converts raw API errors into typed TekMemo errors.