Skip to content

feat: add Astraflow provider support#956

Open
ucloudnb666 wants to merge 1 commit into
katanemo:mainfrom
ucloudnb666:feat/astraflow-1779367127
Open

feat: add Astraflow provider support#956
ucloudnb666 wants to merge 1 commit into
katanemo:mainfrom
ucloudnb666:feat/astraflow-1779367127

Conversation

@ucloudnb666
Copy link
Copy Markdown

Summary

Adds Astraflow (by UCloud / 优刻得) as a supported LLM provider. Astraflow is an OpenAI-compatible AI model aggregation platform supporting 200+ models.

Two variants are registered to cover both endpoints:

Variant provider_interface key Endpoint
Astraflow astraflow https://api-us-ca.umodelverse.ai/v1 (global)
AstraflowCN astraflow_cn https://api.modelverse.cn/v1 (China)

Changes

crates/hermesllm/src/providers/id.rs

  • Added Astraflow and AstraflowCN variants to the ProviderId enum
  • Added "astraflow" / "astraflow_cn" arms to TryFrom<&str>
  • Added explicit _ => return Vec::new() arms in models() (no static model list needed — Astraflow supports 200+ models dynamically configured by the user)
  • Added both variants to the OpenAI-compatible arms in compatible_api_for_client() (both AnthropicMessagesAPI and OpenAIChatCompletions translate to OpenAIChatCompletions upstream)
  • Added Display arms ("astraflow" / "astraflow_cn")

crates/common/src/configuration.rs

  • Added Astraflow and AstraflowCN variants to the LlmProviderType enum (with serde rename attributes)
  • Added Display arms for both variants

Usage example

model_providers:
  - name: astraflow/gpt-4o
    provider_interface: astraflow
    access_key: $ASTRAFLOW_API_KEY
    endpoint: api-us-ca.umodelverse.ai
    model: gpt-4o

  - name: astraflow-cn/deepseek-v3
    provider_interface: astraflow_cn
    access_key: $ASTRAFLOW_CN_API_KEY
    endpoint: api.modelverse.cn
    model: deepseek-v3

References

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