#!/usr/bin/env python3 # -*- coding: utf-8 -*- """专题十 · 步骤 1:GET model-types/llm,确认 qwen3.6-27b 在列表中且无 schema 校验失败。""" from __future__ import annotations import json import sys import _bootstrap # noqa: F401 import _config as C from dify_api import Dify, pp def main() -> int: d = Dify(C.DIFY_EMAIL, C.DIFY_PASSWORD) try: d.login() r = d.get("/workspaces/current/models/model-types/llm") pp("model-types/llm", r, limit=2000) data = (r.get("json") or {}).get("data", []) if not data: print("\n[FAIL] data 为空 —— 常见原因:model_properties 含非法 max_tokens") return 1 found = False for p in data: if p.get("provider") != C.OPENAI_PROVIDER: continue for m in p.get("models", []): if m.get("model") == C.LLM_MODEL: found = True mp = m.get("model_properties") or {} print("\n[OK] 找到模型:", json.dumps(m, ensure_ascii=False)[:500]) if "max_tokens" in mp: print("[WARN] model_properties 仍含 max_tokens,可能再次触发校验失败") if not found: print("\n[FAIL] 未在列表中找到", C.LLM_MODEL) return 1 return 0 finally: d.close() if __name__ == "__main__": sys.exit(main())