Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zenpreference

A semantic preference store for AI applications. Store key-value preferences with natural language content and retrieve them by semantic similarity.

npm

Features

  • Semantic retrieval — Find preferences by meaning, not just exact keys
  • Key routing — Known keys (e.g. theme, packageManager) get exact matches first
  • SQLite storage — Persistent storage with optional lazy loading
  • AI SDK embeddings — Uses any AI SDK–compatible embedding model

Installation

bun add zenpreference @openrouter/ai-sdk-provider

Usage

import { createOpenRouter } from "@openrouter/ai-sdk-provider";
import { PreferenceStore } from "zenpreference";

const openrouter = createOpenRouter({ apiKey: process.env.OPENROUTER_API_KEY! });
const embeddingModel = openrouter.textEmbeddingModel("openai/text-embedding-3-small");

const store = new PreferenceStore({
  embeddingModel,
  filePath: "./.preferences.db",
  knownKeys: ["theme", "packageManager", "language", "framework"],
});

await store.add({
  key: "theme",
  value: "dark",
  content: "User prefers dark mode for all applications",
});

const prefs = await store.getRelevant("user's color scheme preference");

API

  • PreferenceStore — Main store class
  • add(preference) — Store a preference
  • getByKey(key) — Get by exact key
  • getRelevant(query) — Semantic search over preferences

License

MIT

About

Semantic preference store for AI apps. Store key-value preferences with natural language content, retrieve by meaning.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages