New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

@memofs/adapter-openai

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@memofs/adapter-openai

OpenAI embeddings adapter for MemoFS.

latest
Source
npmnpm
Version
1.3.0-beta.2
Version published
Weekly downloads
15
-77.27%
Maintainers
1
Weekly downloads
 
Created
Source

@memofs/adapter-openai

npm version   Status: Beta   npm downloads   CI   Docs   MIT License

OpenAI embeddings adapter for MemoFS.

What is this?

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.

Installation

npm install @memofs/adapter-openai

Requires Node.js >= 22.

You also need an OpenAI API key from platform.openai.com.

Quick Start

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 }

Configuration

Embedder Options

OptionTypeDefaultDescription
apiKeystringrequiredOpenAI API key
modelstring"text-embedding-3-large"Embedding model to use
dimensionsnumbermodel defaultOutput dimensions (for text-embedding-3 models)
encodingFormat"float" | "base64""float"Output format for embeddings
timeoutnumber30000Request timeout in milliseconds
maxRetriesnumber3Maximum retry attempts
batchSizenumber100Maximum texts per batch request
organizationstring—OpenAI organization ID (optional)

Supported Models

ModelDimensionsMax TokensUse Case
text-embedding-3-large3072 (configurable)8191Highest quality
text-embedding-3-small1536 (configurable)8191Balanced quality/speed
text-embedding-ada-00215368191Legacy, cost-effective

Integration with MemoFS Core

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.

Advanced: Custom Client

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",
});

Testing

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 },
});

Boundary

This package owns the OpenAI embedder adapter implementation. It does not own the MemoFS core contracts, other provider adapters, or the OpenAI service itself.

Contributing

See our central Contributing Guide and development scripts for details on formatting, linting, and testing within the monorepo.

License

MIT

Keywords

openai

FAQs

Package last updated on 16 Aug 2026

Related posts