1+ import logging
12from typing import Any , Dict , List , Optional , Tuple
23
34import chevron
@@ -29,6 +30,7 @@ class LDAIClient:
2930
3031 def __init__ (self , client : LDClient ):
3132 self ._client = client
33+ self ._logger = logging .getLogger ('ldclient.ai' )
3234
3335 def completion_config (
3436 self ,
@@ -184,11 +186,11 @@ async def create_judge(
184186 return None
185187
186188 # Create AI provider for the judge
187- provider = await AIProviderFactory .create (judge_config , None , default_ai_provider )
189+ provider = await AIProviderFactory .create (judge_config , self . _logger , default_ai_provider )
188190 if not provider :
189191 return None
190192
191- return AIJudge (judge_config , judge_config .tracker , provider , None )
193+ return AIJudge (judge_config , judge_config .tracker , provider , self . _logger )
192194 except Exception as error :
193195 # Would log error if logger available
194196 return None
@@ -279,14 +281,15 @@ async def create_chat(
279281 print(f"Conversation has {len(messages)} messages")
280282 """
281283 self ._client .track ('$ld:ai:config:function:createChat' , context , key , 1 )
282-
284+ if self ._logger :
285+ self ._logger .debug (f"Creating chat for key: { key } " )
283286 config = self .completion_config (key , context , default_value , variables )
284287
285288 if not config .enabled or not config .tracker :
286289 # Would log info if logger available
287290 return None
288291
289- provider = await AIProviderFactory .create (config , None , default_ai_provider )
292+ provider = await AIProviderFactory .create (config , self . _logger , default_ai_provider )
290293 if not provider :
291294 return None
292295
@@ -299,7 +302,7 @@ async def create_chat(
299302 default_ai_provider ,
300303 )
301304
302- return TrackedChat (config , config .tracker , provider , judges , None )
305+ return TrackedChat (config , config .tracker , provider , judges , self . _logger )
303306
304307 def agent_config (
305308 self ,
0 commit comments