LlamaFarm Config Generation Skill
Generate LlamaFarm configurations from natural language descriptions using internalized patterns.
Command Entry Point
/llamafarm:config "I want to analyze FDA regulatory PDFs"
/llamafarm:config "Add OCR support to my existing project"
/llamafarm:config "Create a multi-model setup with Universal Runtime and OpenAI"
When to Load
Activate this skill when:
- User runs
/llamafarm:config command
- User asks to create a new LlamaFarm project
- User wants to modify existing configuration
- User describes what they want to build
Generation Workflow
- Parse intent - New project or modification?
- Identify use case - PDF, markdown, mixed, code?
- Select pattern - Load appropriate pattern file
- Generate config - Apply pattern to user needs
- Validate - Run
lf projects validate --config llamafarm.yaml
- Present - Show config with CLI next steps
Intent Detection
New project indicators:
- "I want to...", "Create...", "Build...", "New project..."
- "Set up...", "Make a...", "Start a..."
Modification indicators:
- "Add...", "Change...", "Update...", "Remove..."
- "Switch...", "Modify...", "Enable..."
If modifying, read the existing llamafarm.yaml first.
Use Case Detection
| Keywords |
Use Case Pattern |
| PDF, documents, regulatory, FDA, legal |
pdf-pattern.md |
| markdown, notes, docs, README, wiki |
markdown-pattern.md |
| mixed, various, multiple formats |
mixed-pattern.md |
| code, source, technical, codebase |
code-pattern.md |
| large, complex, ordinance, manual |
large-docs-pattern.md |
Progressive Disclosure
Load these files based on the use case:
- pdf-pattern.md - PDF document configurations
- markdown-pattern.md - Markdown/text notes configurations
- mixed-pattern.md - Mixed format configurations
- code-pattern.md - Code analysis configurations
- large-docs-pattern.md - Large complex document configurations
- models.md - Model configuration templates
Minimal Valid Config
Every generated config must include:
version: v1
name: <project-name>
namespace: default
runtime:
models:
- name: default
provider: <universal|ollama|openai>
model: <model-id>
default: true
prompts:
- name: default
messages:
- role: system
content: |
<appropriate-system-prompt>
rag:
databases:
- name: main_db
type: ChromaStore
config:
collection_name: documents
persist_directory: ./data/main_db
embedding_strategies:
- name: default_embeddings
type: UniversalEmbedder
config:
model: nomic-ai/nomic-embed-text-v2-moe
dimension: 768
retrieval_strategies:
- name: basic_search
type: BasicSimilarityStrategy
config:
top_k: 10
default: true
default_embedding_strategy: default_embeddings
default_retrieval_strategy: basic_search
data_processing_strategies:
- name: default_processor
parsers:
- type: <appropriate-parser>
file_include_patterns: ["<patterns>"]
priority: 100
extractors:
- type: ContentStatisticsExtractor
datasets:
- name: default_dataset
database: main_db
data_processing_strategy: default_processor
Presenting Results
After generating a config, show it with annotations and next steps:
Configuration Generated: <project-name>
=======================================
File: llamafarm.yaml
Key choices:
- Provider: <provider> (<reason>)
- Parser: <parser> (<reason>)
- Extractors: <list> (<reason>)
Next steps:
1. Review the generated llamafarm.yaml
2. lf start
3. lf datasets create -s default_processor -b main_db my_dataset
4. lf datasets upload my_dataset ./path/to/files/*
5. lf datasets process my_dataset
6. lf chat "Ask a question"
Post-Generation CLI Workflow
# Validate
lf projects validate --config llamafarm.yaml
# Start services
lf start
# Create dataset
lf datasets create -s <strategy> -b <database> <dataset-name>
# Upload files
lf datasets upload <dataset-name> ./path/to/files/*
# Process
lf datasets process <dataset-name>
# Chat
lf chat "Your question here"
1---2name: config-generation3description: Generate LlamaFarm configurations from natural language. Activates for new projects, config creation, PDF/markdown/code patterns.4---56# LlamaFarm Config Generation Skill78Generate LlamaFarm configurations from natural language descriptions using internalized patterns.910## Command Entry Point1112```13/llamafarm:config "I want to analyze FDA regulatory PDFs"14/llamafarm:config "Add OCR support to my existing project"15/llamafarm:config "Create a multi-model setup with Universal Runtime and OpenAI"16```1718## When to Load1920Activate this skill when:21- User runs `/llamafarm:config` command22- User asks to create a new LlamaFarm project23- User wants to modify existing configuration24- User describes what they want to build2526## Generation Workflow27281. **Parse intent** - New project or modification?292. **Identify use case** - PDF, markdown, mixed, code?303. **Select pattern** - Load appropriate pattern file314. **Generate config** - Apply pattern to user needs325. **Validate** - Run `lf projects validate --config llamafarm.yaml`336. **Present** - Show config with CLI next steps3435## Intent Detection3637**New project indicators:**38- "I want to...", "Create...", "Build...", "New project..."39- "Set up...", "Make a...", "Start a..."4041**Modification indicators:**42- "Add...", "Change...", "Update...", "Remove..."43- "Switch...", "Modify...", "Enable..."4445If modifying, read the existing `llamafarm.yaml` first.4647## Use Case Detection4849| Keywords | Use Case Pattern |50|----------|-----------------|51| PDF, documents, regulatory, FDA, legal | `pdf-pattern.md` |52| markdown, notes, docs, README, wiki | `markdown-pattern.md` |53| mixed, various, multiple formats | `mixed-pattern.md` |54| code, source, technical, codebase | `code-pattern.md` |55| large, complex, ordinance, manual | `large-docs-pattern.md` |5657## Progressive Disclosure5859Load these files based on the use case:6061- **pdf-pattern.md** - PDF document configurations62- **markdown-pattern.md** - Markdown/text notes configurations63- **mixed-pattern.md** - Mixed format configurations64- **code-pattern.md** - Code analysis configurations65- **large-docs-pattern.md** - Large complex document configurations66- **models.md** - Model configuration templates6768## Minimal Valid Config6970Every generated config must include:7172```yaml73version: v174name: <project-name>75namespace: default7677runtime:78 models:79 - name: default80 provider: <universal|ollama|openai>81 model: <model-id>82 default: true8384prompts:85 - name: default86 messages:87 - role: system88 content: |89 <appropriate-system-prompt>9091rag:92 databases:93 - name: main_db94 type: ChromaStore95 config:96 collection_name: documents97 persist_directory: ./data/main_db98 embedding_strategies:99 - name: default_embeddings100 type: UniversalEmbedder101 config:102 model: nomic-ai/nomic-embed-text-v2-moe103 dimension: 768104 retrieval_strategies:105 - name: basic_search106 type: BasicSimilarityStrategy107 config:108 top_k: 10109 default: true110 default_embedding_strategy: default_embeddings111 default_retrieval_strategy: basic_search112113 data_processing_strategies:114 - name: default_processor115 parsers:116 - type: <appropriate-parser>117 file_include_patterns: ["<patterns>"]118 priority: 100119 extractors:120 - type: ContentStatisticsExtractor121122datasets:123 - name: default_dataset124 database: main_db125 data_processing_strategy: default_processor126```127128## Presenting Results129130After generating a config, show it with annotations and next steps:131132```133Configuration Generated: <project-name>134=======================================135136File: llamafarm.yaml137138Key choices:139 - Provider: <provider> (<reason>)140 - Parser: <parser> (<reason>)141 - Extractors: <list> (<reason>)142143Next steps:144 1. Review the generated llamafarm.yaml145 2. lf start146 3. lf datasets create -s default_processor -b main_db my_dataset147 4. lf datasets upload my_dataset ./path/to/files/*148 5. lf datasets process my_dataset149 6. lf chat "Ask a question"150```151152## Post-Generation CLI Workflow153154```bash155# Validate156lf projects validate --config llamafarm.yaml157158# Start services159lf start160161# Create dataset162lf datasets create -s <strategy> -b <database> <dataset-name>163164# Upload files165lf datasets upload <dataset-name> ./path/to/files/*166167# Process168lf datasets process <dataset-name>169170# Chat171lf chat "Your question here"172```