Skip to content

Commit 67a830c

Browse files
committed
Make AI inference fully configurable via github action secrets
1 parent 781eb09 commit 67a830c

2 files changed

Lines changed: 16 additions & 9 deletions

File tree

.github/workflows/extension-ai-analysis.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,9 @@ jobs:
7070
7171
- name: Run AI analysis
7272
env:
73-
MEGANOVA_API_KEY: ${{ secrets.MEGANOVA_API_KEY }}
73+
INFERENCE_URL: ${{ secrets.INFERENCE_URL }}
74+
INFERENCE_MODEL: ${{ secrets.INFERENCE_MODEL }}
75+
INFERENCE_API_KEY: ${{ secrets.INFERENCE_API_KEY }}
7476
id: ai-analysis
7577
run: |
7678
RESULT=$(python scripts/extension_ai_analysis.py \

scripts/extension_ai_analysis.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,21 @@
1515
import subprocess
1616
import shutil
1717

18-
# Use MegaNova API endpoint for chat completions.
19-
# It offers capable models for free with an OpenAI-compatible API.
20-
INFERENCE_URL = "https://inference.meganova.ai/v1/chat/completions"
21-
INFERENCE_MODEL = "mistralai/Mistral-Small-3.2-24B-Instruct-2506"
22-
INFERENCE_RESPONSE_PER_MINUTE_LIMIT = 4 # slow down to not exceed token per minute (tpm) limit of 60k
23-
INFERENCE_API_KEY = os.getenv("MEGANOVA_API_KEY")
24-
INFERENCE_MAX_CHARACTERS = 100000 # max characters in all files provided to the model, approximately 25k tokens (limit is 32k)
2518

19+
# Get inference server configuration from environment variables
20+
INFERENCE_URL = os.getenv("INFERENCE_URL")
21+
if not INFERENCE_URL:
22+
raise ValueError("INFERENCE_URL environment variable is not set. Please set it before running the script.")
23+
INFERENCE_MODEL = os.getenv("INFERENCE_MODEL")
24+
if not INFERENCE_MODEL:
25+
raise ValueError("INFERENCE_MODEL environment variable is not set. Please set it before running the script.")
26+
INFERENCE_API_KEY = os.getenv("INFERENCE_API_KEY")
2627
if not INFERENCE_API_KEY:
27-
raise ValueError("MEGANOVA_API_KEY environment variable is not set. Please set it before running the script.")
28+
raise ValueError("INFERENCE_API_KEY environment variable is not set. Please set it before running the script.")
29+
30+
INFERENCE_RESPONSE_PER_MINUTE_LIMIT = 10 # slow down to not exceed token per minute (tpm) limit
31+
INFERENCE_MAX_CHARACTERS = 400000 # max characters in all files provided to the model, approximately 100k tokens
32+
2833

2934
QUESTIONS = [
3035
["Is there a EXTENSION_DESCRIPTION variable in the CMakeLists.txt file that describes what the extension does in a few sentences that can be understood by a person knowledgeable in medical image computing?", ["cmake"]],

0 commit comments

Comments
 (0)