From d949f440a89de8a29ed2e78cb4e2698f695608a1 Mon Sep 17 00:00:00 2001 From: Trung Dinh Date: Fri, 17 Jan 2025 11:42:36 +0700 Subject: [PATCH 1/4] Add support model deepseek/deepseek-chat --- pr_agent/algo/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pr_agent/algo/__init__.py b/pr_agent/algo/__init__.py index 72eb79120..d4f08e5a1 100644 --- a/pr_agent/algo/__init__.py +++ b/pr_agent/algo/__init__.py @@ -29,6 +29,7 @@ 'claude-instant-1': 100000, 'claude-2': 100000, 'command-nightly': 4096, + 'deepseek/deepseek-chat': 128000, # 128K, but may be limited by config.max_model_tokens 'replicate/llama-2-70b-chat:2c1608e18606fad2812020dc541930f2d0495ce32eee50074220b87300bc16e1': 4096, 'meta-llama/Llama-2-7b-chat-hf': 4096, 'vertex_ai/codechat-bison': 6144, From e58a5355941e83b69654f24b7e4e49c6ceb245c7 Mon Sep 17 00:00:00 2001 From: Trung Dinh Date: Fri, 17 Jan 2025 11:43:06 +0700 Subject: [PATCH 2/4] Inject deepseek key to DEEPSEEK_API_KEY environment variable --- pr_agent/algo/ai_handlers/litellm_ai_handler.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pr_agent/algo/ai_handlers/litellm_ai_handler.py b/pr_agent/algo/ai_handlers/litellm_ai_handler.py index c8a752f8c..453973f66 100644 --- a/pr_agent/algo/ai_handlers/litellm_ai_handler.py +++ b/pr_agent/algo/ai_handlers/litellm_ai_handler.py @@ -90,6 +90,10 @@ def __init__(self): if get_settings().get("GOOGLE_AI_STUDIO.GEMINI_API_KEY", None): os.environ["GEMINI_API_KEY"] = get_settings().google_ai_studio.gemini_api_key + # Support deepseek models + if get_settings().get("DEEPSEEK.KEY", None): + os.environ['DEEPSEEK_API_KEY'] = get_settings().get("DEEPSEEK.KEY") + def prepare_logs(self, response, system, user, resp, finish_reason): response_log = response.dict().copy() response_log['system'] = system From 5ed260d885a140f16af05e35ce29f149a98b4b03 Mon Sep 17 00:00:00 2001 From: Trung Dinh Date: Fri, 17 Jan 2025 11:43:20 +0700 Subject: [PATCH 3/4] Add deepseek configuration block --- pr_agent/settings/.secrets_template.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pr_agent/settings/.secrets_template.toml b/pr_agent/settings/.secrets_template.toml index bb3ee4590..bee90616e 100644 --- a/pr_agent/settings/.secrets_template.toml +++ b/pr_agent/settings/.secrets_template.toml @@ -91,3 +91,6 @@ pat = "" # Optional, uncomment if you want to use Azure devops webhooks. Value assinged when you create the webhook # webhook_username = "" # webhook_password = "" + +[deepseek] +key = "" From cea1b58714bf86f4db4bace1772cbcb17543b4e1 Mon Sep 17 00:00:00 2001 From: Trung Dinh Date: Fri, 17 Jan 2025 11:50:42 +0700 Subject: [PATCH 4/4] Update document with change deepseek-chat model --- docs/docs/usage-guide/changing_a_model.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/docs/usage-guide/changing_a_model.md b/docs/docs/usage-guide/changing_a_model.md index 24dee24ab..3e33e17ae 100644 --- a/docs/docs/usage-guide/changing_a_model.md +++ b/docs/docs/usage-guide/changing_a_model.md @@ -166,6 +166,25 @@ drop_params = true AWS session is automatically authenticated from your environment, but you can also explicitly set `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` and `AWS_REGION_NAME` environment variables. Please refer to [this document](https://litellm.vercel.app/docs/providers/bedrock) for more details. +### DeepSeek + +To use deepseek-chat model with DeepSeek, for example, set: + +```toml +[config] # in configuration.toml +model = "deepseek/deepseek-chat" +fallback_models=["deepseek/deepseek-chat"] +``` + +and fill up your key + +```toml +[deepseek] # in .secrets.toml +key = ... +``` + +(you can obtain a deepseek-chat key from [here](https://platform.deepseek.com)) + ### Custom models If the relevant model doesn't appear [here](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/algo/__init__.py), you can still use it as a custom model: