3 Commits

Author SHA1 Message Date
1155ac4f4e reserve validation slots before downloading, to stop competitors front-running our downloads
The download queue (/adminApi/async/task/model-download-task) is readable by ANY
account, including low-privilege xc-Token ones, so our WAITING model ids leak.
Competitors submit those via mechanism B (which needs no download), their task
waits for the file, and once our zhoushasha download lands it runs and wins the
slot - leaving us with 60028 on our own download.

New flow:
  phase 1 (reserve, instant): bi150 via zero-credit accounts that have no bi150
    task yet, hygon via zhoukaile - both mechanism B, no download required
  phase 2 (download): zhoushasha downloads only the models we reserved

Startup now filters out accounts that already hold a bi150 task, which also makes
the rotation cursor idempotent across redeploys.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-18 14:33:04 +08:00
f8750be928 replace BI150_ACCOUNTS with 34 zero-credit referral accounts; refresh expired AUTH_TOKEN
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 14:41:08 +08:00
cea6924355 replace BI150_ACCOUNTS with 50 zero-credit referral accounts; advance rotation cursor only on successful submission; refresh AUTH_TOKEN 2026-09-08 14:48:55 +08:00

801
main.py
View File

@@ -34,62 +34,145 @@ USER_ACCOUNT = "zhoushasha@4paradigm.com"
USER_PASSWORD = "ganshenme0"
# 通过 curl -X POST https://modelhub.org.cn/adminApi/user/login 获取后填入(登录失败时的回退)
AUTH_TOKEN = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyQWNjb3VudCI6Inpob3VzaGFzaGEiLCJpZCI6MTQsInVzZXJSb2xlIjoibGVhZGVyYm9hcmQiLCJleHAiOjE3ODg3NTE1NzYsImlhdCI6MTc4ODE0Njc3Nn0._tPW9hFKBcpiYP-G7B8fhtTiJO369HPI7_r62AvGAvA"
AUTH_TOKEN = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyQWNjb3VudCI6Inpob3VzaGFzaGEiLCJpZCI6MTQsInVzZXJSb2xlIjoibGVhZGVyYm9hcmQiLCJleHAiOjE3OTAxNDU2NDYsImlhdCI6MTc4OTU0MDg0Nn0.PY0e46UY9YDvl_PNvn9Zv-WyvkaTbYngScbwyw-cWMg"
# hygon_k100-ai 验证任务走机制Bxc-Token固定用 l11223344 提交
HYGON_SUBMIT_ACCOUNT = "l11223344"
HYGON_XC_TOKEN = "e1c0db2959e5411f9342c8550b03f6e9"
HYGON_SUBMIT_ACCOUNT = "zhoukaile"
HYGON_XC_TOKEN = "bd7c52f3b9604ef48a14dd6174513935"
# ── bi150Iluvatar_bi-150验证任务也走机制B ──────────────────
# 规则:下面这批账号每个只提交 1 个模型(按顺序,一人一个);
# 这批用完之后,剩下所有模型统一回退到 HYGON_SUBMIT_ACCOUNT(l11223344) 提交。
BI150_ACCOUNTS: List[Tuple[str, str]] = [
("finndal", "ba1e2a3b12ca4bb6b18089fcdb862959"),
("glenvin", "1feb350de5204246bacc008e54112608"),
("noel777", "27ddbc8b7335459c8842092b5e98ae36"),
("jane789", "7f8ad263b3a040dca63e24c1548a8b4b"),
("clarknin", "6733f07156144de097990a6466c45d99"),
("jake99", "a6bbb222caaa409aad6dddf3f34361b2"),
("grant789", "9c3c737960cb47e9b46760f87b47828a"),
("peteval", "d2c23ffa845e4212a68aef2e0eb15499"),
("dij11", "93d8e172368147358e73c46b63d2d39e"),
("vera66", "ba1e60d8914b4900be129e22150d58e4"),
("sofiayoung", "ae732d8eacd94ab6aeb9482607f2b33a"),
("emily709", "a379474951ab459e824890d37bf4afd3"),
("scarlett432", "239b9b91a074481e8519815ba8f505b8"),
("amelia_jackson", "46ca824f90c741ddb1c7bb1b2f356fe1"),
("isabella_perez", "79f0510ad86a4cb898e01dae820bc7eb"),
("ny22", "3b65c17808514d6ba831758ab5fc22b6"),
("phil888", "b716d73b5aed49f9ab6d4fb8763bfa69"),
("stan123", "e615d010ab304719a1046e9e30a84f9b"),
("willzac", "bdcc3394d49d41e799845957e27fac7c"),
("yq888", "106c8dc9c2bd4458a172ce98acb12e7f"),
("neilgle", "e4b2d90652e64aba8a071b0cca187091"),
("sara520", "6a9dfdd2b30b45d9ab8010076d4b7025"),
("kateott", "01f5d973fe954e09b65628a6a7b16d14"),
("elc77", "a4648cde05e5417a81e3b63972549480"),
("albawal", "08bcbd26b39b4bbe856fb5b60731d672"),
("bea888", "4767e245a01d42d98466305291bc76f1"),
("bs888", "7865098998894071839cf02e39b4738f"),
("craigros", "4d2f41fc16a14c11ae25b1b151104f28"),
("dij11", "aca3bd47d7874f86a0f2621c0cf630c3"),
("elc77", "856e9a9e54c04f6fadb2aa67d2d14f3f"),
("gp520", "f6074e5fc90b43f7a4d787792762c305"),
("iqm77", "819bb77dfe9241608862c616fc8828e5"),
("joel789", "e202331e8e124c398010a9cbe27d7cd1"),
("marc999", "355c240bf32b473baf202b5fda8732ed"),
("nd456", "cf9c13c5e8a24ed497bc1f3cd78d2f5f"),
("nedtar", "bedfeab8e9424d599a100d70feef903c"),
("od77", "32a3181b2a3d4de7bb92dc76c8dc467d"),
("ojn520", "197383c8ea6249048e0f602b31faed38"),
("olz007", "e38d0af8696d40e5a45cacc80338e165"),
("pam777", "111ef72e7ed74a6ebaa9e6fae2690d05"),
("pamtro", "c542eb2f294b49ea8c0a95a55c1552f3"),
("pamviv", "ed434bc7f6b5494ca42be41d091001b6"),
("philmit", "cc8f8b7c9ce24a91bd4d7b8a3e1453ff"),
("po789", "fb6a8f738e544408864a3d31549e400a"),
("qju777", "28e4883ac5c543679b1223991332d0bd"),
("rex168", "8678a4fe87e447bd9292b2be5c6bf9fe"),
("sarapat", "37e148f0c96f45b09e37ceafeef41dfd"),
("sd520", "0ef0dfecfc2c4defa9fc34ac138bf9ec"),
("shawviv", "9a05bd584cfc4377bda04fb2dd318812"),
("sy123", "37293844c827482c88127d95a4e96345"),
("ta33", "ebee8e64845649b2a4c46a57bdea0c65"),
("tate8976", "ad4632ed2c8548d4ba52e18e9af0eaf0"),
("vince666", "08274bff89a9472eb69aa99a02b07bca"),
("war168", "1dcc7dc9a640476d9afab85b48fb7828"),
("xi2026", "ad52aba444764dca98c7200be8a39dbe"),
("xi22", "7737dcc3186a48348e73e2801ac94243"),
("xj8976", "542d08a17a6844ae91a223d084240cae"),
("yg789", "c7abd6da77cb40ca82ee89b74d54b2ee"),
]
# 已经用掉的 bi150 账号数量(游标)。每成功「尝试」一个账号就 +1用完即回退 l11223344
# 待占位的 bi150 账号队列(启动时由 _init_bi150_queue 过滤后填充)
# 只保留「还没有任何 bi150 任务」的零积分账号——每个账号占到 1 个就够了。
# 注意:游标只在「提交成功」后才推进(见 _commit_bi150_account
# 因为模型可能已被别人抢先注册60028或提交失败若失败也消耗名额
# 稀缺的账号额度会被无效尝试白白吃掉;失败时保留名额给下一个模型继续用。
_bi150_pending: List[Tuple[str, str]] = [] # 启动时填充,用剩下的排在前面
_bi150_used = 0
_bi150_lock = threading.Lock()
TASK_PAGE_ENDPOINT = "/api/adapt/task/page"
# 账号额度打满时平台返回的提示片段(错误码 60007
QUOTA_FULL_MSG = "当前等待中或运行中的异步模型验证任务数量已达上限"
_hygon_quota_full = False # zhoukaile 额度是否已打满
GPU_TYPE_HYGON = "hygon_k100-ai"
GPU_TYPE_BI150 = "Iluvatar_bi-150"
def _next_bi150_account() -> Tuple[str, str]:
def _account_has_bi150(xc_token: str) -> bool:
"""查这个账号名下是否已经有 Iluvatar_bi-150 的任务(任何状态都算)。"""
try:
page = 1
while page <= 30:
resp = requests.get(
BASE_URL + TASK_PAGE_ENDPOINT,
params={"pageNum": page, "pageSize": 100},
headers={"xc-Token": xc_token},
timeout=25,
)
data = (resp.json() or {}).get("data") or {}
records = data.get("records") or []
for rec in records:
if rec.get("gpuType") == GPU_TYPE_BI150:
return True
try:
pages = int(data.get("pages") or 1)
except Exception:
pages = 1
if page >= pages or not records:
break
page += 1
except Exception as e:
# 查不到就保守当作「已占过」,避免把额度浪费在状态不明的账号上
print(f"⚠️ 查询账号 bi150 任务失败,跳过该账号: {e}", flush=True)
return True
return False
def _init_bi150_queue() -> None:
"""
取下一个 bi150 提交账号
列表里每个账号只用一次;用完之后一律返回 l11223344
启动时筛掉已经有 bi150 任务的账号,只把「还没占过位」的排进队列
这样重新部署也不会重复消耗已经成功的账号(游标本身是进程内内存变量)
"""
global _bi150_pending
usable, skipped = [], []
for acct, tok in BI150_ACCOUNTS:
if _account_has_bi150(tok):
skipped.append(acct)
else:
usable.append((acct, tok))
_bi150_pending = usable
_state["bi150_usable"] = len(usable)
print(f"[init] bi150 账号筛查:可用 {len(usable)} 个,已有任务跳过 {len(skipped)}", flush=True)
if skipped:
print(f"[init] 跳过的账号: {', '.join(skipped)}", flush=True)
if usable:
print(f"[init] 待占位账号: {', '.join(a for a, _ in usable)}", flush=True)
def _peek_bi150_account() -> Tuple[str, str, bool]:
"""
查看当前该用哪个 bi150 账号,但**不推进**游标。
返回 (账号, xc-Token, 是否取自待占位队列)
队列用完后返回 (None, None, False),表示 bi150 占位已全部完成、无需再提交。
"""
with _bi150_lock:
if _bi150_used < len(_bi150_pending):
acct, tok = _bi150_pending[_bi150_used]
return acct, tok, True
return "", "", False
def _commit_bi150_account() -> None:
"""提交成功后调用,推进游标,让这个账号的名额真正被用掉。"""
global _bi150_used
with _bi150_lock:
if _bi150_used < len(BI150_ACCOUNTS):
acct = BI150_ACCOUNTS[_bi150_used]
if _bi150_used < len(_bi150_pending):
_bi150_used += 1
return acct
return (HYGON_SUBMIT_ACCOUNT, HYGON_XC_TOKEN)
def _bi150_done() -> bool:
"""所有待占位账号是否都已占到位。"""
with _bi150_lock:
return _bi150_used >= len(_bi150_pending)
CONTEST_API_TOKEN = "ef1ef82f3c9efee413d602345fbe224d"
HF_TOKEN = "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"
@@ -473,270 +556,274 @@ ALL_MODEL_IDS = [
# "mradermacher/Meta-Llama-3.1-8B-Instruct-TIES-GGUF",
# "mradermacher/Llama-2-7b-sft-SPIN-gpt4o-GGUF",
"mradermacher/Mistral-7B-v0.1-sft-SPIN-Mistral-8x7B-Instruct-v0.1-GGUF",
"mradermacher/TaxoLumimaid-v0.2-8B-GGUF",
"mradermacher/Mistral-7B-v0.1-sft-SPIN-gpt4o-GGUF",
"mradermacher/QwenSlerp-7B-GGUF",
"mradermacher/creativestorywriter-GGUF",
"mradermacher/therapistAi-GGUF",
"mradermacher/MT-Gen5-BMA-gemma-2-9B-GGUF",
"mradermacher/MT-Gen5-GP-gemma-2-S5E-9B-GGUF",
"mradermacher/Cake-GGUF",
"mradermacher/MT-Gen5-IG-gemma-2-9B-GGUF",
"mradermacher/Qwen2.5-0.5B-Instruct-ThreeFourths-GGUF",
"mradermacher/MT-Gen5-IF-gemma-2-MT5g4MT4g2-9B-GGUF",
"mradermacher/MT-Gen5-MM-gemma-2-MT4g2MT5g4-9B-GGUF",
"mradermacher/MT-Gen5-MA-gemma-2-S5MT3g4-9B-GGUF",
"mradermacher/MT-Gen5-MUMM-gemma-2-9B-GGUF",
"mradermacher/tongyi-model-v1.2-1b-enth-GGUF",
"mradermacher/MT-Gen5-MU-gemma-2-MT3g4S5-9B-GGUF",
"mradermacher/tongyi-model-v1.3-1b-GGUF",
"mradermacher/MT-Gen5-MUMMIG-gemma-2-9B-GGUF",
"mradermacher/MT-Gen5-gemma-2-9B-GGUF",
"mradermacher/L3-ColdBrew-Euclidean-GGUF",
"mradermacher/AlloyingotneoyExperiment28-7B-GGUF",
"mradermacher/SystemHermes-2-7B-GGUF",
"mradermacher/NeuralMaths-7B-slerp-GGUF",
"mradermacher/T3qM7-7B-GGUF",
"mradermacher/MasherAI-2B-v0.1-GGUF",
"mradermacher/ChickaQ-Large-GGUF",
"mradermacher/Beast-Mixed-GGUF",
"mradermacher/Gujju-Llama-Instruct-v0.1-GGUF",
"mradermacher/Beast_Mixed_2_pro-GGUF",
"mradermacher/AlloyIngotNeoX-GGUF",
"mradermacher/Persephone_7B-GGUF",
"mradermacher/KuTrix-7b-GGUF",
"mradermacher/SystemHermes-7B-GGUF",
"mradermacher/SystemConfigHermes-7B-GGUF",
"mradermacher/open-llama-3b-v2-chat-GGUF",
"mradermacher/phi-2-orange-v2-GGUF",
"mradermacher/Phi-Stoma-GGUF",
"mradermacher/StrangeMerges_40-7B-dare_ties-GGUF",
"mradermacher/Swahili-Instruct-V2-3-GGUF",
"mradermacher/T3QM7-GGUF",
"mradermacher/WestKunai-Hermes-7b-GGUF",
"mradermacher/WestKunai-XS-7b-GGUF",
"mradermacher/leo-hessianai-7b-finetune-x5-GGUF",
"mradermacher/leo-hessianai-7b-finetune-x6-GGUF",
"mradermacher/leo-hessianai-7b-finetune-x7-GGUF",
"mradermacher/llama-2-7b-guanaco-dolly-mini-GGUF",
"mradermacher/open_llama_3b_v2_chat_dolly-GGUF",
"mradermacher/mistral-orpo-beta-NeuralBeagle14-7B-dare-ties-GGUF",
"mradermacher/seallm-7b-v2-chat-th-GGUF",
"mradermacher/tiny-llama-spin-iter2-GGUF",
"mradermacher/StrangeMerges_30-7B-slerp-GGUF",
"mradermacher/StrangeMerges_41-7B-dare_ties-GGUF",
"mradermacher/Wiedervereinigung-7b-dpo-laser-GGUF",
"mradermacher/alpaca-gpt4-GGUF",
"mradermacher/deepseek-coder-6.7b-pandas-GGUF",
"mradermacher/Phi-Delthanar-GGUF",
"mradermacher/ds-trinity-7b-v1-GGUF",
"mradermacher/flintlock_3B_v0.1-GGUF",
"mradermacher/flintlock_3B_v0.1a-GGUF",
"mradermacher/gemma-Kannada-Instruct-GGUF",
"mradermacher/gemma-Kannada-Instruct-v01-GGUF",
"mradermacher/TheMayonnaise-GGUF",
"mradermacher/hermeo-7b-laser-GGUF",
"mradermacher/Eris_Prime-V2-7B-GGUF",
"mradermacher/Elly_7B-GGUF",
"mradermacher/Saul-Instruct-Extended-GGUF",
"mradermacher/winter-garden-7b-gamma-GGUF",
"mradermacher/Mayonnaise-4in1-03-GGUF",
"mradermacher/SriRamanatestM-GGUF",
"mradermacher/open-llama-3b-v2-instruct-GGUF",
"mradermacher/Mayonnaise-4in1-01-GGUF",
"mradermacher/Franken-MistressMaid-7B-v2-GGUF",
"mradermacher/Strangemerges_32Yamshadow-7B-GGUF",
"mradermacher/llama-2-7b-Sri-Lankan-Law-GGUF",
"mradermacher/Commencis-LLM-GGUF",
"mradermacher/gemma-coder-GGUF",
"mradermacher/ShadowYamshadow-7B-GGUF",
"mradermacher/Einstein-4d-Marcoro14-nddmpk-KrishnaHercules-7b-slerp-GGUF",
"mradermacher/Mystical-dare7-7b-GGUF",
"mradermacher/NeuralCeptrix-7B-SLERP-GGUF",
"mradermacher/NeuralCeptrix-7B-SLERPv3-GGUF",
"mradermacher/PearlMath-lafted-7b-slerp-GGUF",
"mradermacher/Genisis-GGUF",
"mradermacher/PearlMathMstralPro-7b-slerp-GGUF",
"mradermacher/Einstein-4d-Marcoro14-nddmpk-KrishnaHercules-7b-slerp-fix1-GGUF",
"mradermacher/Greek_to_English_Translation-GGUF",
"mradermacher/Swallow-MS-7b-v0.1-ChatVector-GGUF",
"mradermacher/MistralDpoPearl-7b-slerp-GGUF",
"mradermacher/ChatMusician-Base-GGUF",
"mradermacher/Flora_7B-laser-GGUF",
"mradermacher/EvoLLM-JP-A-v1-7B-GGUF",
"mradermacher/EvoLLM-JP-v1-7B-GGUF",
"mradermacher/kukulemon-7B-GGUF",
"mradermacher/TinyJ.O.S.I.E.-3x1.1B-32k-Base-GGUF",
"mradermacher/Mystical-dare5-7b-GGUF",
"mradermacher/Patent-Instruct-LLaMA-Pro-GGUF",
"mradermacher/K2S3-Mistral-7b-v1.0-GGUF",
"mradermacher/NeuralCeptrix-7B-SLERPv2-GGUF",
"mradermacher/RasGulla1-7b-GGUF",
"mradermacher/MasherAI-7B-v4-GGUF",
"mradermacher/KnowCoder-7B-IE-GGUF",
"mradermacher/KnowCoder-7B-base-GGUF",
"mradermacher/ALMA-7B-R-remerged-GGUF",
"mradermacher/Beast-Mixed_3_pro-GGUF",
"mradermacher/Ministral-4b-instruct-GGUF",
"mradermacher/GOOD-4x1b-GGUF",
"mradermacher/Medictron-0.5B-Chat-GGUF",
"mradermacher/Pearl-7B-0211-ties-GGUF",
"mradermacher/NeuralsirkrishnaM7-7B-GGUF",
"mradermacher/Patent-Instruct-Pro-GGUF",
"mradermacher/TheSpice-7b-v0.1.1-GGUF",
"mradermacher/Louis_GRC-7B-slerp-M1-GGUF",
"mradermacher/MiniLLM-0.2B-WithWudao-GGUF",
"mradermacher/MiniLLM-0.2B-WithWudao-SFT_Alpaca-GGUF",
"mradermacher/FinguAI-Chat-v1-GGUF",
"mradermacher/macaroni-7b-GGUF",
"mradermacher/AlphaMonarch-daser-GGUF",
"mradermacher/M7Alloyingotneoy-7B-GGUF",
"mradermacher/Strangemerges_32Shadow-7B-GGUF",
"mradermacher/GarrulusMarcoro-7B-v0.1-GGUF",
"mradermacher/Macaroni-7b-Tied-GGUF",
"mradermacher/Matter-0.1-7B-DPO-preview-GGUF",
"mradermacher/Mistral7BInstructv0.2-RakutenAI7Bchat-GGUF",
"mradermacher/Pegasus-7b-slerp-GGUF",
"mradermacher/NeuralDareDMistralPro-7b-slerp-GGUF",
"mradermacher/QuizBot.AI-base-GGUF",
"mradermacher/Asherah_7B-GGUF",
"mradermacher/sabre-2B-GGUF",
"mradermacher/tinyllama-coder-color-en-v0.1-GGUF",
"mradermacher/tinyllama-color-coder-v1-GGUF",
"mradermacher/tinyllama-fake-news-detector-v1-GGUF",
"mradermacher/tinyllama-fr-aya-1.5T-v0.1-GGUF",
"mradermacher/tinyllama-hate-speech-detector-en-1.5T-v0.1-GGUF",
"mradermacher/tinyllama-hate-speech-detector-v1-GGUF",
"mradermacher/tinyllama-onomatopoeia-ja-v1-GGUF",
"mradermacher/tinyllama-sentiment-analyzer-v1-GGUF",
"mradermacher/tinyllama-sql-coder-v1-GGUF",
"mradermacher/DaturaCookie_7B-GGUF",
"mradermacher/K2S3-Mistral-7b-v1.1-GGUF",
"mradermacher/mistral-orpo-mix-GGUF",
"mradermacher/NeuralMergeTest-001-GGUF",
"mradermacher/NeuralSirKrishna-Spanish-FT-GGUF",
"mradermacher/T3qm7xStrangemerges_32-7B-GGUF",
"mradermacher/flammen10-mistral-7B-GGUF",
"mradermacher/flammen11-mistral-7B-GGUF",
"mradermacher/climategpt-7b-fsc-GGUF",
"mradermacher/m.star.7b-GGUF",
"mradermacher/J.O.S.I.E.3-Beta8-slerp-GGUF",
"mradermacher/climategpt-7b-fsg-GGUF",
"mradermacher/Mistral-7B-v0.1-coco-caption-de-GGUF",
"mradermacher/MistralCode-7B-Instruct-v0.2-slerp-GGUF",
"mradermacher/Mocha-Sample-7b-ex-GGUF",
"mradermacher/T3QM7X-GGUF",
"mradermacher/bruphin-iota-GGUF",
"mradermacher/gemma-ko-en-translate-v0.4-GGUF",
"mradermacher/Follex-7B-V2-GGUF",
"mradermacher/speculor-2.7b-GGUF",
"mradermacher/CS221-xlm-roberta-base-finetuned-semeval-GGUF",
"mradermacher/mamba-765M-chinese-chat-v0.1-GGUF",
"mradermacher/Brian-Llama-3.2-3B-GGUF",
"mradermacher/ING_Triomphant_M2_SLERP-GGUF",
"mradermacher/Zephyr_beta_32k_7B-GGUF",
"mradermacher/Mistral-7B-v0.3-sft-SPIN-self-GGUF",
"mradermacher/Follex-7B-GGUF",
"mradermacher/R4L-Math-v0.1-GGUF",
"mradermacher/Qwen2.5-3B-TTKH-python-0.3-GGUF",
"mradermacher/J.O.S.I.E.3-Beta3-slerp-GGUF",
"mradermacher/Llama-3.1-8B-sft-SPIN-self-GGUF",
"mradermacher/SmolLM2-FT-BG-GGUF",
"mradermacher/star-sft-intellect-1-GGUF",
"mradermacher/wiroai-turkish-llm-9b-GGUF",
"mradermacher/iq-code-evmind-0.5b-GGUF",
"mradermacher/iq-code-evmind-7b-GGUF",
"mradermacher/waka-qwq-GGUF",
"mradermacher/tongyi-model-v1.3-1b-enth-GGUF",
"mradermacher/KangalKhan-Beta-Ruby-7B-GGUF",
"mradermacher/Calliope-7b-GGUF",
"mradermacher/Falcon3Slerp4-10B-GGUF",
"mradermacher/Lugha-Llama-8B-wura-GGUF",
"mradermacher/FalconSlerp3-10B-GGUF",
"mradermacher/Karasu-1.1b-task1357-vector-GGUF",
"mradermacher/bruphin-kappa-GGUF",
"mradermacher/Nexus-IKM-Hermes-2-Pro-Mistral-7B-GGUF",
"mradermacher/StarMix-7B-slerp-GGUF",
"mradermacher/KangalKhan-Beta-Sapphire-7B-GGUF",
"mradermacher/UltraCatunaMayo-DPO-GGUF",
"mradermacher/KangalKhan-PressurizedRuby-7B-GGUF",
"mradermacher/lion-zephyr-7b-GGUF",
"mradermacher/mamba-1.4b-hf-lima-GGUF",
"mradermacher/Mixtral_Base-GGUF",
"mradermacher/StrangeMerges_44-7B-dare_ties-GGUF",
"mradermacher/Mixtral_Chat-GGUF",
"mradermacher/Pearl-7B-slerp-GGUF",
"mradermacher/flammen13-mistral-7B-GGUF",
"mradermacher/AlloyingotneoyNeuralsirkrishna-7B-GGUF",
"mradermacher/flammen12-mistral-7B-GGUF",
"mradermacher/MiniLLM-0.2B-NoWudao-GGUF",
"mradermacher/baarat-hindi-instruct-0.1-GGUF",
"mradermacher/swallow-hermes-st-v1-GGUF",
"mradermacher/Mistral-7B-Instruct-demi-merge-v0.2-7B-GGUF",
"mradermacher/TinyJensen-1.1B-Chat-GGUF",
"mradermacher/Ak4ri-rp-7b-GGUF",
"mradermacher/Samlagast-7B-bf16-GGUF",
"mradermacher/MKLLM-7B-Translate-GGUF",
"mradermacher/ScikitLLM-Model-GGUF",
"mradermacher/phi-2-DLEC-GGUF",
"mradermacher/Eris_PrimeV4-Vision-7B-GGUF",
"mradermacher/saul-zephyr-7b-slerp-GGUF",
"mradermacher/YamshadowInex12_YamshadowExperiment28-GGUF",
"mradermacher/Experiment26Yam_Experiment27Yam-GGUF",
"mradermacher/NeuralsirkrishnaShadow_Inex12Strangemerges_32-GGUF",
"mradermacher/VerwaltungsAnthologie_clear_simbad_7B-GGUF",
"mradermacher/Llama-3-8B-Instruct-DADA-GGUF",
"mradermacher/M7Yamshadowexperiment28_T3qT3qm7-GGUF",
"mradermacher/Strangemerges_32M7-7B-GGUF",
"mradermacher/Experiment28T3q_Multi_verse_modelM7-GGUF",
"mradermacher/gemma-2b-f16-telugu-base-GGUF",
"mradermacher/ScaleDown-7B-slerp-v0.1-GGUF",
"mradermacher/GEITje-7B-ultra-GGUF",
"mradermacher/ShadowStrangemerges_32-7B-GGUF",
"mradermacher/M7Yamshadowexperiment28_Inex16Calme-GGUF",
"mradermacher/TinyLlama-1.1B-chat-dare-v1-GGUF",
"mradermacher/RuBit-LLama-63M-GGUF",
"mradermacher/Blitz-AI-DARE-v0.1-GGUF",
"mradermacher/StrangeMerges_43-7B-dare_ties-GGUF",
"mradermacher/T3qm7xNeuralsirkrishna_Multi_verse_modelM7-GGUF",
"mradermacher/Panoramix-7B-Instruct-v0.2-GGUF",
"mradermacher/NeuralKrishnaMath-7B-slerp-GGUF",
"mradermacher/NeuralsynthesisCalmexperiment-7B-GGUF",
"mradermacher/T3qm7Shadow-7B-GGUF",
"mradermacher/Juliet-Chat-mini-GGUF",
"mradermacher/MeliodasPercival_01_YamStrangemerges_32-GGUF",
"mradermacher/ErisepBeagleNuBuRPInfinWestLakev2-IreneRP-Neural-7B-slerp-GGUF",
"mradermacher/Experiment26Yam_YamExperiment24-GGUF",
"mradermacher/Experiment28M7_NeuralsirkrishnaExperiment26-GGUF",
"mradermacher/Humanised-LLMv2-GGUF",
"mradermacher/Experiment26Neuralsirkrishna_YamPastiche-GGUF",
"mradermacher/EXALT-Baseline-GGUF",
"mradermacher/NeuralsirkrishnaShadow_Ognoexperiment27M7-GGUF",
"mradermacher/Meta-Llama-3-8B-Instruct_fictional_Korean_v1-GGUF",
"mradermacher/flammen20-mistral-7B-GGUF",
"mradermacher/sec-mistral-7b-instruct-v2-GGUF",
"mradermacher/phillama-3.8b-v0.1-GGUF",
"mradermacher/YamshadowStrangemerges_32_YamStrangemerges_32-GGUF",
"mradermacher/T3qm7xNeuralsirkrishna_Experiment31Experiment29-GGUF",
"mradermacher/Llama-2-7b-chat-hf_fictional_v2-GGUF",
"mradermacher/SmartLlama-3-8B-MS-v0.1-GGUF",
"mradermacher/NeuralsynthesisT3qm7-7B-GGUF",
"mradermacher/ClickbaitFighter-2B-GGUF",
"mradermacher/Alphacode-MALI-9B-GGUF",
"mradermacher/MeliodasPercival_01_Experiment26Experiment28-GGUF",
"mradermacher/Wukong-Mistral-7B-v0.3-GGUF",
"mradermacher/YamshadowStrangemerges_32_Inex16Calme-GGUF",
"mradermacher/YamT3qm7xp_ShadowOgno-GGUF",
"mradermacher/Ludwig_Orca_Orient-GGUF",
"mradermacher/CosMoE-Lisa-4x1b-GGUF",
"mradermacher/Experiment26T3qm7xp_Experiment26Strangemerges_30-GGUF",
"mradermacher/OpenThaiGPT-100-instruct-finetuned-GGUF",
"mradermacher/M7Yamshadowexperiment28_Experiment27Experiment24-GGUF",
"mradermacher/Experiment28M7_Experiment26Yamshadow-GGUF",
"mradermacher/T3qm7xNeuralsirkrishna_Experiment27Experiment28-GGUF",
"mradermacher/YamshadowInex12_YamT3qm7x-GGUF",
"mradermacher/T3Q-Mistral-UB-DPO-v1.0-GGUF",
# "mradermacher/Mistral-7B-v0.1-sft-SPIN-Mistral-8x7B-Instruct-v0.1-GGUF",
# "mradermacher/TaxoLumimaid-v0.2-8B-GGUF",
# "mradermacher/Mistral-7B-v0.1-sft-SPIN-gpt4o-GGUF",
# "mradermacher/QwenSlerp-7B-GGUF",
# "mradermacher/creativestorywriter-GGUF",
# "mradermacher/therapistAi-GGUF",
# "mradermacher/MT-Gen5-BMA-gemma-2-9B-GGUF",
# "mradermacher/MT-Gen5-GP-gemma-2-S5E-9B-GGUF",
# "mradermacher/Cake-GGUF",
# "mradermacher/MT-Gen5-IG-gemma-2-9B-GGUF",
# "mradermacher/Qwen2.5-0.5B-Instruct-ThreeFourths-GGUF",
# "mradermacher/MT-Gen5-IF-gemma-2-MT5g4MT4g2-9B-GGUF",
# "mradermacher/MT-Gen5-MM-gemma-2-MT4g2MT5g4-9B-GGUF",
# "mradermacher/MT-Gen5-MA-gemma-2-S5MT3g4-9B-GGUF",
# "mradermacher/MT-Gen5-MUMM-gemma-2-9B-GGUF",
# "mradermacher/tongyi-model-v1.2-1b-enth-GGUF",
# "mradermacher/MT-Gen5-MU-gemma-2-MT3g4S5-9B-GGUF",
# "mradermacher/tongyi-model-v1.3-1b-GGUF",
# "mradermacher/MT-Gen5-MUMMIG-gemma-2-9B-GGUF",
# "mradermacher/MT-Gen5-gemma-2-9B-GGUF",
# "mradermacher/L3-ColdBrew-Euclidean-GGUF",
# "mradermacher/AlloyingotneoyExperiment28-7B-GGUF",
# "mradermacher/SystemHermes-2-7B-GGUF",
# "mradermacher/NeuralMaths-7B-slerp-GGUF",
# "mradermacher/T3qM7-7B-GGUF",
# "mradermacher/MasherAI-2B-v0.1-GGUF",
# "mradermacher/ChickaQ-Large-GGUF",
# "mradermacher/Beast-Mixed-GGUF",
# "mradermacher/Gujju-Llama-Instruct-v0.1-GGUF",
# "mradermacher/Beast_Mixed_2_pro-GGUF",
# "mradermacher/AlloyIngotNeoX-GGUF",
# "mradermacher/Persephone_7B-GGUF",
# "mradermacher/KuTrix-7b-GGUF",
# "mradermacher/SystemHermes-7B-GGUF",
# "mradermacher/SystemConfigHermes-7B-GGUF",
# "mradermacher/open-llama-3b-v2-chat-GGUF",
# "mradermacher/phi-2-orange-v2-GGUF",
# "mradermacher/Phi-Stoma-GGUF",
# "mradermacher/StrangeMerges_40-7B-dare_ties-GGUF",
# "mradermacher/Swahili-Instruct-V2-3-GGUF",
# "mradermacher/T3QM7-GGUF",
# "mradermacher/WestKunai-Hermes-7b-GGUF",
# "mradermacher/WestKunai-XS-7b-GGUF",
# "mradermacher/leo-hessianai-7b-finetune-x5-GGUF",
# "mradermacher/leo-hessianai-7b-finetune-x6-GGUF",
# "mradermacher/leo-hessianai-7b-finetune-x7-GGUF",
# "mradermacher/llama-2-7b-guanaco-dolly-mini-GGUF",
# "mradermacher/open_llama_3b_v2_chat_dolly-GGUF",
# "mradermacher/mistral-orpo-beta-NeuralBeagle14-7B-dare-ties-GGUF",
# "mradermacher/seallm-7b-v2-chat-th-GGUF",
# "mradermacher/tiny-llama-spin-iter2-GGUF",
# "mradermacher/StrangeMerges_30-7B-slerp-GGUF",
# "mradermacher/StrangeMerges_41-7B-dare_ties-GGUF",
# "mradermacher/Wiedervereinigung-7b-dpo-laser-GGUF",
# "mradermacher/alpaca-gpt4-GGUF",
# "mradermacher/deepseek-coder-6.7b-pandas-GGUF",
# "mradermacher/Phi-Delthanar-GGUF",
# "mradermacher/ds-trinity-7b-v1-GGUF",
# "mradermacher/flintlock_3B_v0.1-GGUF",
# "mradermacher/flintlock_3B_v0.1a-GGUF",
# "mradermacher/gemma-Kannada-Instruct-GGUF",
# "mradermacher/gemma-Kannada-Instruct-v01-GGUF",
# "mradermacher/TheMayonnaise-GGUF",
# "mradermacher/hermeo-7b-laser-GGUF",
# "mradermacher/Eris_Prime-V2-7B-GGUF",
# "mradermacher/Elly_7B-GGUF",
# "mradermacher/Saul-Instruct-Extended-GGUF",
# "mradermacher/winter-garden-7b-gamma-GGUF",
# "mradermacher/Mayonnaise-4in1-03-GGUF",
# "mradermacher/SriRamanatestM-GGUF",
# "mradermacher/open-llama-3b-v2-instruct-GGUF",
# "mradermacher/Mayonnaise-4in1-01-GGUF",
# "mradermacher/Franken-MistressMaid-7B-v2-GGUF",
# "mradermacher/Strangemerges_32Yamshadow-7B-GGUF",
# "mradermacher/llama-2-7b-Sri-Lankan-Law-GGUF",
# "mradermacher/Commencis-LLM-GGUF",
# "mradermacher/gemma-coder-GGUF",
# "mradermacher/ShadowYamshadow-7B-GGUF",
# "mradermacher/Einstein-4d-Marcoro14-nddmpk-KrishnaHercules-7b-slerp-GGUF",
# "mradermacher/Mystical-dare7-7b-GGUF",
# "mradermacher/NeuralCeptrix-7B-SLERP-GGUF",
# "mradermacher/NeuralCeptrix-7B-SLERPv3-GGUF",
# "mradermacher/PearlMath-lafted-7b-slerp-GGUF",
# "mradermacher/Genisis-GGUF",
# "mradermacher/PearlMathMstralPro-7b-slerp-GGUF",
# "mradermacher/Einstein-4d-Marcoro14-nddmpk-KrishnaHercules-7b-slerp-fix1-GGUF",
# "mradermacher/Greek_to_English_Translation-GGUF",
# "mradermacher/Swallow-MS-7b-v0.1-ChatVector-GGUF",
# "mradermacher/MistralDpoPearl-7b-slerp-GGUF",
# "mradermacher/ChatMusician-Base-GGUF",
# "mradermacher/Flora_7B-laser-GGUF",
# "mradermacher/EvoLLM-JP-A-v1-7B-GGUF",
# "mradermacher/EvoLLM-JP-v1-7B-GGUF",
# "mradermacher/kukulemon-7B-GGUF",
# "mradermacher/TinyJ.O.S.I.E.-3x1.1B-32k-Base-GGUF",
# "mradermacher/Mystical-dare5-7b-GGUF",
# "mradermacher/Patent-Instruct-LLaMA-Pro-GGUF",
# "mradermacher/K2S3-Mistral-7b-v1.0-GGUF",
# "mradermacher/NeuralCeptrix-7B-SLERPv2-GGUF",
# "mradermacher/RasGulla1-7b-GGUF",
# "mradermacher/MasherAI-7B-v4-GGUF",
# "mradermacher/KnowCoder-7B-IE-GGUF",
# "mradermacher/KnowCoder-7B-base-GGUF",
# "mradermacher/ALMA-7B-R-remerged-GGUF",
# "mradermacher/Beast-Mixed_3_pro-GGUF",
# "mradermacher/Ministral-4b-instruct-GGUF",
# "mradermacher/GOOD-4x1b-GGUF",
# "mradermacher/Medictron-0.5B-Chat-GGUF",
# "mradermacher/Pearl-7B-0211-ties-GGUF",
# "mradermacher/NeuralsirkrishnaM7-7B-GGUF",
# "mradermacher/Patent-Instruct-Pro-GGUF",
# "mradermacher/TheSpice-7b-v0.1.1-GGUF",
# "mradermacher/Louis_GRC-7B-slerp-M1-GGUF",
# "mradermacher/MiniLLM-0.2B-WithWudao-GGUF",
# "mradermacher/MiniLLM-0.2B-WithWudao-SFT_Alpaca-GGUF",
# "mradermacher/FinguAI-Chat-v1-GGUF",
# "mradermacher/macaroni-7b-GGUF",
# "mradermacher/AlphaMonarch-daser-GGUF",
# "mradermacher/M7Alloyingotneoy-7B-GGUF",
# "mradermacher/Strangemerges_32Shadow-7B-GGUF",
# "mradermacher/GarrulusMarcoro-7B-v0.1-GGUF",
# "mradermacher/Macaroni-7b-Tied-GGUF",
# "mradermacher/Matter-0.1-7B-DPO-preview-GGUF",
# "mradermacher/Mistral7BInstructv0.2-RakutenAI7Bchat-GGUF",
# "mradermacher/Pegasus-7b-slerp-GGUF",
# "mradermacher/NeuralDareDMistralPro-7b-slerp-GGUF",
# "mradermacher/QuizBot.AI-base-GGUF",
# "mradermacher/Asherah_7B-GGUF",
# "mradermacher/sabre-2B-GGUF",
# "mradermacher/tinyllama-coder-color-en-v0.1-GGUF",
# "mradermacher/tinyllama-color-coder-v1-GGUF",
# "mradermacher/tinyllama-fake-news-detector-v1-GGUF",
# "mradermacher/tinyllama-fr-aya-1.5T-v0.1-GGUF",
# "mradermacher/tinyllama-hate-speech-detector-en-1.5T-v0.1-GGUF",
# "mradermacher/tinyllama-hate-speech-detector-v1-GGUF",
# "mradermacher/tinyllama-onomatopoeia-ja-v1-GGUF",
# "mradermacher/tinyllama-sentiment-analyzer-v1-GGUF",
# "mradermacher/tinyllama-sql-coder-v1-GGUF",
# "mradermacher/DaturaCookie_7B-GGUF",
# "mradermacher/K2S3-Mistral-7b-v1.1-GGUF",
# "mradermacher/mistral-orpo-mix-GGUF",
# "mradermacher/NeuralMergeTest-001-GGUF",
# "mradermacher/NeuralSirKrishna-Spanish-FT-GGUF",
# "mradermacher/T3qm7xStrangemerges_32-7B-GGUF",
# "mradermacher/flammen10-mistral-7B-GGUF",
# "mradermacher/flammen11-mistral-7B-GGUF",
# "mradermacher/climategpt-7b-fsc-GGUF",
# "mradermacher/m.star.7b-GGUF",
# "mradermacher/J.O.S.I.E.3-Beta8-slerp-GGUF",
# "mradermacher/climategpt-7b-fsg-GGUF",
# "mradermacher/Mistral-7B-v0.1-coco-caption-de-GGUF",
# "mradermacher/MistralCode-7B-Instruct-v0.2-slerp-GGUF",
# "mradermacher/Mocha-Sample-7b-ex-GGUF",
# "mradermacher/T3QM7X-GGUF",
# "mradermacher/bruphin-iota-GGUF",
# "mradermacher/gemma-ko-en-translate-v0.4-GGUF",
# "mradermacher/Follex-7B-V2-GGUF",
# "mradermacher/speculor-2.7b-GGUF",
# "mradermacher/CS221-xlm-roberta-base-finetuned-semeval-GGUF",
# "mradermacher/mamba-765M-chinese-chat-v0.1-GGUF",
# "mradermacher/Brian-Llama-3.2-3B-GGUF",
# "mradermacher/ING_Triomphant_M2_SLERP-GGUF",
# "mradermacher/Zephyr_beta_32k_7B-GGUF",
# "mradermacher/Mistral-7B-v0.3-sft-SPIN-self-GGUF",
# "mradermacher/Follex-7B-GGUF",
# "mradermacher/R4L-Math-v0.1-GGUF",
# "mradermacher/Qwen2.5-3B-TTKH-python-0.3-GGUF",
# "mradermacher/J.O.S.I.E.3-Beta3-slerp-GGUF",
# "mradermacher/Llama-3.1-8B-sft-SPIN-self-GGUF",
# "mradermacher/SmolLM2-FT-BG-GGUF",
# "mradermacher/star-sft-intellect-1-GGUF",
# "mradermacher/wiroai-turkish-llm-9b-GGUF",
# "mradermacher/iq-code-evmind-0.5b-GGUF",
# "mradermacher/iq-code-evmind-7b-GGUF",
# "mradermacher/waka-qwq-GGUF",
# "mradermacher/tongyi-model-v1.3-1b-enth-GGUF",
# "mradermacher/KangalKhan-Beta-Ruby-7B-GGUF",
# "mradermacher/Calliope-7b-GGUF",
# "mradermacher/Falcon3Slerp4-10B-GGUF",
# "mradermacher/Lugha-Llama-8B-wura-GGUF",
# "mradermacher/FalconSlerp3-10B-GGUF",
# "mradermacher/Karasu-1.1b-task1357-vector-GGUF",
# "mradermacher/bruphin-kappa-GGUF",
# "mradermacher/Nexus-IKM-Hermes-2-Pro-Mistral-7B-GGUF",
# "mradermacher/StarMix-7B-slerp-GGUF",
# "mradermacher/KangalKhan-Beta-Sapphire-7B-GGUF",
# "mradermacher/UltraCatunaMayo-DPO-GGUF",
# "mradermacher/KangalKhan-PressurizedRuby-7B-GGUF",
# "mradermacher/lion-zephyr-7b-GGUF",
# "mradermacher/mamba-1.4b-hf-lima-GGUF",
# "mradermacher/Mixtral_Base-GGUF",
# "mradermacher/StrangeMerges_44-7B-dare_ties-GGUF",
# "mradermacher/Mixtral_Chat-GGUF",
# "mradermacher/Pearl-7B-slerp-GGUF",
# "mradermacher/flammen13-mistral-7B-GGUF",
# "mradermacher/AlloyingotneoyNeuralsirkrishna-7B-GGUF",
# "mradermacher/flammen12-mistral-7B-GGUF",
# "mradermacher/MiniLLM-0.2B-NoWudao-GGUF",
# "mradermacher/baarat-hindi-instruct-0.1-GGUF",
# "mradermacher/swallow-hermes-st-v1-GGUF",
# "mradermacher/Mistral-7B-Instruct-demi-merge-v0.2-7B-GGUF",
# "mradermacher/TinyJensen-1.1B-Chat-GGUF",
# "mradermacher/Ak4ri-rp-7b-GGUF",
# "mradermacher/Samlagast-7B-bf16-GGUF",
# "mradermacher/MKLLM-7B-Translate-GGUF",
# "mradermacher/ScikitLLM-Model-GGUF",
# "mradermacher/phi-2-DLEC-GGUF",
# "mradermacher/Eris_PrimeV4-Vision-7B-GGUF",
# "mradermacher/saul-zephyr-7b-slerp-GGUF",
# "mradermacher/YamshadowInex12_YamshadowExperiment28-GGUF",
# "mradermacher/Experiment26Yam_Experiment27Yam-GGUF",
# "mradermacher/NeuralsirkrishnaShadow_Inex12Strangemerges_32-GGUF",
# "mradermacher/VerwaltungsAnthologie_clear_simbad_7B-GGUF",
# "mradermacher/Llama-3-8B-Instruct-DADA-GGUF",
# "mradermacher/M7Yamshadowexperiment28_T3qT3qm7-GGUF",
# "mradermacher/Strangemerges_32M7-7B-GGUF",
# "mradermacher/Experiment28T3q_Multi_verse_modelM7-GGUF",
# "mradermacher/gemma-2b-f16-telugu-base-GGUF",
# "mradermacher/ScaleDown-7B-slerp-v0.1-GGUF",
# "mradermacher/GEITje-7B-ultra-GGUF",
# "mradermacher/ShadowStrangemerges_32-7B-GGUF",
# "mradermacher/M7Yamshadowexperiment28_Inex16Calme-GGUF",
# "mradermacher/TinyLlama-1.1B-chat-dare-v1-GGUF",
# "mradermacher/RuBit-LLama-63M-GGUF",
# "mradermacher/Blitz-AI-DARE-v0.1-GGUF",
# "mradermacher/StrangeMerges_43-7B-dare_ties-GGUF",
# "mradermacher/T3qm7xNeuralsirkrishna_Multi_verse_modelM7-GGUF",
# "mradermacher/Panoramix-7B-Instruct-v0.2-GGUF",
# "mradermacher/NeuralKrishnaMath-7B-slerp-GGUF",
# "mradermacher/NeuralsynthesisCalmexperiment-7B-GGUF",
# "mradermacher/T3qm7Shadow-7B-GGUF",
# "mradermacher/Juliet-Chat-mini-GGUF",
# "mradermacher/MeliodasPercival_01_YamStrangemerges_32-GGUF",
# "mradermacher/ErisepBeagleNuBuRPInfinWestLakev2-IreneRP-Neural-7B-slerp-GGUF",
# "mradermacher/Experiment26Yam_YamExperiment24-GGUF",
# "mradermacher/Experiment28M7_NeuralsirkrishnaExperiment26-GGUF",
# "mradermacher/Humanised-LLMv2-GGUF",
# "mradermacher/Experiment26Neuralsirkrishna_YamPastiche-GGUF",
# "mradermacher/EXALT-Baseline-GGUF",
# "mradermacher/NeuralsirkrishnaShadow_Ognoexperiment27M7-GGUF",
# "mradermacher/Meta-Llama-3-8B-Instruct_fictional_Korean_v1-GGUF",
# "mradermacher/flammen20-mistral-7B-GGUF",
# "mradermacher/sec-mistral-7b-instruct-v2-GGUF",
# "mradermacher/phillama-3.8b-v0.1-GGUF",
# "mradermacher/YamshadowStrangemerges_32_YamStrangemerges_32-GGUF",
# "mradermacher/T3qm7xNeuralsirkrishna_Experiment31Experiment29-GGUF",
# "mradermacher/Llama-2-7b-chat-hf_fictional_v2-GGUF",
# "mradermacher/SmartLlama-3-8B-MS-v0.1-GGUF",
# "mradermacher/NeuralsynthesisT3qm7-7B-GGUF",
# "mradermacher/ClickbaitFighter-2B-GGUF",
# "mradermacher/Alphacode-MALI-9B-GGUF",
# "mradermacher/MeliodasPercival_01_Experiment26Experiment28-GGUF",
# "mradermacher/Wukong-Mistral-7B-v0.3-GGUF",
# "mradermacher/YamshadowStrangemerges_32_Inex16Calme-GGUF",
# "mradermacher/YamT3qm7xp_ShadowOgno-GGUF",
# "mradermacher/Ludwig_Orca_Orient-GGUF",
# "mradermacher/CosMoE-Lisa-4x1b-GGUF",
# "mradermacher/Experiment26T3qm7xp_Experiment26Strangemerges_30-GGUF",
# "mradermacher/OpenThaiGPT-100-instruct-finetuned-GGUF",
# "mradermacher/M7Yamshadowexperiment28_Experiment27Experiment24-GGUF",
# "mradermacher/Experiment28M7_Experiment26Yamshadow-GGUF",
# "mradermacher/T3qm7xNeuralsirkrishna_Experiment27Experiment28-GGUF",
# "mradermacher/YamshadowInex12_YamT3qm7x-GGUF",
# "mradermacher/T3Q-Mistral-UB-DPO-v1.0-GGUF",
"mradermacher/selfbiorag-7b-dpo-full-sft-wo-kqa_silver_wogold-GGUF",
"mradermacher/NeuralKukedlc-7B-Labonned-GGUF",
"mradermacher/Calme-7B-Instruct-v0.9-GGUF",
@@ -2398,13 +2485,16 @@ HEADERS = {"Content-Type": "application/json"}
# ══════════════════════════════════════════════════════════
_state = {
"strategy_id": STRATEGY_ID,
"phase": "starting", # starting | running | done | error
"phase": "starting", # starting | reserving | downloading | done | error
"total": len(ALL_MODEL_IDS),
"downloading": [], # 当前正在下载的模型
"download_success": 0,
"download_failed": 0,
"submitted": 0, # 成功提交的验证任务数hygon + bi150
"submit_failed": 0,
"bi150_usable": 0, # 启动筛查后仍可占位的零积分账号数
"reserved_bi150": 0, # 阶段一 bi150 占位成功数
"reserved_hygon": 0, # 阶段一 hygon 占位成功数
"started_at": None,
"finished_at": None,
}
@@ -2607,7 +2697,14 @@ ref_config:
print(f"✅ 测试任务提交成功! {model_id}", flush=True)
return True
else:
print(f"❌ 测试任务业务错误: {result.get('message')}", flush=True)
msg = str(result.get("message") or "")
if QUOTA_FULL_MSG in msg:
# zhoukaile 额度打满,置位后占位阶段不再尝试 hygon
global _hygon_quota_full
_hygon_quota_full = True
print(f"⛔ hygon 提交账号额度已满,后续跳过 hygon 占位: {msg}", flush=True)
else:
print(f"❌ 测试任务业务错误: {msg}", flush=True)
return False
else:
print(f"❌ 测试任务 HTTP 错误: {resp.status_code} - {resp.text}", flush=True)
@@ -2620,9 +2717,11 @@ ref_config:
# 提交单个模型的测试任务 bi150
# ══════════════════════════════════════════════════════════
def submit_test_task_bi150(model_id: str) -> bool:
# auth_headers = {**HEADERS, "Authorization": f"Bearer {token}"}
# 队列里所有零积分账号都已占到位就不再提交——每个账号占 1 个即达成目标
if _bi150_done():
return False
model_filename = get_model_filename(model_id)
gpu_type = "Iluvatar_bi-150"
gpu_type = GPU_TYPE_BI150
config_content = f"""docker_image: git.modelhub.org.cn:9443/enginex-iluvatar/iluvatar-llama.cpp:b7516-bi150
nv_docker_image: harbor-contest.4pd.io/luxinlong02/llama-cpp:b7003-cuda-full-12.3
framework: llamacpp
@@ -2640,7 +2739,7 @@ ref_config:
values:
command: ['/workspace/llama.cpp/build/bin/llama-server','--model', '/model/{model_filename}', '--alias', 'llm', '--threads', '20','--n-gpu-layers','128', '--ctx-size', '4096', '--host', '0.0.0.0', '--port', '8000', '--jinja', '--flash-attn', 'off']
"""
account, xc_token = _next_bi150_account()
account, xc_token, from_list = _peek_bi150_account()
headers = {"Content-Type": "application/json", "xc-Token": xc_token}
payload = {
"configParams": config_content,
@@ -2656,9 +2755,13 @@ ref_config:
if resp.status_code == 200:
result = resp.json()
if result.get("code") == 0:
# 只有真正提交成功才消耗这个账号的名额
if from_list:
_commit_bi150_account()
print(f"✅ 测试任务提交成功! {model_id} (账号={account})", flush=True)
return True
else:
# 失败不推进游标,名额留给下一个模型继续用这个账号
print(f"❌ 测试任务业务错误 (账号={account}): {result.get('message')}", flush=True)
return False
else:
@@ -2682,11 +2785,71 @@ def _run_worker():
_state["phase"] = "error"
return
pending_models = list(ALL_MODEL_IDS) # 尚未开始下载的模型
active_models: Set[str] = set() # 当前正在下载的模型
completed_results = {} # model_id -> status
# ══════════════════════════════════════════════════════
# 阶段一占位机制B瞬间完成不受下载队列制约
#
# 背景:下载队列 /adminApi/async/task/model-download-task 的【读取】对
# 所有账号开放(连最低权限的 xc-Token 小号都能翻),所以我方 WAITING 中
# 的模型ID 会暴露给所有人。对手看到后用机制B抢先占位——机制B不要求模型
# 已下载,任务会挂着等文件;等我方 zhoushasha 把模型下载完,他的任务立刻
# 开跑并验证成功,我方反而因「一个模型一张卡只能一个账号」而撞 60028。
#
# 对策:把提交挪到下载【之前】。先占位再下载,下载队列即使被爬也没用。
# 触发的 adminProxy 代下载很慢无所谓——我方自己的下载会先完成。
# ══════════════════════════════════════════════════════
_state["phase"] = "reserving"
_init_bi150_queue()
print(f"🚀 总共 {len(pending_models)} 个模型待下载。最大并发数: {MAX_CONCURRENT_DOWNLOADS}\n", flush=True)
reserved_models = [] # 占位成功、需要下载的模型(按占位顺序)
print(f"\n🔒 阶段一占位bi150 待占位账号 {len(_bi150_pending)} 个)\n", flush=True)
for model_id in ALL_MODEL_IDS:
if _shutdown.is_set():
break
if _bi150_done() and _hygon_quota_full:
print("🔒 bi150 占位已全部完成,且 hygon 额度已满,占位阶段结束", flush=True)
break
got = False
# bi150用还没有 bi150 任务的零积分账号逐个占位
if not _bi150_done():
if submit_test_task_bi150(model_id):
_state["submitted"] += 1
_state["reserved_bi150"] += 1
got = True
else:
_state["submit_failed"] += 1
# hygon固定用 zhoukaile同样是机制B占位
if not _hygon_quota_full:
if submit_test_task(model_id):
_state["submitted"] += 1
_state["reserved_hygon"] += 1
got = True
else:
_state["submit_failed"] += 1
if got:
reserved_models.append(model_id)
print(
f"\n🔒 占位阶段完成bi150={_state['reserved_bi150']} "
f"hygon={_state['reserved_hygon']} "
f"待下载模型={len(reserved_models)}\n",
flush=True,
)
# ══════════════════════════════════════════════════════
# 阶段二下载机制Azhoushasha8 并发)
# 只下载已经占到位的模型——这些位置已经是我方的,下载完即可开跑验证
# ══════════════════════════════════════════════════════
_state["phase"] = "downloading"
pending_models = list(reserved_models) # 尚未开始下载的模型
active_models: Set[str] = set() # 当前正在下载的模型
completed_results = {} # model_id -> status
print(f"🚀 阶段二:下载 {len(pending_models)} 个已占位模型。最大并发数: {MAX_CONCURRENT_DOWNLOADS}\n", flush=True)
while (pending_models or active_models) and not _shutdown.is_set():
# 1. 检查活跃任务状态
@@ -2700,20 +2863,8 @@ def _run_worker():
print(f"⏹️ {model_id} 完成,状态: {status}", flush=True)
if status == "SUCCESS":
_state["download_success"] += 1
# 下载成功后立即提交该模型的验证任务
if submit_test_task(model_id):
_state["submitted"] += 1
print(f"🧪 已为 {model_id} 提交 hygon 验证任务", flush=True)
else:
_state["submit_failed"] += 1
print(f"⚠️ {model_id} hygon 验证任务提交失败", flush=True)
if submit_test_task_bi150(model_id):
_state["submitted"] += 1
print(f"🧪 已为 {model_id} 提交 bi150 验证任务", flush=True)
else:
_state["submit_failed"] += 1
print(f"⚠️ {model_id} bi150 验证任务提交失败", flush=True)
# 验证任务已在阶段一占位完成,下载落地后平台会自动开跑,这里无需再提交
print(f"🎯 {model_id} 下载完成,已占位的验证任务可以开跑了", flush=True)
else:
_state["download_failed"] += 1