[PR #1493] [MERGED] fix: Azure AI Studio Cohere reranker model integration with v2 API support #1924

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

📋 Pull Request Information

Original PR: https://github.com/langgenius/dify-official-plugins/pull/1493
Author: @honjo-hiroaki-gtt
Created: 8/12/2025
Status: Merged
Merged: 8/13/2025
Merged by: @crazywoola

Base: mainHead: fix-issue-695


📝 Commits (2)

📊 Changes

2 files changed (+78 additions, -21 deletions)

View changed files

📝 models/azure_ai_studio/manifest.yaml (+1 -1)
📝 models/azure_ai_studio/models/rerank/rerank.py (+77 -20)

📄 Description

Related Issues or Context

Fixes #695 - Azure AI Studio (Azure AI Foundry) reranker model integration was failing with 404 errors due to incorrect API endpoint paths and missing required request fields for Cohere models.

Adding a Rerank model to the Azure AI Studio plugin successfully adds the model without any issues.
CleanShot 2025-08-13 at 17 58 47@2x

CleanShot 2025-08-13 at 18 02 10@2x

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

Testing Details:

  • Successfully tested with Azure AI Foundry deployed Cohere-rerank-v3.5 model
  • Verified with curl command that matches the exact API format
  • Tested credential validation with JWT token authentication
  • Confirmed response parsing for Azure AI Foundry format

What's Changed:

  • Added endpoint path handling: Now automatically appends /v2/rerank for Azure AI Foundry Cohere models when needed
  • Fixed request body format: Changed from {"inputs": query, "docs": docs} to correct format {"query": query, "documents": docs, "model": "model"}
  • Fixed response parsing: Corrected handling of Azure AI Foundry format {"results": [{"index": ..., "relevance_score": ...}]}
  • Support for multiple endpoint patterns: Flexible handling of /v2/rerank, /v1/rerank, /rerank, and /score patterns
  • Improved error handling: Added specific error messages for 404, 401, and 400 errors with helpful guidance
  • Added top_n parameter support: Now properly passes the top_n parameter to the API request

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.5.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/1493 **Author:** [@honjo-hiroaki-gtt](https://github.com/honjo-hiroaki-gtt) **Created:** 8/12/2025 **Status:** ✅ Merged **Merged:** 8/13/2025 **Merged by:** [@crazywoola](https://github.com/crazywoola) **Base:** `main` ← **Head:** `fix-issue-695` --- ### 📝 Commits (2) - [`15554de`](https://github.com/langgenius/dify-official-plugins/commit/15554de3f46162b98d761d00e3a228bb55fe433d) fix: Resolve issue #695 - [`846056e`](https://github.com/langgenius/dify-official-plugins/commit/846056e3f018f946cbdf07fc4d17d1c7a433201f) Bump version to 0.0.4 ### 📊 Changes **2 files changed** (+78 additions, -21 deletions) <details> <summary>View changed files</summary> 📝 `models/azure_ai_studio/manifest.yaml` (+1 -1) 📝 `models/azure_ai_studio/models/rerank/rerank.py` (+77 -20) </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 --> Fixes #695 - Azure AI Studio (Azure AI Foundry) reranker model integration was failing with 404 errors due to incorrect API endpoint paths and missing required request fields for Cohere models. Adding a Rerank model to the Azure AI Studio plugin successfully adds the model without any issues. <img width="2228" height="1454" alt="CleanShot 2025-08-13 at 17 58 47@2x" src="https://github.com/user-attachments/assets/2c61bc32-8378-4eab-82ce-dd68a6e14894" /> <img width="2036" height="778" alt="CleanShot 2025-08-13 at 18 02 10@2x" src="https://github.com/user-attachments/assets/4b83d6f6-f685-451b-9e74-955eec9e974b" /> ## 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* - [x] I have Run Comprehensive Tests Relevant to My Changes <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> **Testing Details:** - Successfully tested with Azure AI Foundry deployed Cohere-rerank-v3.5 model - Verified with curl command that matches the exact API format - Tested credential validation with JWT token authentication - Confirmed response parsing for Azure AI Foundry format **What's Changed:** - **Added endpoint path handling**: Now automatically appends `/v2/rerank` for Azure AI Foundry Cohere models when needed - **Fixed request body format**: Changed from `{"inputs": query, "docs": docs}` to correct format `{"query": query, "documents": docs, "model": "model"}` - **Fixed response parsing**: Corrected handling of Azure AI Foundry format `{"results": [{"index": ..., "relevance_score": ...}]}` - **Support for multiple endpoint patterns**: Flexible handling of `/v2/rerank`, `/v1/rerank`, `/rerank`, and `/score` patterns - **Improved error handling**: Added specific error messages for 404, 401, and 400 errors with helpful guidance - **Added top_n parameter support**: Now properly passes the `top_n` parameter to the API request ## 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. --> - [ ] 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) - [x] 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.5.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:15:14 -05:00
yindo closed this issue 2026-02-16 11:15:14 -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#1924