mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-01-09 14:28:01 -05:00
### CHANGES - Simplify error wrapping by removing redundant Sprintf calls in CLI - Pass HTTP client to FetchModelsDirectly to enable connection reuse - Store persistent HTTP client instance inside the OpenAI provider struct - Update compatible AI providers to match the new function signature - Add error handling for pattern loading from absolute file paths
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"