Summary
Add Eden AI as a first-class LLM provider (and embedder) in repowise.
Eden AI is an EU-headquartered gateway that exposes 700+
models (Mistral, GPT, Claude, Gemini, Cohere, DeepSeek, Llama, …) behind a single
OpenAI-compatible endpoint (https://api.edenai.run/v3), with an EU endpoint
(https://api.eu.edenai.run/v3) for data residency / GDPR-sensitive workloads.
Why it fits repowise
- It's OpenAI-compatible, so it slots into the existing provider pattern the same
way openrouter / deepseek do — no new dependency (reuses the openai SDK
with a custom base_url).
- One key unlocks many vendors, which is convenient for the BYOK model, and the EU
endpoint is useful for teams with data-residency requirements.
Proposed scope
EdenAIProvider (llm/edenai.py) — generate() + streaming chat + /models
discovery; default mistral/mistral-small-latest; EDENAI_API_KEY /
EDENAI_BASE_URL; reasoning mapped to OpenAI reasoning_effort for OpenAI
reasoning models routed via Eden.
EdenAIEmbedder (embedding/edenai.py) — openai/text-embedding-3-small default.
- Registry + rate-limiter + server catalog + CLI selection/validation + web UI + tests + docs.
I've implemented this following .github/CONTRIBUTING.md and verified it end-to-end
against the live API. Happy to open the PR — filing this first per the issue-first
convention. Would you be open to it?
Summary
Add Eden AI as a first-class LLM provider (and embedder) in repowise.
Eden AI is an EU-headquartered gateway that exposes 700+
models (Mistral, GPT, Claude, Gemini, Cohere, DeepSeek, Llama, …) behind a single
OpenAI-compatible endpoint (
https://api.edenai.run/v3), with an EU endpoint(
https://api.eu.edenai.run/v3) for data residency / GDPR-sensitive workloads.Why it fits repowise
way
openrouter/deepseekdo — no new dependency (reuses theopenaiSDKwith a custom
base_url).endpoint is useful for teams with data-residency requirements.
Proposed scope
EdenAIProvider(llm/edenai.py) —generate()+ streaming chat +/modelsdiscovery; default
mistral/mistral-small-latest;EDENAI_API_KEY/EDENAI_BASE_URL;reasoningmapped to OpenAIreasoning_effortfor OpenAIreasoning models routed via Eden.
EdenAIEmbedder(embedding/edenai.py) —openai/text-embedding-3-smalldefault.I've implemented this following
.github/CONTRIBUTING.mdand verified it end-to-endagainst the live API. Happy to open the PR — filing this first per the issue-first
convention. Would you be open to it?