o
    9gDi!  ã                   @  sl   U d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	 da
ded< dd	d
„Zddd„Zddd„ZdS )é    )ÚannotationsN)ÚAnyÚOptional)ÚOpenAI)ÚsettingsúOptional[OpenAI]Ú_clientÚreturnc                   C  s"   t jsd S td u rtt jdatS )N)Úapi_key)r   ÚOPENAI_API_KEYr   r   © r   r   ú;/var/www/www-root/data/www/77.83.87.30/api/openai_client.pyÚclient
   s
   r   Úctxúdict[str, Any]Ústrc                 C  s   dt j| dd S )NuA  Ð¢Ñ‹ â€” Ñ„ÑƒÑ‚Ð±Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð½Ð°Ð»Ð¸Ñ‚Ð¸Ðº. Ð”Ð°Ð¹ Ð¸Ð½ÑÐ°Ð¹Ñ‚Ñ‹ Ð¿Ð¾ Ð¼Ð°Ñ‚Ñ‡Ñƒ Ð½Ð° Ð¾ÑÐ½Ð¾Ð²Ðµ Ð´Ð°Ð½Ð½Ñ‹Ñ….
Ð’ÐµÑ€Ð½Ð¸ Ð¡Ð¢Ð ÐžÐ“Ðž JSON ÑÐ»ÐµÐ´ÑƒÑŽÑ‰ÐµÐ³Ð¾ Ð²Ð¸Ð´Ð°:
{
  "summary": string,
  "key_factors": string[],
  "risks": string[],
  "suggested_angles": string[],
  "data_gaps": string[]
}
Ð”Ð°Ð½Ð½Ñ‹Ðµ:
F)Úensure_ascii)ÚjsonÚdumps)r   r   r   r   Úbuild_prompt   s   
öÿr   úOptional[dict[str, Any]]c                 C  sÌ   t ƒ }|sd S |jjtjt| ƒdd}t|ddƒpd}zt |¡W S  t	ye   | 
d¡}| d¡}|dkrV|dkrV||krVzt |||d … ¡W  Y S  t	yU   Y nw |d d	… g d
gg g dœ Y S w )Ni¼  )ÚmodelÚinputÚmax_output_tokensÚoutput_textÚ Ú{Ú}éÿÿÿÿé   iÜ  Úunstructured_output)ÚsummaryÚkey_factorsÚrisksÚsuggested_anglesÚ	data_gaps)r   Ú	responsesÚcreater   ÚOPENAI_MODELr   Úgetattrr   ÚloadsÚ	ExceptionÚfindÚrfind)r   ÚcÚrÚtextÚstartÚendr   r   r   Úget_insight#   s6   ý

ÿ

ûör3   )r	   r   )r   r   r	   r   )r   r   r	   r   )Ú
__future__r   r   Útypingr   r   Úopenair   Úconfigr   r   Ú__annotations__r   r   r3   r   r   r   r   Ú<module>   s    

	