[PR #2087] [MERGED] feat(dingo): v0.4.7 - Improve prompts to focus on content optimization #2252

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

📋 Pull Request Information

Original PR: https://github.com/langgenius/dify-official-plugins/pull/2087
Author: @Kylie-dot-s
Created: 11/18/2025
Status: Merged
Merged: 11/18/2025
Merged by: @crazywoola

Base: mainHead: feat/dingo-v0.4.7-prompt-improvements


📝 Commits (1)

  • 2c639bc feat(dingo): v0.4.7 - Improve prompts to focus on content optimization

📊 Changes

3 files changed (+103 additions, -17 deletions)

View changed files

📝 tools/dingo/manifest.yaml (+1 -1)
📝 tools/dingo/tools/keyword_matcher.py (+8 -0)
📝 tools/dingo/tools/resume_optimizer.py (+94 -16)

📄 Description

What's New

1. Resume Optimizer: Ignore Format Issues (v0.4.6-v0.4.7)

  • Add explicit constraints to ignore Markdown format issues
  • Focus only on substantive content optimization
  • Prevent LLM from suggesting fixes for format conversion artifacts

Problem Solved:
When users convert PDF/DOCX to Markdown, format issues (extra spaces, missing symbols) may be introduced by conversion tools. LLM was suggesting fixes for these issues that don't exist in the original PDF, causing confusion.

Solution:
Following Resume-Matcher's best practice, explicitly instruct LLM to:

  • Focus on keyword matching, experience descriptions, quantified achievements
  • Ignore Markdown formatting issues (spaces, line breaks, symbols, indentation)
  • Ignore layout and file format problems

Users will apply content optimization suggestions to their original files.

2. Keyword Matcher: Skip Empty Optimization Sections (v0.4.5)

  • Instruct LLM to skip priority sections with no suggestions
  • Prevent output of empty 'Before: (None) After: (None)' sections
  • Only output sections with actual optimization suggestions

Before:
`

🔴 High Priority Optimization

Before:
(None)

After:
(None)

Reason: No optimization needed
`

After:
(Skips this section entirely if no high-priority keywords are missing)

3. Resume Optimizer: Add LLM Retry Logic (v0.4.6)

  • Add exponential backoff retry mechanism (3 retries, 1s/2s/4s intervals)
  • Handle empty responses and API errors
  • Improve reliability during DeepSeek API rate limiting

Technical Details

Prompt Engineering:

  • Explicit constraint: 'Please IGNORE Markdown formatting issues and do NOT mention them'
  • Clear focus: keyword matching, experience descriptions, quantified achievements
  • Conditional output: only show sections with actual suggestions

Retry Strategy:

  • Max 3 retries with exponential backoff
  • Handles empty LLM responses and API timeouts
  • Detailed logging for debugging

Testing

  • Verified resume optimizer ignores format issues
  • Confirmed keyword matcher skips empty sections
  • Tested retry logic with DeepSeek API

Version

0.4.5 0.4.7

Related Issues or Context

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
12dddeb5675263147699bff56d5b894b

🔄 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/2087 **Author:** [@Kylie-dot-s](https://github.com/Kylie-dot-s) **Created:** 11/18/2025 **Status:** ✅ Merged **Merged:** 11/18/2025 **Merged by:** [@crazywoola](https://github.com/crazywoola) **Base:** `main` ← **Head:** `feat/dingo-v0.4.7-prompt-improvements` --- ### 📝 Commits (1) - [`2c639bc`](https://github.com/langgenius/dify-official-plugins/commit/2c639bc7c6dfa2abe5579f111f0996769a979893) feat(dingo): v0.4.7 - Improve prompts to focus on content optimization ### 📊 Changes **3 files changed** (+103 additions, -17 deletions) <details> <summary>View changed files</summary> 📝 `tools/dingo/manifest.yaml` (+1 -1) 📝 `tools/dingo/tools/keyword_matcher.py` (+8 -0) 📝 `tools/dingo/tools/resume_optimizer.py` (+94 -16) </details> ### 📄 Description ## What's New ### 1. Resume Optimizer: Ignore Format Issues (v0.4.6-v0.4.7) - Add explicit constraints to ignore Markdown format issues - Focus only on substantive content optimization - Prevent LLM from suggesting fixes for format conversion artifacts **Problem Solved:** When users convert PDF/DOCX to Markdown, format issues (extra spaces, missing symbols) may be introduced by conversion tools. LLM was suggesting fixes for these issues that don't exist in the original PDF, causing confusion. **Solution:** Following Resume-Matcher's best practice, explicitly instruct LLM to: - Focus on keyword matching, experience descriptions, quantified achievements - Ignore Markdown formatting issues (spaces, line breaks, symbols, indentation) - Ignore layout and file format problems Users will apply content optimization suggestions to their original files. ### 2. Keyword Matcher: Skip Empty Optimization Sections (v0.4.5) - Instruct LLM to skip priority sections with no suggestions - Prevent output of empty 'Before: (None) After: (None)' sections - Only output sections with actual optimization suggestions **Before:** ` ### 🔴 High Priority Optimization **Before:** (None) **After:** (None) **Reason:** No optimization needed ` **After:** ` (Skips this section entirely if no high-priority keywords are missing) ` ### 3. Resume Optimizer: Add LLM Retry Logic (v0.4.6) - Add exponential backoff retry mechanism (3 retries, 1s/2s/4s intervals) - Handle empty responses and API errors - Improve reliability during DeepSeek API rate limiting ## Technical Details **Prompt Engineering:** - Explicit constraint: 'Please IGNORE Markdown formatting issues and do NOT mention them' - Clear focus: keyword matching, experience descriptions, quantified achievements - Conditional output: only show sections with actual suggestions **Retry Strategy:** - Max 3 retries with exponential backoff - Handles empty LLM responses and API timeouts - Detailed logging for debugging ## Testing - ✅ Verified resume optimizer ignores format issues - ✅ Confirmed keyword matcher skips empty sections - ✅ Tested retry logic with DeepSeek API ## Version 0.4.5 0.4.7 ## 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 --> ## 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. --> - [ ] 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 - [ ] 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 - [ ] 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 --> <img width="339" height="384" alt="12dddeb5675263147699bff56d5b894b" src="https://github.com/user-attachments/assets/448ef01d-7dff-4da4-b722-9f29f2a6f557" /> --- <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:29 -05:00
yindo closed this issue 2026-02-16 11:16:29 -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#2252