mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-02-14 16:05:02 -05:00
CHANGES - Enable Gemini models to use web search tool - Validate search-location timezone or language code formats - Normalize language codes from underscores to hyphenated form - Inject Google Search tool when --search flag enabled - Append deduplicated web citations under standardized Sources section - Improve robustness for nil candidates and content parts - Factor generation config builder for reuse in streaming - Update CLI help and completions to include Gemini
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"