mirror of
https://github.com/xtekky/gpt4free.git
synced 2026-04-22 15:47:11 +08:00
8fd8cd5c80
Co-authored-by: hlohaus <983577+hlohaus@users.noreply.github.com>
67 lines
2.6 KiB
YAML
67 lines
2.6 KiB
YAML
# g4f config.yaml – Custom model routing configuration
|
||
#
|
||
# Place this file in the same directory as your .har and .json cookie files
|
||
# (the "cookies dir", typically ~/.config/g4f/cookies/ or ./har_and_cookies/).
|
||
#
|
||
# Each entry under `models` defines a named route. When a client requests the
|
||
# model by name g4f will try the listed providers in order, honouring any
|
||
# `condition` expression, until one succeeds.
|
||
#
|
||
# Condition syntax
|
||
# ----------------
|
||
# The optional `condition` field is a boolean expression evaluated before each
|
||
# request. It can reference:
|
||
#
|
||
# quota – the full dict returned by the provider's get_quota().
|
||
# Each provider has its own format; access nested fields
|
||
# with dot-notation, e.g. quota.balance,
|
||
# quota.credits.remaining. Missing keys resolve to 0.0.
|
||
# balance – shorthand alias for quota.balance (PollinationsAI compat).
|
||
# error_count – recent errors for this provider in the last hour (int).
|
||
#
|
||
# Provider quota formats:
|
||
# PollinationsAI → {"balance": float}
|
||
# Yupp → {"credits": {"remaining": int, "total": int}}
|
||
# PuterJS → raw metering JSON from the API
|
||
# GeminiCLI → {"buckets": [...]}
|
||
# GithubCopilot → usage details dict
|
||
#
|
||
# Supported operators: > < >= <= == !=
|
||
# Logical connectives: and or not
|
||
#
|
||
# Examples:
|
||
# condition: "balance > 0" # PollinationsAI
|
||
# condition: "quota.credits.remaining > 0" # Yupp
|
||
# condition: "error_count < 3" # any provider
|
||
# condition: "balance > 0 or error_count < 3" # PollinationsAI + fallback
|
||
# condition: "quota.credits.remaining > 0 or error_count < 3" # Yupp + fallback
|
||
|
||
models:
|
||
# PollinationsAI: prefer OpenaiAccount when it has quota balance,
|
||
# fall back to PollinationsAI unconditionally.
|
||
- name: "my-gpt4"
|
||
providers:
|
||
- provider: "OpenaiAccount"
|
||
model: "gpt-4o"
|
||
condition: "balance > 0 or error_count < 3"
|
||
- provider: "PollinationsAI"
|
||
model: "openai-large"
|
||
|
||
# Yupp: use provider-specific nested quota field.
|
||
- name: "yupp-chat"
|
||
providers:
|
||
- provider: "Yupp"
|
||
model: "gpt-4o"
|
||
condition: "quota.credits.remaining > 0 or error_count < 3"
|
||
- provider: "PollinationsAI"
|
||
model: "openai-large"
|
||
|
||
# Universal: error-count-only conditions work for any provider.
|
||
- name: "llama-fast"
|
||
providers:
|
||
- provider: "Groq"
|
||
model: "llama-3.3-70b"
|
||
condition: "error_count < 3"
|
||
- provider: "DeepInfra"
|
||
model: "meta-llama/Llama-3.3-70B-Instruct"
|