Skip to content

feat(providers): add Eden AI as an OpenAI-compatible provider#50

Open
MVS-source wants to merge 1 commit into
hexo-ai:mainfrom
MVS-source:add-edenai-provider
Open

feat(providers): add Eden AI as an OpenAI-compatible provider#50
MVS-source wants to merge 1 commit into
hexo-ai:mainfrom
MVS-source:add-edenai-provider

Conversation

@MVS-source

Copy link
Copy Markdown

Summary

Adds Eden AI as an OpenAI-compatible provider. Eden AI is an EU-based unified API to 100+ models (Mistral, OpenAI, Anthropic, Google, …) behind a single OpenAI-compatible endpoint and one key. Per sia/providers.py ("Adding a provider is dropping a JSON file — no code change"), this is a JSON drop-in.

Type of change

  • Bug fix
  • New feature
  • Documentation
  • New or updated task
  • Evaluation change
  • Provider/model configuration
  • Security-sensitive change
  • Refactor / maintenance
  • Other

Related issue

N/A (small, clearly-scoped provider addition)

What changed

  • add sia/defaults/providers/edenai.json (client_kind = openai, base_url = https://api.edenai.run/v3, api_key_env = EDENAI_API_KEY)
  • cover it in tests/test_providers.py (bundled set + test_load_edenai_provider)
  • document it in docs/configuration.md (bundled providers list + EDENAI_API_KEY in the API keys section)

How I tested this

pip install -e ".[dev]"
python -m pytest tests/ -v      # 130 passed, 1 skipped
ruff check sia/ tests/          # passed
ruff format --check sia/ tests/ # passed

Also verified end-to-end against the live Eden AI API: SIA loads the edenai provider and an OpenAI-SDK client at base_url returns valid completions for mistral/mistral-small-latest and openai/gpt-4o-mini.

Security and privacy checklist

  • This change does not log API keys, secrets, private task data, or generated credentials.
  • This change does not weaken sandboxing, subprocess isolation, or task data boundaries.

The provider file stores only the name of the environment variable (EDENAI_API_KEY), never a key value; the key is read from the environment at runtime, consistent with the other bundled providers.

Eden AI is an OpenAI-compatible gateway to 100+ models (Mistral, OpenAI,
Anthropic, Google, and more) behind a single EU-based endpoint and one
EDENAI_API_KEY. Adding it is a JSON drop-in (client_kind=openai), no code
change, mirroring the existing openai/together/nebius providers.

- add sia/defaults/providers/edenai.json
- cover it in tests/test_providers.py (bundled set + load assertions)
- document it in docs/configuration.md
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