aider/aider/website/_posts/2025-01-28-deepseek-down.md

4.6 KiB

title excerpt highlight_image draft nav_exclude
DeepSeek API issues - Alternative providers DeepSeek's API has been experiencing reliability issues. Here are alternative providers you can use. /assets/deepseek-down.jpg false true

{% if page.date %}

{{ page.date | date: "%B %d, %Y" }}

{% endif %}

DeepSeek API issues - Alternative providers

{: .no_toc }

DeepSeek's API has been experiencing significant reliability issues for the past 24-48+ hours, with many users reporting downtime and overload problems.

If you're affected by these issues, several alternative providers offer access to DeepSeek models. This article compares their performance on aider's polyglot benchmark to help you choose a reliable alternative.

Using alternative providers

The benchmark results below show that several providers offer comparable or better performance than DeepSeek's native API. To switch providers, you'll need to:

  1. Sign up for an account with your chosen alternative provider
  2. Get their API key
  3. Update your aider configuration to use their endpoint

For example, to use OpenRouter:

export OPENROUTER_API_KEY=<your-key>
aider --model openrouter/deepseek/deepseek-v3

Configuring model settings

You may want to configure specific settings when using alternative providers. For example, you can control which OpenRouter providers are used to serve the model, or set other model parameters.

Create a .aider.model.settings.yml file in your home directory or git project root with settings like this:

- name: openrouter/deepseek/deepseek-v3
  extra_params:
    extra_body:
      provider:
        # Only use these providers, in this order
        order: ["Novita"]
        # Don't fall back to other providers
        allow_fallbacks: false

Different providers may need different settings. For example, here's a configuration for using Fireworks:

- name: fireworks_ai/accounts/fireworks/models/deepseek-v3
  edit_format: diff
  weak_model_name: null
  use_repo_map: true
  send_undo_reply: false
  lazy: false
  reminder: sys
  examples_as_sys_msg: true
  extra_params:
    max_tokens: 8192
  cache_control: false
  caches_by_default: true
  use_system_prompt: true
  use_temperature: true
  streaming: true

You'll need to adapt these settings based on your chosen provider. See:

Results

{% assign edit_sorted = site.data.deepseek-down | sort: 'pass_rate_2' | reverse %} {% for row in edit_sorted %} {% endfor %}
Model Percent completed correctly Percent using correct edit format Command Edit format Total Cost
{{ row.model }} {{ row.pass_rate_2 }}% {{ row.percent_cases_well_formed }}% {{ row.command }} {{ row.edit_format }} {% if row.total_cost == 0 %}?{% else %}${{ row.total_cost | times: 1.0 | round: 2 }}{% endif %}