90 lines
3.4 KiB
YAML
90 lines
3.4 KiB
YAML
# plugin_selection_rules.yaml
|
|
# Configuration file for PI Pathfinder plugin selection logic.
|
|
|
|
# Global settings for plugin selection behavior.
|
|
global:
|
|
# Default preference for prioritizing plugins: "speed", "accuracy", "cost"
|
|
default_priority: "accuracy"
|
|
# Maximum number of plugins to consider for a given task.
|
|
max_plugins_considered: 10
|
|
# Minimum relevance score for a plugin to be considered. (0.0 - 1.0)
|
|
minimum_relevance_score: 0.2
|
|
# Enable/Disable verbose logging for debugging.
|
|
verbose_logging: false
|
|
|
|
# Rules for selecting plugins based on keywords and task descriptions.
|
|
keyword_rules:
|
|
# Define keywords and their associated plugin preferences.
|
|
# The higher the weight, the more preferred the plugin is for that keyword.
|
|
- keywords: ["image", "generate", "picture", "visual"]
|
|
plugin_preferences:
|
|
"DALL-E": 0.9 # Example: Prefer DALL-E for image generation
|
|
"Stable Diffusion": 0.8
|
|
"REPLACE_ME_IMAGE_PLUGIN": 0.5
|
|
- keywords: ["translate", "language", "multilingual"]
|
|
plugin_preferences:
|
|
"Google Translate": 0.95
|
|
"DeepL Translator": 0.9
|
|
"REPLACE_ME_TRANSLATION_PLUGIN": 0.6
|
|
- keywords: ["code", "programming", "algorithm", "debug"]
|
|
plugin_preferences:
|
|
"Code Interpreter": 0.9
|
|
"GitHub Copilot": 0.85
|
|
"REPLACE_ME_CODE_PLUGIN": 0.7
|
|
- keywords: ["data analysis", "statistics", "spreadsheet"]
|
|
plugin_preferences:
|
|
"Wolfram Alpha": 0.9
|
|
"Excel Online": 0.8
|
|
"REPLACE_ME_DATA_PLUGIN": 0.6
|
|
|
|
# Rules for selecting plugins based on their stated capabilities.
|
|
capability_rules:
|
|
# Define capability patterns and their associated plugin preferences.
|
|
# These rules are based on the plugin's description and advertised skills.
|
|
- capability_pattern: "Generates realistic images from text prompts."
|
|
plugin_preferences:
|
|
"DALL-E": 1.0
|
|
"Stable Diffusion": 0.9
|
|
- capability_pattern: "Translates text between multiple languages."
|
|
plugin_preferences:
|
|
"Google Translate": 1.0
|
|
"DeepL Translator": 0.95
|
|
- capability_pattern: "Executes code and analyzes data."
|
|
plugin_preferences:
|
|
"Code Interpreter": 1.0
|
|
"Wolfram Alpha": 0.8
|
|
|
|
# Rules for handling user preferences.
|
|
user_preferences:
|
|
# Default user preferences (can be overridden by user-specific settings).
|
|
defaults:
|
|
priority: "accuracy" # Default priority: "speed", "accuracy", "cost"
|
|
preferred_plugins: [] # List of plugins the user prefers (e.g., ["DALL-E", "Google Translate"])
|
|
excluded_plugins: [] # List of plugins the user wants to avoid (e.g., ["Expensive Plugin"])
|
|
|
|
# Example: User-specific preferences (loaded from a user profile, for example).
|
|
user_id_123:
|
|
priority: "speed"
|
|
preferred_plugins: ["Google Translate"]
|
|
excluded_plugins: ["REPLACE_ME_EXPENSIVE_PLUGIN"]
|
|
|
|
# Fallback plugin to use if no other plugin matches the criteria.
|
|
fallback_plugin: "Web Search"
|
|
|
|
# Advanced configuration (for expert users only).
|
|
advanced:
|
|
# Weighting factors for combining different rule types.
|
|
keyword_weight: 0.6
|
|
capability_weight: 0.4
|
|
user_preference_weight: 0.2
|
|
|
|
# Threshold for considering a plugin "suitable" after applying all rules.
|
|
suitability_threshold: 0.7
|
|
|
|
# Plugin specific configurations (example).
|
|
plugin_configurations:
|
|
"DALL-E":
|
|
api_key: "REPLACE_ME_DALL_E_API_KEY"
|
|
image_size: "1024x1024"
|
|
"Google Translate":
|
|
target_language: "en" # Default target language |