[PR #2279] [MERGED] feat(gemini): add gemini-3-flash-preview model support #2375

Closed
opened 2026-02-16 11:16:49 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/langgenius/dify-official-plugins/pull/2279
Author: @QIN2DIM
Created: 12/17/2025
Status: Merged
Merged: 12/17/2025
Merged by: @crazywoola

Base: mainHead: gemini-3-flash-preview


📝 Commits (4)

  • 6c2757a feat(gemini): add gemini-3-flash-preview model support
  • b37baed feat(models): add structured-output support and json_schema parameter to gemini-3 models
  • 9760f0d refactor(llm): replace string-to-thought-level mapping with dictionary lookup
  • d112537 fix(model-configuration): change max_output_tokens type from float to int

📊 Changes

10 files changed (+182 additions, -13 deletions)

View changed files

📝 models/gemini/.env.example (+1 -2)
📝 models/gemini/manifest.yaml (+1 -1)
📝 models/gemini/models/llm/_position.yaml (+1 -0)
models/gemini/models/llm/gemini-3-flash-preview.yaml (+147 -0)
📝 models/gemini/models/llm/gemini-3-pro-image-preview.yaml (+4 -1)
📝 models/gemini/models/llm/gemini-3-pro-preview.yaml (+4 -1)
📝 models/gemini/models/llm/llm.py (+9 -4)
📝 models/gemini/models/text_embedding/text_embedding.py (+6 -0)
📝 models/gemini/pyproject.toml (+1 -1)
📝 models/gemini/requirements.txt (+8 -3)

📄 Description

Related Issues or Context

Summary

This PR integrates support for the Gemini 3 model series (Flash and Pro previews) and introduces significant enhancements to the model configuration, parameters, and underlying SDK dependencies.

Key Changes:

  • Gemini 3 Model Integration:
    • Added full support for gemini-3-flash-preview, including multimodal capabilities such as vision, streaming, tool calling, and processing for documents, video, and audio.
    • Enabled support for gemini-3-pro-preview and gemini-3-pro-image-preview.
  • Structured Output & JSON Schema:
    • Implemented structured-output support for Gemini 3 models.
    • Introduced the json_schema parameter with use_template rules to ensure reliable and formatted API responses.
  • Advanced Parameter Support:
    • Added new configuration parameters: thinking_level, media_resolution, grounding, url_context, and code_execution.
    • Improved handling for temperature settings.
  • SDK & Dependency Updates:
    • Migrated from google.generativeai to the newer google.genai package.
    • Upgraded google-genai to 1.56.0 and google-auth to 2.45.0 for better stability.
  • System Refactoring:
    • Updated the manifest version to 0.7.1.
    • Refactored environment variables, changing REMOTE_INSTALL_HOST:PORT to REMOTE_INSTALL_URL for improved URL formatting.
image

This PR contains Changes to Non-Plugin

  • Documentation
  • Other

This PR contains Changes to Non-LLM Models Plugin

  • I have Run Comprehensive Tests Relevant to My Changes

This PR contains Changes to LLM Models Plugin

  • My Changes Affect Message Flow Handling (System Messages and User→Assistant Turn-Taking)
  • My Changes Affect Tool Interaction Flow (Multi-Round Usage and Output Handling, for both Agent App and Agent Node)
  • My Changes Affect Multimodal Input Handling (Images, PDFs, Audio, Video, etc.)
  • My Changes Affect Multimodal Output Generation (Images, Audio, Video, etc.)
  • My Changes Affect Structured Output Format (JSON, XML, etc.)
  • My Changes Affect Token Consumption Metrics
  • My Changes Affect Other LLM Functionalities (Reasoning Process, Grounding, Prompt Caching, etc.)
  • Other Changes (Add New Models, Fix Model Parameters etc.)

Version Control (Any Changes to the Plugin Will Require Bumping the Version)

  • I have Bumped Up the Version in Manifest.yaml (Top-Level Version Field, Not in Meta Section)

Dify Plugin SDK Version

  • I have Ensured dify_plugin>=0.3.0,<0.6.0 is in requirements.txt (SDK docs)

Environment Verification (If Any Code Changes)

Local Deployment Environment

  • Dify Version is: , I have Tested My Changes on Local Deployment Dify with a Clean Environment That Matches the Production Configuration.

SaaS Environment

  • I have Tested My Changes on cloud.dify.ai with a Clean Environment That Matches the Production Configuration

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/langgenius/dify-official-plugins/pull/2279 **Author:** [@QIN2DIM](https://github.com/QIN2DIM) **Created:** 12/17/2025 **Status:** ✅ Merged **Merged:** 12/17/2025 **Merged by:** [@crazywoola](https://github.com/crazywoola) **Base:** `main` ← **Head:** `gemini-3-flash-preview` --- ### 📝 Commits (4) - [`6c2757a`](https://github.com/langgenius/dify-official-plugins/commit/6c2757a39c6ae2530814cbde641368e70d39c52d) feat(gemini): add gemini-3-flash-preview model support - [`b37baed`](https://github.com/langgenius/dify-official-plugins/commit/b37baedec4a4f7461538e67a4b0eb89700f7bacd) feat(models): add structured-output support and json_schema parameter to gemini-3 models - [`9760f0d`](https://github.com/langgenius/dify-official-plugins/commit/9760f0db795fa9e9b939a64232761e9593263450) refactor(llm): replace string-to-thought-level mapping with dictionary lookup - [`d112537`](https://github.com/langgenius/dify-official-plugins/commit/d1125371714ec399f3d75f19d4191e8f732c42f4) fix(model-configuration): change max_output_tokens type from float to int ### 📊 Changes **10 files changed** (+182 additions, -13 deletions) <details> <summary>View changed files</summary> 📝 `models/gemini/.env.example` (+1 -2) 📝 `models/gemini/manifest.yaml` (+1 -1) 📝 `models/gemini/models/llm/_position.yaml` (+1 -0) ➕ `models/gemini/models/llm/gemini-3-flash-preview.yaml` (+147 -0) 📝 `models/gemini/models/llm/gemini-3-pro-image-preview.yaml` (+4 -1) 📝 `models/gemini/models/llm/gemini-3-pro-preview.yaml` (+4 -1) 📝 `models/gemini/models/llm/llm.py` (+9 -4) 📝 `models/gemini/models/text_embedding/text_embedding.py` (+6 -0) 📝 `models/gemini/pyproject.toml` (+1 -1) 📝 `models/gemini/requirements.txt` (+8 -3) </details> ### 📄 Description ## Related Issues or Context <!-- ⚠️ NOTE: This repository is for Dify Official Plugins only. For community contributions, please submit to https://github.com/langgenius/dify-plugins instead. - Link Related Issues if Applicable: #issue_number - Or Provide Context about Why this Change is Needed --> ### Summary This PR integrates support for the **Gemini 3 model series** (Flash and Pro previews) and introduces significant enhancements to the model configuration, parameters, and underlying SDK dependencies. #### **Key Changes:** * **Gemini 3 Model Integration**: * Added full support for `gemini-3-flash-preview`, including multimodal capabilities such as **vision, streaming, tool calling**, and processing for **documents, video, and audio**. * Enabled support for `gemini-3-pro-preview` and `gemini-3-pro-image-preview`. * **Structured Output & JSON Schema**: * Implemented `structured-output` support for Gemini 3 models. * Introduced the `json_schema` parameter with `use_template` rules to ensure reliable and formatted API responses. * **Advanced Parameter Support**: * Added new configuration parameters: `thinking_level`, `media_resolution`, `grounding`, `url_context`, and `code_execution`. * Improved handling for `temperature` settings. * **SDK & Dependency Updates**: * **Migrated** from `google.generativeai` to the newer `google.genai` package. * Upgraded `google-genai` to `1.56.0` and `google-auth` to `2.45.0` for better stability. * **System Refactoring**: * Updated the manifest version to `0.7.1`. * Refactored environment variables, changing `REMOTE_INSTALL_HOST:PORT` to `REMOTE_INSTALL_URL` for improved URL formatting. <img width="2194" height="1603" alt="image" src="https://github.com/user-attachments/assets/03defeb5-65c9-473c-9c60-1a64606c0bbe" /> ## This PR contains Changes to *Non-Plugin* <!-- Put an `x` in all the boxes that apply by replacing [ ] with [x] For example: - [x] Documentation --> - [ ] Documentation - [ ] Other ## This PR contains Changes to *Non-LLM Models Plugin* - [ ] I have Run Comprehensive Tests Relevant to My Changes <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> ## This PR contains Changes to *LLM Models Plugin* <!-- LLM Models Test Example: --> <!-- https://github.com/langgenius/dify-official-plugins/blob/main/.assets/test-examples/llm-plugin-tests/llm_test_example.md --> - [ ] My Changes Affect Message Flow Handling (System Messages and User→Assistant Turn-Taking) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Tool Interaction Flow (Multi-Round Usage and Output Handling, for both Agent App and Agent Node) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Multimodal Input Handling (Images, PDFs, Audio, Video, etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Multimodal Output Generation (Images, Audio, Video, etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Structured Output Format (JSON, XML, etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Token Consumption Metrics <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Other LLM Functionalities (Reasoning Process, Grounding, Prompt Caching, etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [x] Other Changes (Add New Models, Fix Model Parameters etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> ## Version Control (Any Changes to the Plugin Will Require Bumping the Version) - [ ] I have Bumped Up the Version in Manifest.yaml (Top-Level `Version` Field, Not in Meta Section) <!-- ⚠️ NOTE: Version Format: MAJOR.MINOR.PATCH - MAJOR (0.x.x): Reserved for Significant architectural changes or incompatible API modifications - MINOR (x.0.x): For New feature additions while maintaining backward compatibility - PATCH (x.x.0): For Backward-compatible bug fixes and minor improvements - Note: Each Version Component (MAJOR, MINOR, PATCH) Can Be 2 Digits, e.g., 10.11.22 --> ## Dify Plugin SDK Version - [x] I have Ensured `dify_plugin>=0.3.0,<0.6.0` is in requirements.txt ([SDK docs](https://github.com/langgenius/dify-plugin-sdks/blob/main/python/README.md)) ## Environment Verification (If Any Code Changes) <!-- ⚠️ NOTE: At Least One Environment Must Be Tested. --> ### Local Deployment Environment - [x] Dify Version is: <!-- Specify Your Version (e.g., 1.2.0) -->, I have Tested My Changes on Local Deployment Dify with a Clean Environment That Matches the Production Configuration. <!-- - Python Virtual Env Matching Manifest.yaml & requirements.txt - No Breaking Changes in Dify That May Affect the Testing Result --> ### SaaS Environment - [ ] I have Tested My Changes on cloud.dify.ai with a Clean Environment That Matches the Production Configuration <!-- - Python Virtual Env Matching Manifest.yaml & requirements.txt --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-16 11:16:49 -05:00
yindo closed this issue 2026-02-16 11:16:49 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify-official-plugins#2375