Skip to content

Commit 9309bc3

Browse files
author
Chang
committed
Feat: add medgemma
1 parent 520babe commit 9309bc3

File tree

5 files changed

+113
-1
lines changed

5 files changed

+113
-1
lines changed

src/emd/models/engines.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,18 @@ class KtransformersEngine(OpenAICompitableEngine):
9090
)
9191

9292

93+
vllm_medgemma082 = VllmEngine(**{
94+
"engine_type":EngineType.VLLM,
95+
"engine_dockerfile_config": {"VERSION":"v0.8.2"},
96+
"engine_cls":"vllm.vllm_backend.VLLMBackend",
97+
"base_image_host":"public.ecr.aws",
98+
"use_public_ecr":True,
99+
"docker_login_region":"us-east-1",
100+
"default_cli_args": " --max_num_seq 10 --disable-log-stats"
101+
}
102+
)
103+
104+
93105
vllm_mistral_small_engine082 = VllmEngine(
94106
**{
95107
**vllm_engine064.model_dump(),

src/emd/models/llms/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@
66
deepseek,
77
baichuan,
88
jina,
9-
txgemma
9+
txgemma,
10+
medgemma
1011
)

src/emd/models/llms/medgemma.py

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
from ..engines import vllm_medgemma082
2+
from .. import Model
3+
from ..frameworks import fastapi_framework
4+
from ..services import (
5+
sagemaker_service,
6+
sagemaker_async_service,
7+
ecs_service,
8+
local_service
9+
)
10+
from emd.models.utils.constants import ModelType
11+
from ..model_series import MEDGEMMA_SERIES
12+
from ..instances import (
13+
g5d2xlarge_instance,
14+
g5d4xlarge_instance,
15+
g5d8xlarge_instance,
16+
g5d12xlarge_instance,
17+
g5d16xlarge_instance,
18+
g5d24xlarge_instance,
19+
g5d48xlarge_instance,
20+
g6e2xlarge_instance,
21+
local_instance
22+
)
23+
from ..utils.constants import ModelFilesDownloadSource
24+
25+
26+
Model.register(
27+
dict(
28+
model_id = "medgemma-27b-text-it",
29+
supported_engines=[vllm_medgemma082],
30+
supported_instances=[
31+
g5d12xlarge_instance,
32+
g5d24xlarge_instance,
33+
g5d48xlarge_instance,
34+
g5d2xlarge_instance,
35+
g5d4xlarge_instance,
36+
g5d8xlarge_instance,
37+
g5d16xlarge_instance,
38+
local_instance
39+
],
40+
disable_hf_transfer=True,
41+
supported_services=[
42+
sagemaker_service,
43+
sagemaker_async_service,
44+
ecs_service,
45+
local_service
46+
],
47+
supported_frameworks=[
48+
fastapi_framework
49+
],
50+
allow_china_region=True,
51+
huggingface_model_id="google/medgemma_27b_text_it",
52+
modelscope_model_id="google/medgemma_27b_text_it",
53+
model_files_download_source=ModelFilesDownloadSource.MODELSCOPE,
54+
# require_huggingface_token=True,
55+
application_scenario="llm for medical text and image comprehension",
56+
description="The latest series of medgemma",
57+
model_type=ModelType.LLM,
58+
model_series=MEDGEMMA_SERIES,
59+
)
60+
)
61+
62+
63+
Model.register(
64+
dict(
65+
model_id = "medgemma-4b-text-it",
66+
supported_engines=[vllm_medgemma082],
67+
supported_instances=[
68+
g5d12xlarge_instance,
69+
g5d24xlarge_instance,
70+
g5d48xlarge_instance,
71+
local_instance
72+
],
73+
disable_hf_transfer=True,
74+
supported_services=[
75+
sagemaker_service,
76+
sagemaker_async_service,
77+
ecs_service,
78+
local_service
79+
],
80+
supported_frameworks=[
81+
fastapi_framework
82+
],
83+
allow_china_region=True,
84+
huggingface_model_id="google/medgemma-4b-text-it",
85+
modelscope_model_id="google/medgemma-4b-text-it",
86+
model_files_download_source=ModelFilesDownloadSource.MODELSCOPE,
87+
# require_huggingface_token=True,
88+
application_scenario="llm for medical text and image comprehension",
89+
description="The latest series of medgemma",
90+
model_type=ModelType.LLM,
91+
model_series=MEDGEMMA_SERIES,
92+
)
93+
)

src/emd/models/model_series.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,11 @@
117117
reference_link="https://huggingface.co/collections/google/txgemma-release-67dd92e931c857d15e4d1e87"
118118
)
119119

120+
MEDGEMMA_SERIES = ModelSeries(
121+
model_series_name=ModelSeriesType.MEDGEMMA,
122+
description="MedGemma is a collection of Gemma 3 variants that are trained for performance on medical text and image comprehension.",
123+
reference_link="https://huggingface.co/collections/google/medgemma-release-680aade845f90bec6a3f60c4"
124+
)
120125

121126
MISTRAL_SERIES = ModelSeries(
122127
model_series_name=ModelSeriesType.MISTRAL,

src/emd/models/utils/constants.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ def get_service_quota_code(cls, instance_type: str):
215215
class ModelSeriesType(ConstantBase):
216216
GEMMA3 = "gemma3"
217217
TXGEMMA = "txgemma"
218+
MEDGEMMA = "medgemma"
218219
MISTRAL = "mistral"
219220
QWEN2D5 = "qwen2.5"
220221
QWEN3 = "qwen3"

0 commit comments

Comments
 (0)