
    BChJ                     h    d dl Z d dlmZmZmZmZ d dlmZ  e j                  e	      Z
 G d d      Zy)    N)DictAnyOptionalList)AIModelBasec                   *    e Zd ZdZededefd       Zy)AIModelFactoryz$Factory class for creating AI models
model_typereturnc                     | j                         dk(  rddlm}  |       S | j                         dk(  rddlm}  |       S | j                         dk(  rddlm}  |       S t        d|        )	z Get an AI model instance by typeopenair   )OpenAIModeldeepseek)DeepSeekModelclaude)ClaudeModelzUnsupported model type: )lowerapp.models.openai_modelr   app.models.deepseek_modelr   app.models.claude_modelr   
ValueError)r
   r   r   r   s       ,/var/www/html/app/models/ai_model_factory.py	get_modelzAIModelFactory.get_model
   sk     );= :-? ?"8+;= 7
|DEE    N)__name__
__module____qualname____doc__staticmethodstrr   r    r   r   r	   r	      s)    .Fc Fk F Fr   r	   )loggingtypingr   r   r   r   app.models.ai_model_baser   	getLoggerr   loggerr	   r!   r   r   <module>r'      s/     , , 0			8	$F Fr   