mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-02-13 15:34:59 -05:00
### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout.
78 lines
1.6 KiB
Markdown
78 lines
1.6 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
fabric --config ~/.config/fabric/config.yaml "Tell me about APIs"
|
|
```
|
|
|
|
## Configuration Precedence
|
|
|
|
1. CLI flags (highest priority)
|
|
2. YAML config values
|
|
3. Default values (lowest priority)
|
|
|
|
## Supported Configuration Options
|
|
|
|
```yaml
|
|
# 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., `temperature` not `-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
|
|
|
|
```yaml
|
|
# ~/.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
|
|
|
|
```bash
|
|
# Override temperature from config
|
|
fabric --config ~/.config/fabric/config.yaml --temperature 0.9 "Query"
|
|
```
|