import json, time from dify_api import Dify EMAIL = "38205036@qq.com" PW = "Difyai123456" PROVIDER = "langgenius/openai/openai" MODEL = "qwen3.6-27b" NEW_CTX = 64000 # 不要在这里加 max_tokens;max_tokens 是 parameter_rule,不是 model_properties。 d = Dify(EMAIL, PW) ok, resp, csrf = d.login() print("LOGIN ok=%s" % ok) if not ok: d.close(); raise SystemExit("login failed") # 1) GET current credential (decrypted) + credential_id r = d.get("/workspaces/current/model-providers/%s/models/credentials?model_type=llm&model=%s" % (PROVIDER, MODEL)) js = r["json"] or {} cur_cred = js.get("credentials") or {} cid = js.get("current_credential_id") # 2) inject/overwrite model_properties (只保留 context_size) cred = dict(cur_cred) cred["model_properties"] = {"context_size": NEW_CTX} name = js.get("current_credential_name") or "Qwen3.6-27b" # 3) PUT update r = d.req("PUT", "/workspaces/current/model-providers/%s/models/credentials" % PROVIDER, body={"model": MODEL, "model_type": "llm", "credential_id": cid, "credentials": cred, "name": name}) print("PUT cred HTTP", r["code"], r["text"][:200]) # 4) verify time.sleep(2) r = d.get("/workspaces/current/models/model-types/llm") for p in (r["json"] or {}).get("data", []): if p.get("provider") == PROVIDER: for m in p.get("models", []): if m.get("model") == MODEL: mp = m.get("model_properties") or {} print("VERIFY context_size=%s" % mp.get("context_size")) d.close()