Thanks to visit codestin.com
Credit goes to github.com

Skip to content

feat: add OpenRouter embedding provider support#118

Open
pablomichelettii wants to merge 2 commits into
qdrant:masterfrom
pablomichelettii:feature/openrouter-provider
Open

feat: add OpenRouter embedding provider support#118
pablomichelettii wants to merge 2 commits into
qdrant:masterfrom
pablomichelettii:feature/openrouter-provider

Conversation

@pablomichelettii
Copy link
Copy Markdown

Motivation

When working with large codebases, local embedding models (via FastEmbed) can be slow or
impractical due to memory and CPU constraints. This PR adds support for OpenRouter as an
embedding provider, allowing users to use cloud-hosted embedding models without running
anything locally.

Changes

  • New OpenRouterEmbeddingProvider using httpx.AsyncClient for async HTTP requests
  • EMBEDDING_PROVIDER=openrouter and OPENROUTER_API_KEY env vars to configure the provider
  • Optional OPENROUTER_EMBEDDING_SIZE env var to override vector size for unknown models
  • Early validation: startup fails immediately if OPENROUTER_API_KEY is missing
  • Tests covering initialization, vector naming, size resolution, embedding calls, and missing
    key error
  • README updated with new env vars documentation

Usage

QDRANT_URL="http://localhost:6333" \
COLLECTION_NAME="my-codebase"
EMBEDDING_PROVIDER="openrouter" \
OPENROUTER_API_KEY="sk-or-..."
EMBEDDING_MODEL="text-embedding-3-small" \
uvx mcp-server-qdrant

pablomichelettii and others added 2 commits March 23, 2026 12:24
Allows pointing the server at collections whose vectors use a custom field
name (e.g. cocoindex writes under 'embedding'). Falls back to the existing
model-derived default when the env var is unset.
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