1- from dataclasses import dataclass
1+ from dataclasses import asdict , dataclass
22from typing import Any , Dict , List , Literal , Optional
33
44import chevron
@@ -13,6 +13,8 @@ class LDMessage:
1313 role : Literal ['system' , 'user' , 'assistant' ]
1414 content : str
1515
16+ def to_dict (self ):
17+ return asdict (self )
1618
1719@dataclass
1820class AIConfigData :
@@ -59,7 +61,7 @@ def model_config(
5961 if isinstance (variation ['prompt' ], list ) and all (
6062 isinstance (entry , dict ) for entry in variation ['prompt' ]
6163 ):
62- variation [ ' prompt' ] = [
64+ prompt = [
6365 LDMessage (
6466 role = entry ['role' ],
6567 content = self .__interpolate_template (
@@ -71,7 +73,7 @@ def model_config(
7173
7274 enabled = variation .get ('_ldMeta' , {}).get ('enabled' , False )
7375 return AIConfig (
74- config = AIConfigData (model = variation ['model' ], prompt = variation [ ' prompt' ] ),
76+ config = AIConfigData (model = variation ['model' ], prompt = prompt ),
7577 tracker = LDAIConfigTracker (
7678 self .client ,
7779 variation .get ('_ldMeta' , {}).get ('versionKey' , '' ),
0 commit comments