1- import os
2- from enum import Enum
3- from typing import Any , Union
4-
5- from llama_index .llms .azure_openai import AzureOpenAI
6-
7-
8- class OpenAIModel (Enum ):
9- GPT_4_1_2025_04_14 = "gpt-4.1-2025-04-14"
10- GPT_4_1_MINI_2025_04_14 = "gpt-4.1-mini-2025-04-14"
11- GPT_4_1_NANO_2025_04_14 = "gpt-4.1-nano-2025-04-14"
12- GPT_4O_2024_05_13 = "gpt-4o-2024-05-13"
13- GPT_4O_2024_08_06 = "gpt-4o-2024-08-06"
14- GPT_4O_2024_11_20 = "gpt-4o-2024-11-20"
15- GPT_4O_MINI_2024_07_18 = "gpt-4o-mini-2024-07-18"
16- O3_MINI_2025_01_31 = "o3-mini-2025-01-31"
17- TEXT_DAVINCI_003 = "text-davinci-003"
18-
19-
20- # Define your custom AzureOpenAI class with default settings
21- class UiPathOpenAI (AzureOpenAI ):
22- def __init__ (
23- self ,
24- model : Union [str , OpenAIModel ] = OpenAIModel .GPT_4O_MINI_2024_07_18 ,
25- api_version : str = "2024-10-21" ,
26- ** kwargs : Any ,
27- ):
28- default_headers_dict = {
29- "X-UIPATH-STREAMING-ENABLED" : "false" ,
30- "X-UiPath-LlmGateway-RequestingProduct" : "uipath-python-sdk" ,
31- "X-UiPath-LlmGateway-RequestingFeature" : "llama-index-agent" ,
32- }
33- model_value = model .value if isinstance (model , OpenAIModel ) else model
34-
35- base_url = os .environ .get (
36- "UIPATH_URL" , "EMPTY"
37- ).rstrip ("/" )
38-
39- if base_url == "EMPTY" :
40- raise ValueError (
41- "UIPATH_URL environment variable is not set. Please run uipath auth."
42- )
43-
44- defaults = {
45- "model" : model_value ,
46- "deployment_name" : model_value ,
47- "azure_endpoint" : f"{ base_url } /llmgateway_/" ,
48- "api_key" : os .environ .get ("UIPATH_ACCESS_TOKEN" ),
49- "api_version" : api_version ,
50- "is_chat_model" : True ,
51- "default_headers" : default_headers_dict ,
52- }
53- final_kwargs = {** defaults , ** kwargs }
54- super ().__init__ (** final_kwargs )
1+ import os
2+ from enum import Enum
3+ from typing import Any , Union
4+
5+ from llama_index .llms .azure_openai import AzureOpenAI # type: ignore
6+
7+
8+ class OpenAIModel (Enum ):
9+ GPT_4_1_2025_04_14 = "gpt-4.1-2025-04-14"
10+ GPT_4_1_MINI_2025_04_14 = "gpt-4.1-mini-2025-04-14"
11+ GPT_4_1_NANO_2025_04_14 = "gpt-4.1-nano-2025-04-14"
12+ GPT_4O_2024_05_13 = "gpt-4o-2024-05-13"
13+ GPT_4O_2024_08_06 = "gpt-4o-2024-08-06"
14+ GPT_4O_2024_11_20 = "gpt-4o-2024-11-20"
15+ GPT_4O_MINI_2024_07_18 = "gpt-4o-mini-2024-07-18"
16+ O3_MINI_2025_01_31 = "o3-mini-2025-01-31"
17+ TEXT_DAVINCI_003 = "text-davinci-003"
18+
19+
20+ # Define your custom AzureOpenAI class with default settings
21+ class UiPathOpenAI (AzureOpenAI ):
22+ def __init__ (
23+ self ,
24+ model : Union [str , OpenAIModel ] = OpenAIModel .GPT_4O_MINI_2024_07_18 ,
25+ api_version : str = "2024-10-21" ,
26+ ** kwargs : Any ,
27+ ):
28+ default_headers_dict = {
29+ "X-UIPATH-STREAMING-ENABLED" : "false" ,
30+ "X-UiPath-LlmGateway-RequestingProduct" : "uipath-python-sdk" ,
31+ "X-UiPath-LlmGateway-RequestingFeature" : "llama-index-agent" ,
32+ }
33+ model_value = model .value if isinstance (model , OpenAIModel ) else model
34+
35+ base_url = os .environ .get (
36+ "UIPATH_URL" , "EMPTY"
37+ ).rstrip ("/" )
38+
39+ if base_url == "EMPTY" :
40+ raise ValueError (
41+ "UIPATH_URL environment variable is not set. Please run uipath auth."
42+ )
43+
44+ defaults = {
45+ "model" : model_value ,
46+ "deployment_name" : model_value ,
47+ "azure_endpoint" : f"{ base_url } /llmgateway_/" ,
48+ "api_key" : os .environ .get ("UIPATH_ACCESS_TOKEN" ),
49+ "api_version" : api_version ,
50+ "is_chat_model" : True ,
51+ "default_headers" : default_headers_dict ,
52+ }
53+ final_kwargs = {** defaults , ** kwargs }
54+ super ().__init__ (** final_kwargs )
0 commit comments