Skip to content

feat(providers): add the Voyage AI embedder (#611) - #2109

Open
sloemo01 wants to merge 2 commits into
repowise-dev:mainfrom
sloemo01:feat/init-custom-language-voyage
Open

feat(providers): add the Voyage AI embedder (#611)#2109
sloemo01 wants to merge 2 commits into
repowise-dev:mainfrom
sloemo01:feat/init-custom-language-voyage

Conversation

@sloemo01

@sloemo01 sloemo01 commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

What

Fixes #611 — the Voyage half of "language + VOYAGE settings in the custom init generation options" (output language was already prompted in the advanced generation section, both via --language and interactively; what was missing was Voyage).

Root cause

Voyage was named in the embedder registry docstring as a custom-registration example but had no module, no CLI choice, and no key resolution.

Changes

  • embedding/voyage.py: VoyageEmbedder (voyage-3 default 1024 dims, known-model dims table, REPOWISE_EMBEDDING_DIMS override, width-mismatch guard, L2 normalization, thread-pooled SDK calls)
  • registry: voyage built-in
  • CLI + server key maps: VOYAGE_API_KEY resolution (both copies of _EMBEDDER_KEY_ENV)
  • auto-detect VOYAGE_API_KEY and offer voyage in the advanced-config embedder prompt

Tests

  • 6 embedder unit tests + 2 key-resolution tests; 86 embedder/init/server tests pass.

Note: test_plugin_content is red on main itself (v0.47.0 release bug, unrelated to this PR).

@sloemo01
sloemo01 force-pushed the feat/init-custom-language-voyage branch from d37f969 to a192294 Compare September 3, 2026 20:40
Voyage was named in the embedder registry docstring as a custom-registration
example but had no module, no CLI choice, and no key resolution — the missing
half of the init custom options ask (language options already exist in the
advanced config).

- embedding/voyage.py: VoyageEmbedder (voyage-3 default, known-model dims
  table, REPOWISE_EMBEDDING_DIMS override, width-mismatch guard, L2
  normalize, thread-pooled SDK calls)
- registry: 'voyage' built-in
- cli/providers/keys.py + mcp_server/_server.py: VOYAGE_API_KEY resolution
  (both copies of _EMBEDDER_KEY_ENV)
- cli/providers/embedders.py + ui/mode_selection.py: auto-detect VOYAGE_API_KEY
  and offer voyage in the advanced-config embedder prompt

Tests: 6 embedder unit tests + 2 key-resolution tests; 86 embedder/init/
server tests pass.
@sloemo01
sloemo01 force-pushed the feat/init-custom-language-voyage branch from a192294 to a22076e Compare September 3, 2026 20:43
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.

[Feature] Add language settings and VOYAGE settings to the custom index generation options of repowise init.

1 participant