providers.cpython-311.pyc•6.41 kB
�
�h� � � � d dl Z d dlZd dlZd dlmZmZmZ d dlmZ e� � G d� d� � Z G d� d� � Z
e � � e
� � d�ZdS ) � N)�Dict�Any�Optional)�load_dotenvc �@ � e Zd Zd� Zdefd�Zdedeeef fd�Z dS )�AzureOpenAIProviderc �� � t j d� � | _ t j d� � | _ t j d� � | _ t j dd� � | _ d S )N�AZURE_OPENAI_ENDPOINT�AZURE_OPENAI_DEPLOYMENT�AZURE_OPENAI_API_KEY�AZURE_OPENAI_API_VERSIONz2025-01-01-preview)�os�getenv�endpoint�
deployment�api_key�api_version��selfs �G/Users/kulraj/agent09/mcp-starter/mcp-bearer-token/../data/providers.py�__init__zAzureOpenAIProvider.__init__
sT � �� �"9�:�:��
��)�$=�>�>����y�!7�8�8����9�%?�AU�V�V����� �returnc �D � t | j | j | j g� � S �N)�allr r r r s r �is_availablez AzureOpenAIProvider.is_available s � ��D�M�4�?�D�L�A�B�B�Br �promptc � �� K � | � � � sddiS | j � d| j � d| j � �}| j dd�}ddd �d
|d �gddd
�}t j � � } t
j � � 4 �d {V ��}|� |||d�� � � d {V ��}|� � � |�
� � }t t j � � |z
dz � � } |d d d d |� di � � � d� � | d�cd d d � � �d {V �� S # 1 �d {V ��swxY w Y d S # t $ r}
ddt |
� � � �icY d }
~
S d }
~
ww xY w)N�error�skipped_no_keyz/openai/deployments/z/chat/completions?api-version=�application/json)zapi-key�Content-Type�system�FYou are a neutral assistant generating concise, citation-rich answers.��role�content�user�� �333333�?)�messages�
max_tokens�temperature� >@��headers�json�timeout�� �choicesr �messager( �usage�total_tokens��
raw_answer�tokens_used�
latency_ms�api_error: )r r r r r �time�httpx�AsyncClient�post�raise_for_statusr2 �int�get� Exception�str�r r �urlr1 �data�
start_time�client�response�resultr<