Skip to content

feat: add Eden AI as an LLM provider - #671

Merged
pancacake merged 1 commit into
HKUDS:devfrom
MVS-source:feat/edenai-provider
Jul 24, 2026
Merged

feat: add Eden AI as an LLM provider#671
pancacake merged 1 commit into
HKUDS:devfrom
MVS-source:feat/edenai-provider

Conversation

@MVS-source

Copy link
Copy Markdown
Contributor

What

Adds Eden AI as an LLM provider.

Eden AI is an OpenAI-compatible gateway (https://api.edenai.run/v3) that routes to many upstream providers behind a single key. Models are addressed as <provider>/<model>, e.g. openai/gpt-5.5 or mistral/mistral-large-latest.

Changes

A single ProviderSpec in deeptutor/services/provider_registry.py (per the module's "adding a new provider" note — env vars, config matching and status display all derive from the registry):

  • backend="openai_compat", is_gateway=True, env_key="EDENAI_API_KEY", default_api_base="https://api.edenai.run/v3".

Placed among the gateways (after OpenRouter), matching the existing order.

Testing

  • ruff format --check and ruff check pass on the changed file.
  • Import smoke test: the registry loads and edenai resolves (canonical_provider_name("edenai") -> "edenai").
  • Verified live against https://api.edenai.run/v3: chat completions return 200 and tool/function calling works for openai/gpt-5.5 and mistral/mistral-large-latest; GET /models returns an OpenAI-style list.

Embedding support (Eden AI also exposes /v3/embeddings) can follow as a separate change to EMBEDDING_PROVIDERS if useful.

Targeting dev per CONTRIBUTING.

Eden AI is an OpenAI-compatible gateway (https://api.edenai.run/v3) that routes to many providers behind one key; models addressed as <provider>/<model>. Adds a single ProviderSpec to the registry (openai_compat backend, EDENAI_API_KEY), so env vars, config matching and status display all derive from it per the module docs.
@pancacake
pancacake merged commit 221e0e1 into HKUDS:dev Jul 24, 2026
pancacake added a commit that referenced this pull request Jul 24, 2026
… tests

Follow-up to #671. The eden_ai/eden-ai spelling variants lived in the
spec's keywords tuple, but keywords are only consulted by find_by_model
(which excludes gateways) — binding names resolve through
PROVIDER_ALIASES. Register the alias there (canonicalization folds
eden-ai into eden_ai) and trim keywords to the canonical name.

Backfill the four registry-wiring tests the Atlas Cloud addition (#654)
established as the pattern: spec fields + alias + base detection,
runtime binding resolution, settings provider choices, and the cloud
openai_compat native-tools guard.
@pancacake

Copy link
Copy Markdown
Collaborator

Merged — thanks for the clean, registry-first addition and the live verification notes. Followed up in 75900a5: registered the eden_ai binding alias in PROVIDER_ALIASES (the keywords tuple isn't consulted for gateway name resolution) and backfilled the registry-wiring tests per the Atlas Cloud precedent (#654). Embedding support via EMBEDDING_PROVIDERS is welcome as a follow-up PR.

pancacake added a commit that referenced this pull request Jul 26, 2026
Maintenance release on top of v1.5.4, with two new ways to bring a model.

- OpenAI Codex is a first-party OAuth provider (#690): browser sign-in
  against your own ChatGPT plan replaces the API-key fields, credentials
  stay in <user-root>/private/openai-codex/ with owner-only permissions,
  and the managed profile is owner-bound so it is never handed out through
  grants or made active over an already-configured LLM.
- Eden AI joins as the 35th LLM binding (#671), an OpenAI-compatible
  gateway addressed as <provider>/<model>.
- Knowledge bases answer from a real document inventory instead of
  guessing from retrieval hits: a per-KB inventory rides the system prompt
  and a new kb_files tool enumerates on demand with glob/substring
  filters, mounted under rag's gate and deniable per partner.
- The rag tool cites the chunks, entities, and reports retrieval actually
  returned (#694) rather than an echo of its own query; the local LightRAG
  pipeline still surfaces nothing to cite.
- GraphRAG indexing runs on a worker thread with its own asyncio loop
  (#695), so UVICORN_LOOP=asyncio is no longer needed, and two config
  faults that broke the first run are fixed (#699).
- Assorted: unique optimistic message ids (#698, a v1.5.4 regression that
  dropped the assistant reply from the visible thread), partner-chat
  manual scrolling respected (#704), claude-opus-5 recognized as
  effort-based (#703), Kimi models omit temperature outright, and
  deeptutor start keeps relaying logs on legacy Windows code pages (#702).
- Typing: narrow the loopback callback server to asyncio.Server and gate
  the msvcrt lock path on sys.platform so it type-checks off Windows.

Release notes: assets/releases/ver1-5-5.md
MVS-source added a commit to edenai/docs that referenced this pull request Jul 27, 2026
…des (#82)

Eden AI shipped as a native provider in all three, merged upstream:
Eigenwise/atomic-agents#270, oomol-lab/open-connector#164,
HKUDS/DeepTutor#671. Adds v3/integrations/*.mdx pages (AI Frameworks,
AI Gateway, Chat UI groups) matching the existing devdoc format.
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.

2 participants