@@ -87,7 +87,8 @@ type NemoEvaluatorSpec struct {
8787 VectorDB VectorDB `json:"vectorDB"`
8888 // Datastore stores the datastore endpoint.
8989 Datastore Datastore `json:"datastore"`
90-
90+ // Entitystore stores the entitystore endpoint.
91+ Entitystore Entitystore `json:"entitystore"`
9192 // OpenTelemetry Settings
9293 // +kubebuilder:validation:Optional
9394 OpenTelemetry OTelSpec `json:"otel,omitempty"`
@@ -112,6 +113,26 @@ type NemoEvaluatorSpec struct {
112113
113114 // EnableValidation indicates that the validation jobs to be enabled
114115 EnableValidation * bool `json:"enableValidation,omitempty"`
116+
117+ // EvaluationImages defines the external images used for evaluation
118+ EvaluationImages EvaluationImages `json:"evaluationImages"`
119+ }
120+
121+ type EvaluationImages struct {
122+ // +kubebuilder:validation:MinLength=1
123+ BigcodeEvalHarness string `json:"bigcodeEvalHarness"`
124+ // +kubebuilder:validation:MinLength=1
125+ LmEvalHarness string `json:"lmEvalHarness"`
126+ // +kubebuilder:validation:MinLength=1
127+ SimilarityMetrics string `json:"similarityMetrics"`
128+ // +kubebuilder:validation:MinLength=1
129+ LlmAsJudge string `json:"llmAsJudge"`
130+ // +kubebuilder:validation:MinLength=1
131+ MtBench string `json:"mtBench"`
132+ // +kubebuilder:validation:MinLength=1
133+ Retriever string `json:"retriever"`
134+ // +kubebuilder:validation:MinLength=1
135+ Rag string `json:"rag"`
115136}
116137
117138// NemoEvaluatorStatus defines the observed state of NemoEvaluator
@@ -145,6 +166,39 @@ type NemoEvaluatorList struct {
145166 Items []NemoEvaluator `json:"items"`
146167}
147168
169+ func (ei EvaluationImages ) GetEvaluationImageEnv () []corev1.EnvVar {
170+ return []corev1.EnvVar {
171+ {
172+ Name : "BIGCODE_EVALUATION_HARNESS" ,
173+ Value : ei .BigcodeEvalHarness ,
174+ },
175+ {
176+ Name : "LM_EVAL_HARNESS" ,
177+ Value : ei .LmEvalHarness ,
178+ },
179+ {
180+ Name : "SIMILARITY_METRICS" ,
181+ Value : ei .SimilarityMetrics ,
182+ },
183+ {
184+ Name : "LLM_AS_A_JUDGE" ,
185+ Value : ei .LlmAsJudge ,
186+ },
187+ {
188+ Name : "MT_BENCH" ,
189+ Value : ei .MtBench ,
190+ },
191+ {
192+ Name : "RETRIEVER" ,
193+ Value : ei .Retriever ,
194+ },
195+ {
196+ Name : "RAG" ,
197+ Value : ei .Rag ,
198+ },
199+ }
200+ }
201+
148202// GetStandardSelectorLabels returns the standard selector labels for the NemoEvaluator deployment
149203func (n * NemoEvaluator ) GetStandardSelectorLabels () map [string ]string {
150204 return map [string ]string {
@@ -202,9 +256,13 @@ func (n *NemoEvaluator) GetStandardEnv() []corev1.EnvVar {
202256 Value : n .Spec .ArgoWorkflows .ServiceAccount ,
203257 },
204258 {
205- Name : "DATA_STORE_HOST " ,
259+ Name : "DATA_STORE_URL " ,
206260 Value : n .Spec .Datastore .Endpoint ,
207261 },
262+ {
263+ Name : "ENTITY_STORE_URL" ,
264+ Value : n .Spec .Entitystore .Endpoint ,
265+ },
208266 {
209267 Name : "EVAL_CONTAINER" ,
210268 Value : n .GetImage (),
@@ -231,6 +289,9 @@ func (n *NemoEvaluator) GetStandardEnv() []corev1.EnvVar {
231289 // Append the environment variables for Postgres
232290 envVars = append (envVars , n .GetPostgresEnv ()... )
233291
292+ // Append the environment variables for EvaluationImages
293+ envVars = append (envVars , n .Spec .EvaluationImages .GetEvaluationImageEnv ()... )
294+
234295 // Append the environment variables for OTel
235296 if n .IsOtelEnabled () {
236297 envVars = append (envVars , n .GetOtelEnv ()... )
@@ -916,13 +977,16 @@ func (n *NemoEvaluator) GetInitContainers() []corev1.Container {
916977 Value : n .GetImage (),
917978 },
918979 {
919- Name : "DATA_STORE_HOST " ,
980+ Name : "DATA_STORE_URL " ,
920981 Value : n .Spec .Datastore .Endpoint ,
921982 },
922983 }
923984 // Append the environment variables for Postgres
924985 envVars = append (envVars , n .GetPostgresEnv ()... )
925986
987+ // Append the environment variables for EvaluationImages
988+ envVars = append (envVars , n .Spec .EvaluationImages .GetEvaluationImageEnv ()... )
989+
926990 return []corev1.Container {
927991 {
928992 Name : "wait-for-postgres" ,
0 commit comments