From 0e3c0a866c0f4afa91123d649123c6912e330dc8 Mon Sep 17 00:00:00 2001 From: Yoom Lam Date: Wed, 18 Jun 2025 12:17:41 -0500 Subject: [PATCH 1/2] add Gemini LLM --- app/src/generate.py | 5 +++++ app/tests/src/test_generate.py | 2 ++ 2 files changed, 7 insertions(+) diff --git a/app/src/generate.py b/app/src/generate.py index 85b19832..d9add286 100644 --- a/app/src/generate.py +++ b/app/src/generate.py @@ -25,6 +25,11 @@ def get_models() -> dict[str, str]: models |= {"OpenAI GPT-4o": "gpt-4o"} if "ANTHROPIC_API_KEY" in os.environ: models |= {"Anthropic Claude 3.5 Sonnet": "claude-3-5-sonnet-20240620"} + if "GEMINI_API_KEY" in os.environ: + models |= { + "Google Gemini 1.5 Pro": "gemini/gemini-1.5-pro", + "Google Gemini 2.5 Pro": "gemini/gemini-2.5-pro-preview-06-05", + } if _has_aws_access(): # If you get "You don't have access to the model with the specified model ID." error, # remember to request access to Bedrock models ...aws.amazon.com/bedrock/home?region=us-east-1#/modelaccess diff --git a/app/tests/src/test_generate.py b/app/tests/src/test_generate.py index 842c2c98..539d669d 100644 --- a/app/tests/src/test_generate.py +++ b/app/tests/src/test_generate.py @@ -81,6 +81,8 @@ def test_get_models(monkeypatch): monkeypatch.delenv("AWS_ACCESS_KEY_ID") if "OPENAI_API_KEY" in os.environ: monkeypatch.delenv("OPENAI_API_KEY") + if "GEMINI_API_KEY" in os.environ: + monkeypatch.delenv("GEMINI_API_KEY") if "OLLAMA_HOST" in os.environ: monkeypatch.delenv("OLLAMA_HOST") assert get_models() == {} From dcd8e45b40358466b79c5aba122a366ec5d9aa71 Mon Sep 17 00:00:00 2001 From: Yoom Lam Date: Wed, 18 Jun 2025 12:45:49 -0500 Subject: [PATCH 2/2] add to terraform --- infra/app/app-config/env-config/environment_variables.tf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/infra/app/app-config/env-config/environment_variables.tf b/infra/app/app-config/env-config/environment_variables.tf index 38f3155b..348fc4dc 100644 --- a/infra/app/app-config/env-config/environment_variables.tf +++ b/infra/app/app-config/env-config/environment_variables.tf @@ -36,6 +36,10 @@ locals { manage_method = "manual" secret_store_name = "/${var.app_name}-${var.environment}/OPENAI_API_KEY" } + GEMINI_API_KEY = { + manage_method = "manual" + secret_store_name = "/${var.app_name}-${var.environment}/GEMINI_API_KEY" + } LITERAL_API_KEY = { manage_method = "manual" secret_store_name = "/${var.app_name}-${var.environment}/LITERAL_API_KEY"