From 9abc32525b175a11dc62b84945fe14821bddca00 Mon Sep 17 00:00:00 2001 From: Naoki Takashima <39912547+takatea@users.noreply.github.com> Date: Thu, 13 Feb 2025 10:34:15 +0900 Subject: [PATCH] feat(vertex_ai): Support Gemini 2.0 models (#201) --- models/vertex_ai/.env.example | 4 ++ models/vertex_ai/manifest.yaml | 2 +- .../models/llm/gemini-2.0-flash-001.yaml | 41 ++++++++++++++++++ .../models/llm/gemini-2.0-flash-exp.yaml | 41 ++++++++++++++++++ .../gemini-2.0-flash-lite-preview-02-05.yaml | 42 +++++++++++++++++++ .../gemini-2.0-flash-thinking-exp-01-21.yaml | 39 +++++++++++++++++ .../models/llm/gemini-2.0-pro-exp-02-05.yaml | 41 ++++++++++++++++++ models/vertex_ai/requirements.txt | 2 +- 8 files changed, 210 insertions(+), 2 deletions(-) create mode 100644 models/vertex_ai/.env.example create mode 100644 models/vertex_ai/models/llm/gemini-2.0-flash-001.yaml create mode 100644 models/vertex_ai/models/llm/gemini-2.0-flash-exp.yaml create mode 100644 models/vertex_ai/models/llm/gemini-2.0-flash-lite-preview-02-05.yaml create mode 100644 models/vertex_ai/models/llm/gemini-2.0-flash-thinking-exp-01-21.yaml create mode 100644 models/vertex_ai/models/llm/gemini-2.0-pro-exp-02-05.yaml diff --git a/models/vertex_ai/.env.example b/models/vertex_ai/.env.example new file mode 100644 index 0000000..dbb75b8 --- /dev/null +++ b/models/vertex_ai/.env.example @@ -0,0 +1,4 @@ +INSTALL_METHOD=remote +REMOTE_INSTALL_HOST=debug-plugin.dify.dev +REMOTE_INSTALL_PORT=5003 +REMOTE_INSTALL_KEY=********-****-****-****-************ diff --git a/models/vertex_ai/manifest.yaml b/models/vertex_ai/manifest.yaml index 73a25c1..4c5306d 100644 --- a/models/vertex_ai/manifest.yaml +++ b/models/vertex_ai/manifest.yaml @@ -32,4 +32,4 @@ resource: tool: enabled: true type: plugin -version: 0.0.1 +version: 0.0.2 diff --git a/models/vertex_ai/models/llm/gemini-2.0-flash-001.yaml b/models/vertex_ai/models/llm/gemini-2.0-flash-001.yaml new file mode 100644 index 0000000..bef7ca5 --- /dev/null +++ b/models/vertex_ai/models/llm/gemini-2.0-flash-001.yaml @@ -0,0 +1,41 @@ +model: gemini-2.0-flash-001 +label: + en_US: Gemini 2.0 Flash 001 +model_type: llm +features: + - agent-thought + - vision + - tool-call + - stream-tool-call + - document + - video + - audio +model_properties: + mode: chat + context_size: 1048576 +parameter_rules: + - name: temperature + use_template: temperature + - name: top_p + use_template: top_p + - name: top_k + label: + zh_Hans: 取样数量 + en_US: Top k + type: int + help: + zh_Hans: 仅从每个后续标记的前 K 个选项中采样。 + en_US: Only sample from the top K options for each subsequent token. + required: false + - name: max_output_tokens + use_template: max_tokens + default: 8192 + min: 1 + max: 8192 + - name: json_schema + use_template: json_schema +pricing: + input: '0.00' + output: '0.00' + unit: '0.000001' + currency: USD diff --git a/models/vertex_ai/models/llm/gemini-2.0-flash-exp.yaml b/models/vertex_ai/models/llm/gemini-2.0-flash-exp.yaml new file mode 100644 index 0000000..966617e --- /dev/null +++ b/models/vertex_ai/models/llm/gemini-2.0-flash-exp.yaml @@ -0,0 +1,41 @@ +model: gemini-2.0-flash-exp +label: + en_US: Gemini 2.0 Flash Exp +model_type: llm +features: + - agent-thought + - vision + - tool-call + - stream-tool-call + - document + - video + - audio +model_properties: + mode: chat + context_size: 1048576 +parameter_rules: + - name: temperature + use_template: temperature + - name: top_p + use_template: top_p + - name: top_k + label: + zh_Hans: 取样数量 + en_US: Top k + type: int + help: + zh_Hans: 仅从每个后续标记的前 K 个选项中采样。 + en_US: Only sample from the top K options for each subsequent token. + required: false + - name: max_output_tokens + use_template: max_tokens + default: 8192 + min: 1 + max: 8192 + - name: json_schema + use_template: json_schema +pricing: + input: '0.00' + output: '0.00' + unit: '0.000001' + currency: USD diff --git a/models/vertex_ai/models/llm/gemini-2.0-flash-lite-preview-02-05.yaml b/models/vertex_ai/models/llm/gemini-2.0-flash-lite-preview-02-05.yaml new file mode 100644 index 0000000..702f052 --- /dev/null +++ b/models/vertex_ai/models/llm/gemini-2.0-flash-lite-preview-02-05.yaml @@ -0,0 +1,42 @@ +model: gemini-2.0-flash-lite-preview-02-05 +label: + en_US: Gemini 2.0 Flash Lite Preview 0205 +model_type: llm +features: + - agent-thought + - vision + - tool-call + - stream-tool-call + - document + - video + - audio +model_properties: + mode: chat + context_size: 1048576 +parameter_rules: + - name: temperature + use_template: temperature + - name: top_p + use_template: top_p + - name: top_k + label: + zh_Hans: 取样数量 + en_US: Top k + type: int + help: + zh_Hans: 仅从每个后续标记的前 K 个选项中采样。 + en_US: Only sample from the top K options for each subsequent token. + required: false + - name: max_output_tokens + use_template: max_tokens + default: 8192 + min: 1 + max: 8192 + - name: json_schema + use_template: json_schema +pricing: + input: '0.00' + output: '0.00' + unit: '0.000001' + currency: USD + diff --git a/models/vertex_ai/models/llm/gemini-2.0-flash-thinking-exp-01-21.yaml b/models/vertex_ai/models/llm/gemini-2.0-flash-thinking-exp-01-21.yaml new file mode 100644 index 0000000..7167626 --- /dev/null +++ b/models/vertex_ai/models/llm/gemini-2.0-flash-thinking-exp-01-21.yaml @@ -0,0 +1,39 @@ +model: gemini-2.0-flash-thinking-exp-01-21 +label: + en_US: Gemini 2.0 Flash Thinking Exp 01-21 +model_type: llm +features: + - agent-thought + - vision + - document + - video + - audio +model_properties: + mode: chat + context_size: 32767 +parameter_rules: + - name: temperature + use_template: temperature + - name: top_p + use_template: top_p + - name: top_k + label: + zh_Hans: 取样数量 + en_US: Top k + type: int + help: + zh_Hans: 仅从每个后续标记的前 K 个选项中采样。 + en_US: Only sample from the top K options for each subsequent token. + required: false + - name: max_output_tokens + use_template: max_tokens + default: 8192 + min: 1 + max: 8192 + - name: json_schema + use_template: json_schema +pricing: + input: '0.00' + output: '0.00' + unit: '0.000001' + currency: USD diff --git a/models/vertex_ai/models/llm/gemini-2.0-pro-exp-02-05.yaml b/models/vertex_ai/models/llm/gemini-2.0-pro-exp-02-05.yaml new file mode 100644 index 0000000..fb571f0 --- /dev/null +++ b/models/vertex_ai/models/llm/gemini-2.0-pro-exp-02-05.yaml @@ -0,0 +1,41 @@ +model: gemini-2.0-pro-exp-02-05 +label: + en_US: Gemini 2.0 pro exp 02-05 +model_type: llm +features: + - agent-thought + - vision + - tool-call + - stream-tool-call + - document + - video + - audio +model_properties: + mode: chat + context_size: 1048576 +parameter_rules: + - name: temperature + use_template: temperature + - name: top_p + use_template: top_p + - name: top_k + label: + zh_Hans: 取样数量 + en_US: Top k + type: int + help: + zh_Hans: 仅从每个后续标记的前 K 个选项中采样。 + en_US: Only sample from the top K options for each subsequent token. + required: false + - name: max_output_tokens + use_template: max_tokens + default: 8192 + min: 1 + max: 8192 + - name: json_schema + use_template: json_schema +pricing: + input: '0.00' + output: '0.00' + unit: '0.000001' + currency: USD diff --git a/models/vertex_ai/requirements.txt b/models/vertex_ai/requirements.txt index eb69391..2767058 100644 --- a/models/vertex_ai/requirements.txt +++ b/models/vertex_ai/requirements.txt @@ -1,4 +1,4 @@ -dify_plugin~=0.0.1b54 +dify_plugin~=0.0.1b64 anthropic==0.42.0 vertexai==1.71.1 Pillow==11.0.0