chore: switch embedding provider to OpenRouter #10

Merged
david merged 1 commit from chore/2026-11-01/openrouter-embedding-support into main 2026-10-31 20:30:00 +00:00
Owner

What & why

The embedders.mxbai blocks in both index-settings files pointed at LM Studio REST servers on the lab network (http://10.1.5.170:1234/v1/embeddings, text-embedding-nomic-embed-text-v2-moe). This switches the embedder to OpenRouter (https://openrouter.ai/api/v1/embeddings, model qwen/qwen3-embedding-8b), a public, OpenAI-compatible endpoint, so embedding can run without the lab network.

Concretely, in both files the embedders.mxbai block:

  • url → https://openrouter.ai/api/v1/embeddings
  • request.model → qwen/qwen3-embedding-8b
  • request.input gains "{{..}}" so Meilisearch expands it over the batch of documents (OpenAI-style array input)
  • request.encoding → request.encoding_format (correct OpenAI/Meilisearch field name)
  • response.data gains "{{..}}" so the response template handles the full data array
  • new apiKey: "{OPENROUTER_API_KEY}" — a template placeholder resolved by product-sync at apply time; no live key is committed

The research brief documents the verified OpenRouter/Meilisearch facts behind these choices, the delivery path through product-sync (settings applied on index creation only), and the open follow-ups (model selection, key delivery mechanism, BFF query-time hybrid usage) as decisions rather than changes.

Per-file breakdown

Modified

  • shoppy-products.json — embedders.mxbai: new OpenRouter url, model qwen/qwen3-embedding-8b, {{..}} expansion in request.input and response.data, encoding → encoding_format, added apiKey: "{OPENROUTER_API_KEY}"
  • shoppy-categories.json — same embedders.mxbai changes

Added

  • docs/research-brief-openrouter-embedding-support.md — research brief (2026-10-31): problem statement, environment & method, verified OpenRouter + Meilisearch facts, config recommendations, and follow-up decision items
## What & why The `embedders.mxbai` blocks in both index-settings files pointed at LM Studio REST servers on the lab network (`http://10.1.5.170:1234/v1/embeddings`, `text-embedding-nomic-embed-text-v2-moe`). This switches the embedder to **OpenRouter** (`https://openrouter.ai/api/v1/embeddings`, model `qwen/qwen3-embedding-8b`), a public, OpenAI-compatible endpoint, so embedding can run without the lab network. Concretely, in both files the `embedders.mxbai` block: - `url` → `https://openrouter.ai/api/v1/embeddings` - `request.model` → `qwen/qwen3-embedding-8b` - `request.input` gains `"{{..}}"` so Meilisearch expands it over the batch of documents (OpenAI-style array input) - `request.encoding` → `request.encoding_format` (correct OpenAI/Meilisearch field name) - `response.data` gains `"{{..}}"` so the response template handles the full data array - new `apiKey: "{OPENROUTER_API_KEY}"` — a template placeholder resolved by `product-sync` at apply time; no live key is committed The research brief documents the verified OpenRouter/Meilisearch facts behind these choices, the delivery path through `product-sync` (settings applied on index creation only), and the open follow-ups (model selection, key delivery mechanism, BFF query-time `hybrid` usage) as decisions rather than changes. ## Per-file breakdown ### Modified - **`shoppy-products.json`** — `embedders.mxbai`: new OpenRouter `url`, model `qwen/qwen3-embedding-8b`, `{{..}}` expansion in `request.input` and `response.data`, `encoding` → `encoding_format`, added `apiKey: "{OPENROUTER_API_KEY}"` - **`shoppy-categories.json`** — same `embedders.mxbai` changes ### Added - **`docs/research-brief-openrouter-embedding-support.md`** — research brief (2026-10-31): problem statement, environment & method, verified OpenRouter + Meilisearch facts, config recommendations, and follow-up decision items
david merged commit 912ccb042a into main 2026-10-31 20:30:00 +00:00
david deleted branch chore/2026-11-01/openrouter-embedding-support 2026-10-31 20:30:00 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
shoppy/shoppy-index-configuration!10
No description provided.