Skip to content

Commit f89f730

Browse files
committed
Add gpt-4o-mini model support
1 parent c8bc031 commit f89f730

File tree

9 files changed

+27
-15
lines changed

9 files changed

+27
-15
lines changed

llmstack/apps/types/agent.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ class AgentModel(str, Enum):
1515
GPT_4_LATEST = "gpt-4-turbo-latest"
1616
GPT_4_1106_PREVIEW = "gpt-4-1106-preview"
1717
GPT_4_O = "gpt-4o"
18+
GPT_4_O_MINI = "gpt-4o-mini"
1819

1920
def __str__(self):
2021
return self.value
@@ -23,7 +24,7 @@ def __str__(self):
2324
class AgentConfigSchema(BaseSchema):
2425
model: AgentModel = Field(
2526
title="Model",
26-
default=AgentModel.GPT_3_5_LATEST,
27+
default=AgentModel.GPT_4_O_MINI,
2728
description="The model to use for the agent.",
2829
)
2930
user_message: Optional[str] = Field(

llmstack/common/blocks/llm/openai.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,7 @@ class OpenAIChatCompletionsAPIProcessorOutput(OpenAIAPIProcessorOutput):
292292
class ChatCompletionsModel(str, Enum):
293293
GPT_4 = "gpt-4"
294294
GPT_4_O = "gpt-4o"
295+
GPT_4_O_MINI = "gpt-4o-mini"
295296
GPT_4_32K = "gpt-4-32k"
296297
GPT_4_TURBO = "gpt-4-turbo"
297298
GPT_3_5 = "gpt-3.5-turbo"
@@ -307,7 +308,7 @@ class OpenAIChatCompletionsAPIProcessorConfiguration(
307308
OpenAIAPIProcessorConfiguration,
308309
):
309310
model: ChatCompletionsModel = Field(
310-
default=ChatCompletionsModel.GPT_3_5,
311+
default=ChatCompletionsModel.GPT_4_O_MINI,
311312
description="ID of the model to use. Currently, only `gpt-3.5-turbo` and `gpt-4` are supported.",
312313
)
313314
max_tokens: Optional[conint(ge=1, le=32000)] = Field(

llmstack/common/utils/sslr/resources/chat/completions.py

+1
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ def create(
6666
"gpt-4-vision-preview",
6767
"gpt-4",
6868
"gpt-4o",
69+
"gpt-4o-mini",
6970
"gpt-4-0314",
7071
"gpt-4-0613",
7172
"gpt-4-32k",

llmstack/processors/providers/azure/azure_chat_completions.py

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
class ChatCompletionsModel(str, Enum):
1717
GPT_4 = "gpt-4"
1818
GPT_4_O = "gpt-4o"
19+
GPT_4_O_MINI = "gpt-4o-mini"
1920
GPT_4_TURBO = "gpt-4-turbo"
2021
GPT_3_5 = "gpt-35-turbo"
2122
GPT_3_5_16 = "gpt-35-turbo-16k"

llmstack/processors/providers/openai/chat_completions.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
class ChatCompletionsModel(str, Enum):
2525
GPT_4 = "gpt-4"
2626
GPT_4_O = "gpt-4o"
27+
GPT_4_O_MINI = "gpt-4o-mini"
2728
GPT_4_32K = "gpt-4-32k"
2829
GPT_4_TURBO = "gpt-4-turbo"
2930
GPT_3_5 = "gpt-3.5-turbo"
@@ -128,7 +129,7 @@ class ChatCompletionsConfiguration(
128129
ApiProcessorSchema,
129130
):
130131
model: str = Field(
131-
default=ChatCompletionsModel.GPT_3_5,
132+
default=ChatCompletionsModel.GPT_4_O_MINI,
132133
description="ID of the model to use. Currently, only `gpt-3.5-turbo` and `gpt-4` are supported.",
133134
json_schema_extra={
134135
"advanced_parameter": False,

llmstack/processors/providers/openai/chat_completions_vision.py

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ class ChatCompletionsVisionModel(str, Enum):
3333
GPT_4_TURBO_240409 = "gpt-4-turbo-2024-04-09"
3434
GPT_4_1106_VISION_PREVIEW = "gpt-4-1106-vision-preview"
3535
GPT_4_O = "gpt-4o"
36+
GPT_4_O_MINI = "gpt-4o-mini"
3637

3738
def __str__(self):
3839
return self.value

llmstack/processors/providers/promptly/chat_completions.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class Model(str, Enum):
2626
GPT_3_5_TURBO = "gpt-3.5-turbo"
2727
GPT_4 = "gpt-4"
2828
GPT_4_O = "gpt-4o"
29+
GPT_4_O_MINI = "gpt-4o-mini"
2930
GPT_4_TURBO_PREVIEW = "gpt-4-turbo-preview"
3031
GEMINI_PRO = "gemini-pro"
3132
CLAUDE_2_1 = "claude-2.1"
@@ -66,6 +67,7 @@ class OpenAIModel(str, Enum):
6667
GPT_4 = "gpt-4"
6768
GPT_4_TURBO_PREVIEW = "gpt-4-turbo-preview"
6869
GPT_4_O = "gpt-4o"
70+
GPT_4_O_MINI = "gpt-4o-mini"
6971

7072
def __str__(self):
7173
return self.value
@@ -76,7 +78,7 @@ def model_name(self):
7678

7779
class OpenAIModelConfig(BaseModel):
7880
provider: Literal["openai"] = "openai"
79-
model: OpenAIModel = Field(default=OpenAIModel.GPT_3_5_TURBO, description="The model for the LLM")
81+
model: OpenAIModel = Field(default=OpenAIModel.GPT_4_O_MINI, description="The model for the LLM")
8082

8183

8284
class GoogleModel(str, Enum):

llmstack/processors/providers/promptly/text_chat.py

+14-11
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
class TextChatCompletionsModel(str, Enum):
2323
GPT_4 = "gpt-4"
2424
GPT_4_O = "gpt-4o"
25+
GPT_4_O_MINI = "gpt-4o-mini"
2526
GPT_4_LATEST = "gpt-4-turbo-latest"
2627
GPT_3_5 = "gpt-3.5-turbo"
2728
GPT_3_5_LATEST = "gpt-3.5-turbo-latest"
@@ -35,7 +36,7 @@ def __str__(self):
3536

3637
class TextChatConfiguration(ApiProcessorSchema):
3738
model: TextChatCompletionsModel = Field(
38-
default=TextChatCompletionsModel.GPT_3_5,
39+
default=TextChatCompletionsModel.GPT_4_O_MINI,
3940
description="ID of the model to use. Currently, only `gpt-3.5-turbo` and `gpt-4` are supported.",
4041
json_schema_extra={"widget": "customselect"},
4142
)
@@ -88,11 +89,6 @@ class TextChatConfiguration(ApiProcessorSchema):
8889
default=True,
8990
description="Use Azure if available. Will fallback to OpenAI when unchecked",
9091
)
91-
use_localai_if_available: bool = Field(
92-
title="Use LocalAI if available",
93-
default=False,
94-
description="Use LocalAI if available. Will fallback to OpenAI or Azure OpenAI when unchecked",
95-
)
9692
chat_history_in_doc_search: int = Field(
9793
title="Chat history in doc search",
9894
default=0,
@@ -289,19 +285,26 @@ def process(self) -> dict:
289285
elif model == "gpt-4-turbo-latest":
290286
model = "gpt-4-0125-preview"
291287

288+
# Check if azure is available
289+
provider_config = None
292290
if self._config.use_azure_if_available:
291+
try:
292+
provider_config = self.get_provider_config(
293+
provider_slug="azure",
294+
processor_slug="*",
295+
model_slug=model,
296+
)
297+
except Exception:
298+
pass
299+
300+
if self._config.use_azure_if_available and provider_config:
293301
if model == "gpt-3.5-turbo":
294302
model = "gpt-35-turbo"
295303
elif model == "gpt-3.5-turbo-16k":
296304
model = "gpt-35-turbo-16k"
297305
elif model == "gpt-3.5-turbo-latest":
298306
model = "gpt-35-turbo-1106"
299307

300-
provider_config = self.get_provider_config(
301-
provider_slug="azure",
302-
processor_slug="*",
303-
model_slug=model,
304-
)
305308
openai_client = AzureOpenAI(
306309
api_key=provider_config.api_key,
307310
api_version=provider_config.api_version,

llmstack/processors/providers/promptly/web_browser.py

+1
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ class Model(str, Enum):
7676
GPT_3_5_16K = "gpt-3.5-turbo-16k"
7777
GPT_4 = "gpt-4"
7878
GPT_4_O = "gpt-4o"
79+
GPT_4_O_MINI = "gpt-4o-mini"
7980
GPT_4_32K = "gpt-4-32k"
8081
GPT_4_LATEST = "gpt-4-turbo-latest"
8182
GPT_4_V_LATEST = "gpt-4-vision-latest"

0 commit comments

Comments
 (0)