Skip to content

Add local embedding backend with shared routing and settings#38

Open
humandebri wants to merge 7 commits intomainfrom
add-local-emb
Open

Add local embedding backend with shared routing and settings#38
humandebri wants to merge 7 commits intomainfrom
add-local-emb

Conversation

@humandebri
Copy link
Copy Markdown
Collaborator

@humandebri humandebri commented Apr 17, 2026

Summary

  • Add a shared embedding backend selector with api as the default and BAAI/bge-m3 as the local option.
  • Route query, insert, search, ask-ai, Python, tools, and TUI flows through the shared embedding facade.
  • Add kinic-cli embed for embedding diagnostics and prefs set-embedding-backend / TUI settings controls for the shared preference.
  • Create new memories at 1024 dimensions, record the backend id for new inserts, and fail explicitly when a selected embedding vector does not match an existing memory dimension.
  • Add local chunking and FastEmbed-backed local inference with cache and chunking overrides.

Notes

  • Local BAAI/bge-m3 downloads/cache data under $HOME/.cache/kinic-cli/embeddings by default.
  • Older non-1024 memories must be reset or reindexed before local search/insert can use them.
  • If the shared config directory cannot be loaded, embedding-backed commands now fail instead of silently picking a fallback backend.

Tests

  • Added coverage for backend normalization, local config validation, preferences output/mutations, capability JSON, TUI settings projection, and dimension guards.

@humandebri humandebri changed the title Add local Snowflake embedding backend with shared routing and settings Add local embedding backend with shared routing and settings Apr 22, 2026
@humandebri humandebri self-assigned this May 5, 2026
@humandebri humandebri marked this pull request as ready for review May 5, 2026 07:47
@humandebri humandebri requested a review from ClankPan May 5, 2026 07:47
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.

1 participant