Ver código fonte

Azure 4o mini options (#6873)

呆萌闷油瓶 9 meses atrás
pai
commit
f31142e758

+ 83 - 7
api/core/model_runtime/model_providers/azure_openai/_constant.py

@@ -497,7 +497,7 @@ LLM_BASE_MODELS = [
         )
     ),
     AzureBaseModel(
-        base_model_name='gpt-4o',
+        base_model_name='gpt-4o-mini',
         entity=AIModelEntity(
             model='fake-deployment-name',
             label=I18nObject(
@@ -532,7 +532,7 @@ LLM_BASE_MODELS = [
                     name='frequency_penalty',
                     **PARAMETER_RULE_TEMPLATE[DefaultParameterName.FREQUENCY_PENALTY],
                 ),
-                _get_max_tokens(default=512, min_val=1, max_val=4096),
+                _get_max_tokens(default=512, min_val=1, max_val=16384),
                 ParameterRule(
                     name='seed',
                     label=I18nObject(
@@ -565,15 +565,15 @@ LLM_BASE_MODELS = [
                 ),
             ],
             pricing=PriceConfig(
-                input=5.00,
-                output=15.00,
+                input=0.150,
+                output=0.600,
                 unit=0.000001,
                 currency='USD',
             )
         )
     ),
     AzureBaseModel(
-        base_model_name='gpt-4o-mini',
+        base_model_name='gpt-4o-mini-2024-07-18',
         entity=AIModelEntity(
             model='fake-deployment-name',
             label=I18nObject(
@@ -641,8 +641,84 @@ LLM_BASE_MODELS = [
                 ),
             ],
             pricing=PriceConfig(
-                input=0.15,
-                output=0.60,
+                input=0.150,
+                output=0.600,
+                unit=0.000001,
+                currency='USD',
+            )
+        )
+    ),
+    AzureBaseModel(
+        base_model_name='gpt-4o',
+        entity=AIModelEntity(
+            model='fake-deployment-name',
+            label=I18nObject(
+                en_US='fake-deployment-name-label',
+            ),
+            model_type=ModelType.LLM,
+            features=[
+                ModelFeature.AGENT_THOUGHT,
+                ModelFeature.VISION,
+                ModelFeature.MULTI_TOOL_CALL,
+                ModelFeature.STREAM_TOOL_CALL,
+            ],
+            fetch_from=FetchFrom.CUSTOMIZABLE_MODEL,
+            model_properties={
+                ModelPropertyKey.MODE: LLMMode.CHAT.value,
+                ModelPropertyKey.CONTEXT_SIZE: 128000,
+            },
+            parameter_rules=[
+                ParameterRule(
+                    name='temperature',
+                    **PARAMETER_RULE_TEMPLATE[DefaultParameterName.TEMPERATURE],
+                ),
+                ParameterRule(
+                    name='top_p',
+                    **PARAMETER_RULE_TEMPLATE[DefaultParameterName.TOP_P],
+                ),
+                ParameterRule(
+                    name='presence_penalty',
+                    **PARAMETER_RULE_TEMPLATE[DefaultParameterName.PRESENCE_PENALTY],
+                ),
+                ParameterRule(
+                    name='frequency_penalty',
+                    **PARAMETER_RULE_TEMPLATE[DefaultParameterName.FREQUENCY_PENALTY],
+                ),
+                _get_max_tokens(default=512, min_val=1, max_val=4096),
+                ParameterRule(
+                    name='seed',
+                    label=I18nObject(
+                        zh_Hans='种子',
+                        en_US='Seed'
+                    ),
+                    type='int',
+                    help=I18nObject(
+                        zh_Hans='如果指定,模型将尽最大努力进行确定性采样,使得重复的具有相同种子和参数的请求应该返回相同的结果。不能保证确定性,您应该参考 system_fingerprint 响应参数来监视变化。',
+                        en_US='If specified, model will make a best effort to sample deterministically, such that repeated requests with the same seed and parameters should return the same result. Determinism is not guaranteed, and you should refer to the system_fingerprint response parameter to monitor changes in the backend.'
+                    ),
+                    required=False,
+                    precision=2,
+                    min=0,
+                    max=1,
+                ),
+                ParameterRule(
+                    name='response_format',
+                    label=I18nObject(
+                        zh_Hans='回复格式',
+                        en_US='response_format'
+                    ),
+                    type='string',
+                    help=I18nObject(
+                        zh_Hans='指定模型必须输出的格式',
+                        en_US='specifying the format that the model must output'
+                    ),
+                    required=False,
+                    options=['text', 'json_object']
+                ),
+            ],
+            pricing=PriceConfig(
+                input=5.00,
+                output=15.00,
                 unit=0.000001,
                 currency='USD',
             )

+ 12 - 0
api/core/model_runtime/model_providers/azure_openai/azure_openai.yaml

@@ -114,6 +114,18 @@ model_credential_schema:
           show_on:
             - variable: __model_type
               value: llm
+        - label:
+            en_US: gpt-4o-mini
+          value: gpt-4o-mini
+          show_on:
+            - variable: __model_type
+              value: llm
+        - label:
+            en_US: gpt-4o-mini-2024-07-18
+          value: gpt-4o-mini-2024-07-18
+          show_on:
+            - variable: __model_type
+              value: llm
         - label:
             en_US: gpt-4o
           value: gpt-4o