mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-02-12 23:15:05 -05:00
## CHANGES - Add suppress-think flag to hide thinking blocks - Configure customizable start and end thinking tags - Strip thinking content from final response output - Update streaming logic to respect suppress-think setting - Add YAML configuration support for thinking options - Implement StripThinkBlocks utility function for content filtering - Add comprehensive tests for thinking suppression functionality
YAML Configuration Support
Overview
Fabric now supports YAML configuration files for commonly used options. This allows users to persist settings and share configurations across multiple runs.
Usage
Use the --config flag to specify a YAML configuration file:
fabric --config ~/.config/fabric/config.yaml "Tell me about APIs"
Configuration Precedence
- CLI flags (highest priority)
- YAML config values
- Default values (lowest priority)
Supported Configuration Options
# Model selection
model: gpt-4
modelContextLength: 4096
# Model parameters
temperature: 0.7
topp: 0.9
presencepenalty: 0.0
frequencypenalty: 0.0
seed: 42
# Pattern selection
pattern: analyze # Use pattern name or filename
# Feature flags
stream: true
raw: false
Rules and Behavior
- Only long flag names are supported in YAML (e.g.,
temperaturenot-t) - CLI flags always override YAML values
- Unknown YAML declarations are ignored
- If a declaration appears multiple times in YAML, the last one wins
- The order of YAML declarations doesn't matter
Type Conversions
The following string-to-type conversions are supported:
- String to number:
"42"→42 - String to float:
"42.5"→42.5 - String to boolean:
"true"→true
Example Config
# ~/.config/fabric/config.yaml
model: gpt-4
temperature: 0.8
pattern: analyze
stream: true
topp: 0.95
presencepenalty: 0.1
frequencypenalty: 0.2
CLI Override Example
# Override temperature from config
fabric --config ~/.config/fabric/config.yaml --temperature 0.9 "Query"