feat: add Atlas Cloud backend helper - #1426
Conversation
Assisted-by: OpenAI Codex Signed-off-by: binyangzhu000-sudo <224954946+binyangzhu000-sudo@users.noreply.github.com>
|
@binyangzhu000-sudo thanks for the contribution. Looking at the change you made to use Atlas Cloud as the backend, it seems as if this should already work w today with OpenAIBackend by passing base_url="https://api.atlascloud.ai/v1" and api_key=... directly (or via OPENAI_BASE_URL / OPENAI_API_KEY). I don't have access though to try this myself. A new backend would make sense if it needs to implement new behaviour including there being limitations in the existing backends. Was there a particular reason you looked at adding a backend - for extra function now? plans for the future? bugs in existing backend? poor docs? |
|
You’re right that Atlas Cloud requests already work through The intended value is provider-specific convenience: separate If provider-specific wrappers are not a direction the project wants, I’m happy to narrow this to documentation/a small helper or close it. Please let me know which scope you prefer. |
|
Thanks for the PR @binyangzhu000-sudo! One of the things that your PR has surfaced is that adding a new provider requires editing core I'm opening an issue to spec that out and will link it here. Once we get that in, then we can resume the conversation about adding a new backend and/or documenting it. Is that something you'd be interested in taking on? |
Pull Request
Issue
N/A
Description
Adds an Atlas Cloud OpenAI-compatible backend helper that reuses the existing
OpenAIBackendpath while applying Atlas Cloud defaults:AtlasCloudBackendandcreate_atlascloud_openai_backendATLASCLOUD_API_KEYfor auth, with optionalATLASCLOUD_API_BASE/ATLASCLOUD_BASE_URLoverrideshttps://api.atlascloud.ai/v1andqwen/qwen3.5-flashas defaultsatlascloud,atlas-cloud, andatlasbackend aliases forstart_backend/start_sessionatlascloudfor telemetry pathsTesting
Local validation:
uv run ruff format mellea/backends/atlascloud.py mellea/stdlib/start_backend.py mellea/stdlib/session.py test/backends/test_atlascloud.pyuv run pytest test/backends/test_atlascloud.py test/stdlib/test_session_unit.py -quv run ruff check mellea/backends/atlascloud.py mellea/stdlib/start_backend.py mellea/stdlib/session.py test/backends/test_atlascloud.py test/stdlib/test_session_unit.pygit diff --checkuv run python -m py_compile mellea/backends/atlascloud.py mellea/stdlib/start_backend.py mellea/stdlib/session.py test/backends/test_atlascloud.pyuv run mypy mellea/backends/atlascloud.py mellea/stdlib/start_backend.py mellea/stdlib/session.py test/backends/test_atlascloud.pyuv run python tooling/docs-autogen/build.pyuv run python tooling/docs-autogen/audit_coverage.py --docs-dir docs/docs/api --quality --fail-on-quality --threshold 100The Atlas Cloud model catalog was checked live before committing;
qwen/qwen3.5-flashanddeepseek-ai/deepseek-v4-prowere both present.Attribution
Adding a new component, requirement, sampling strategy, or tool?