
Company News
Socket Joins New OpenJS Program to Fund Node.js Security Work
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.
@memofs/adapter-openai
Advanced tools
@memofs/adapter-openaiOpenAI embeddings adapter for MemoFS.
OpenAI Embedder adapter for MemoFS. Provides first-class integration with OpenAI's embedding models (text-embedding-3-small, text-embedding-3-large, text-embedding-ada-002) through MemoFS's provider-neutral embedder contract.
npm install @memofs/adapter-openai
Requires Node.js >= 22.
You also need an OpenAI API key from platform.openai.com.
import { createOpenAIEmbedder } from "@memofs/adapter-openai";
const embedder = createOpenAIEmbedder({
apiKey: process.env.OPENAI_API_KEY!,
model: "text-embedding-3-large",
});
// Embed a batch of texts
const result = await embedder.embed([
"MemoFS provides unified memory runtime for AI agents",
"OpenAI offers state-of-the-art embedding models",
]);
console.log(result.embeddings); // number[][]
console.log(result.usage); // { promptTokens, totalTokens }
| Option | Type | Default | Description |
|---|---|---|---|
apiKey | string | required | OpenAI API key |
model | string | "text-embedding-3-large" | Embedding model to use |
dimensions | number | model default | Output dimensions (for text-embedding-3 models) |
encodingFormat | "float" | "base64" | "float" | Output format for embeddings |
timeout | number | 30000 | Request timeout in milliseconds |
maxRetries | number | 3 | Maximum retry attempts |
batchSize | number | 100 | Maximum texts per batch request |
organization | string | — | OpenAI organization ID (optional) |
| Model | Dimensions | Max Tokens | Use Case |
|---|---|---|---|
text-embedding-3-large | 3072 (configurable) | 8191 | Highest quality |
text-embedding-3-small | 1536 (configurable) | 8191 | Balanced quality/speed |
text-embedding-ada-002 | 1536 | 8191 | Legacy, cost-effective |
import { MemoFS } from "@memofs/core";
import { createNodeFsMemoryStore } from "@memofs/core/node-fs";
import { createOpenAIEmbedder } from "@memofs/adapter-openai";
const store = createNodeFsMemoryStore({ rootDir: "." });
const memo = new MemoFS({
store,
projectId: "my-app",
embedder: createOpenAIEmbedder({
apiKey: process.env.OPENAI_API_KEY!,
model: "text-embedding-3-large",
dimensions: 1536, // Optional: reduce dimensions for speed
}),
});
// The embedder powers hybrid recall; embeddings persist to
// `.memofs/indexes/embeddings.jsonl` via the file-backed recall store.
import { OpenAI } from "openai";
import { createOpenAIEmbedder } from "@memofs/adapter-openai";
const customClient = new OpenAI({
apiKey: process.env.OPENAI_API_KEY!,
baseURL: "https://custom-proxy.example.com/v1", // For proxies, Azure, etc.
defaultHeaders: { "x-custom-header": "value" },
});
const embedder = createOpenAIEmbedder({
client: customClient,
model: "text-embedding-3-large",
});
The package exports fake implementations for testing:
import { createFakeOpenAIClient } from "@memofs/adapter-openai/testing";
const fakeClient = createFakeOpenAIClient({
embeddings: [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]],
usage: { promptTokens: 10, totalTokens: 10 },
});
This package owns the OpenAI embedder adapter implementation. It does not own the MemoFS core contracts, other provider adapters, or the OpenAI service itself.
See our central Contributing Guide and development scripts for details on formatting, linting, and testing within the monorepo.
MIT
FAQs
OpenAI embeddings adapter for MemoFS.
The npm package @memofs/adapter-openai receives a total of 15 weekly downloads. As such, @memofs/adapter-openai popularity was classified as not popular.
We found that @memofs/adapter-openai demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Company News
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.