Skip to content

Conversation

@ojowwalker77
Copy link
Owner

@ojowwalker77 ojowwalker77 commented Jan 11, 2026

Summary

  • Add semantic search using local AI embeddings (no API keys needed)
  • Uses @xenova/transformers with all-MiniLM-L6-v2 model (384-dimensional vectors)
  • Store embeddings as BLOB in SQLite with auto-migration for existing databases
  • Model downloads once (~23MB) to ~/.get-papers/models/

New API

// Embed papers
yield* engine.embed("paper-id")
yield* engine.embedAll(100)

// Semantic search
yield* engine.similar("machine learning for climate")
yield* engine.similarTo("paper-id")

- Add @xenova/transformers with all-MiniLM-L6-v2 model (384-dim vectors)
- Store embeddings as BLOB in SQLite, auto-migrate existing DBs
- New engine methods: embed, embedAll, similar, similarTo
- Pure Effect.js API with EmbeddingError type
- Model downloads on first use (~23MB) to ~/.get-papers/models/
@ojowwalker77 ojowwalker77 merged commit f4f0623 into main Jan 11, 2026
2 checks passed
@ojowwalker77 ojowwalker77 deleted the add-local-embeddings branch January 11, 2026 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants