Skip to content

Add Forge embeddings provider#12542

Open
JCorners68 wants to merge 2 commits into
continuedev:mainfrom
JCorners68:add-forge-embeddings-provider
Open

Add Forge embeddings provider#12542
JCorners68 wants to merge 2 commits into
continuedev:mainfrom
JCorners68:add-forge-embeddings-provider

Conversation

@JCorners68
Copy link
Copy Markdown

@JCorners68 JCorners68 commented Jun 2, 2026

Adds a named forge embeddings provider. Forge (by Voxell) is an OpenAI-compatible embeddings API, so this mirrors the existing Voyage/Scaleway/Tensorix providers rather than introducing any custom logic — the OpenAI base class's _embed() handles the embedding path.

Forge is embeddings-only (no chat/autocomplete), so this follows the embeddings-provider precedent set by #3288 (Scaleway). No edits were made to core/llm/autodetect.ts (chat-only maps; Voyage/Scaleway are absent there too).

Provider details

  • OpenAI-compatible, base URL https://api.voxell.ai/v1/
  • Authorization: Bearer <key>
  • Models: forge-turbo (1024d), forge-pro (2560d, default), forge-ultra-4k (4096d); OpenAI aliases also accepted; dimensions supported

Changes

  • core/llm/llms/Forge.tsclass Forge extends OpenAI (mirrors Tensorix.ts)
  • core/llm/llms/index.ts — import + register in LLMClasses
  • packages/openai-adapters/src/index.ts + types.tsopenAICompatible(...) case + provider literal
  • core/control-plane/schema.tsforge in modelDescriptionSchema and embeddingsProviderSchema
  • packages/config-types/src/index.tsforge in both provider enums (matching Scaleway)
  • gui/src/pages/AddNewModel/configs/providers.tsforge block (mirrors tensorix)
  • docs/customize/model-providers/more/forge.mdx + docs/docs.json nav
  • packages/llm-info/src/providers/forge.ts + registered in index.ts
  • packages/openai-adapters/src/test/main.test.ts — config test (apiBase/apiKey), mirroring the Inception case

Notes

  • extensions/vscode/config_schema.json is left untouched. There's no generator that writes it from these schemas in the tree (the prepackage scripts only copy it), and hand-editing it is out of scope — so it's intentionally not modified here.

How tested

  • packages/openai-adapters: npm run build (tsc) clean; new Forge config test passes (vitest run).
  • packages/llm-info and packages/config-types: npm run build (tsc) clean.
  • core: the changed files introduce no new type errors (baseline vs. branch tsc --noEmit error counts are identical; remaining errors are pre-existing workspace-link resolution unrelated to this change).

Summary by cubic

Adds a new OpenAI-compatible embeddings provider: Forge (Voxell). Lets users configure forge-turbo, forge-pro (default), and forge-ultra-4k for embeddings via the existing OpenAI path.

  • New Features
    • New Forge provider extending OpenAI with defaults: apiBase https://api.voxell.ai/v1/, model forge-pro, batch size 128.
    • Registered in the LLM registry and packages/openai-adapters (constructLlmApi) as an OpenAI-compatible endpoint.
    • Added forge to embeddings/model schemas in core/control-plane and packages/config-types.
    • New GUI provider card with API key input; added docs page and nav entry.
    • packages/llm-info now lists Forge and its models.
    • Added config tests in packages/openai-adapters.
    • Embeddings-only; not added to chat autodetect maps.

Written for commit 811618d. Summary will update on new commits.

Review in cubic

JCorners68 and others added 2 commits June 2, 2026 11:40
Forge is an OpenAI-compatible embeddings API from Voxell. Mirrors the
existing Voyage/Scaleway/Tensorix providers. Embeddings-only — the OpenAI
base class _embed() handles the embedding path, so no custom logic is
needed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Forge is embeddings-only like Scaleway; mirror Scaleway's presence in both
the modelDescription and embeddingsProvider enums of @continuedev/config-types
so config.json editor validation recognizes the provider.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@JCorners68 JCorners68 requested a review from a team as a code owner June 2, 2026 18:45
@dosubot dosubot Bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Jun 2, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 2, 2026


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 12 files

Re-trigger cubic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L This PR changes 100-499 lines, ignoring generated files.

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

1 participant