U
    ÍãæiÀ  ã                   @   s^   d dl Z d dlZd dlmZ d dlmZ d dlmZ e  dd¡Z	dZ
eedgƒd	d
„ ƒƒZdS )é    N)ÚJsonResponse)Úrequire_http_methods)Úcsrf_exemptÚOPENAI_API_KEYÚ z*https://api.openai.com/v1/chat/completionsÚPOSTc           
   
   C   sÈ  t stdddœdd�S züt | j¡}| dd¡ ¡ }|sLtdddœdd�W S d	d
l}dt › �ddœ}ddddœd|dœgdddœ}|jt	||d�}|j
dkr¸tdd|j
› �dœdd�W S | ¡ }d|krüt|d ƒd	krü|d d	 d d }td|dœƒW S tdddœdd�W S W n° tjk
�r<   tdddœdd� Y S  |jk
�r€ }	 z$tddt|	ƒ› �dœdd� W Y ¢S d
}	~	X Y nD tk
�rÂ }	 z$tdd t|	ƒ› �dœdd� W Y ¢S d
}	~	X Y nX d
S )!a  
    Chatbot API endpoint for ChatGPT integration

    Request format:
    {
        "message": "User message here"
    }

    Response format:
    {
        "success": true/false,
        "reply": "ChatGPT response",
        "error": "Error message (if any)"
    }
    FzSChatGPT API key not configured. Please set OPENAI_API_KEY in environment variables.)ÚsuccessÚerrori�  )ÚstatusÚmessager   zMessage cannot be emptyr   NzBearer zapplication/json)ÚAuthorizationzContent-Typezgpt-3.5-turboÚsystemz©You are a helpful assistant for BMC Vietnam - a plant protection product company. Answer questions about our products and services in a friendly and professional manner.)ÚroleÚcontentÚusergffffffæ?iô  )ÚmodelÚmessagesZtemperatureZ
max_tokens)ÚheadersÚjsonéÈ   zChatGPT API error: Úchoicesr   T)r   ZreplyzNo response from ChatGPTzInvalid JSON formatzNetwork error: zServer error: )r   r   r   ÚloadsÚbodyÚgetÚstripÚrequestsÚpostÚOPENAI_API_ENDPOINTÚstatus_codeÚlenÚJSONDecodeErrorZRequestExceptionÚstrÚ	Exception)
ÚrequestÚdataZuser_messager   r   ÚpayloadÚresponseZresponse_dataZassistant_messageÚe© r(   ú=/var/www/BmcWebsite/BMC-WEBSITE-DONE/BmcBase/views_chatbot.pyÚchatbot_api   s”    þýþýþþþû
ó

þýþ
þýþý
þýþýr*   )Úosr   Údjango.httpr   Zdjango.views.decorators.httpr   Údjango.views.decorators.csrfr   Úgetenvr   r   r*   r(   r(   r(   r)   Ú<module>   s   