This tool helps manage and maintain LibreChat YAML configuration files by providing automated updates for model lists and consistent YAML formatting.
- Python 3.8 or higher
- pip (Python package installer)
- Clone this repository:
git clone https://github.com/LibreChat-AI/librechat-config-yaml.git
cd librechat-config-yaml/scripts- Install required dependencies:
pip install -r requirements.txt- Copy the environment file and add your API keys:
cp .env.example .envEdit .env and add your API keys for the services you want to use:
COHERE_API_KEY=your-cohere-key
DEEPSEEK_API_KEY=your-deepseek-key
# ... etcRun the main update script:
python update.pyThis will:
- Prompt whether to update YAML formatting (should not be required)
- Prompt whether to update model lists
- Create backups before any modifications
- Process all configuration files:
- librechat-env-f.yaml
- librechat-env-l.yaml
- librechat-up-f.yaml
- librechat-up-l.yaml
- librechat-test.yaml
You can also run individual scripts directly:
Convert YAML formatting:
python convert_yaml_style.pyUpdate model lists:
python update_models.pylibrechat-config-yaml/
├── requirements.txt # Python dependencies
├── README.md # This file
├── scripts/ # Helper scripts
│ ├── README.md # Scripts documentation
│ ├── update.py # Main script
│ ├── convert_yaml_style.py # Convert YAML formatting
│ ├── update_models.py # Update model lists
│ ├── requirements.txt # Python dependencies
│ ├── .env.example # Example environment file
│ ├── .env # Your API keys (create this)
│ ├── fetch_apipie.py # Fetch models from APIpie
│ ├── fetch_cohere.py # Fetch models from Cohere
│ ├── fetch_deepseek.py # Fetch models from Deepseek
│ ├── fetch_fireworks.py # Fetch models from Fireworks
│ ├── fetch_github.py # Fetch models from Github Models
│ ├── fetch_glhf.py # Fetch models from GLHF.chat
│ ├── fetch_groq.py # Fetch models from Groq
│ ├── fetch_huggingface.py # Fetch models from HuggingFace
│ ├── fetch_hyperbolic.py # Fetch models from Hyperbolic
│ ├── fetch_kluster.py # Fetch models from Kluster
│ ├── fetch_mistral.py # Fetch models from Mistral
│ ├── fetch_nanogpt.py # Fetch models from NanoGPT
│ ├── fetch_nvidia.py # Fetch models from Nvidia
│ ├── fetch_openrouter.py # Fetch models from OpenRouter
│ ├── fetch_perplexity.py # Fetch models from Perplexity
│ ├── fetch_sambanova.py # Fetch models from SambaNova
│ ├── fetch_together.py # Fetch models from Together.ai
│ ├── fetch_unify.py # Fetch models from Unify
│ └── fetch_xai.py # Fetch models from XAI
└── *.yaml # LibreChat configuration files
- All scripts create
.bakfiles before modifying any YAML files - Logs are written to:
convert_yaml.logfor YAML style conversionupdate_models.logfor model updates
- Failed operations are logged with detailed error messages
- The scripts will continue processing remaining files if one fails
- A summary is displayed after completion showing:
- Successfully processed files
- Failed operations
- Model count updates
The tool can update model lists from:
- APIpie
- Cohere
- Deepseek
- Fireworks
- Github Models
- GLHF.chat
- Groq
- HuggingFace
- Hyperbolic
- Kluster
- Mistral
- NanoGPT
- Nvidia
- OpenRouter
- Perplexity
- SambaNova
- Together.ai
- Unify
- XAI
When adding new providers:
- Create a new fetcher script in the scripts directory
- Update the provider list in
update_models.py - Add any required API keys to
.env.example