#!/usr/bin/env python3 # -*- coding: utf-8 -*- """专题十一 · 步骤 1:只读查看快照与草稿当前 max_tokens(期望改前为 null)。""" from __future__ import annotations import json import sys import _bootstrap # noqa: F401 import _agent_db as A import _config as C from dify_api import Dify def main() -> int: d = Dify(C.DIFY_EMAIL, C.DIFY_PASSWORD) try: d.login() for which, table, rid in ( ("snapshot", "agent_config_snapshots", C.SNAP_ID), ("draft", "agent_config_drafts", C.DRAFT_ID), ): out, _ = d.sh( "docker exec %s psql -U postgres -d dify -t -A -c " "\"SELECT config_snapshot::json -> 'model' -> 'model_settings' " "FROM %s WHERE id='%s'\"" % (C.PG_CONTAINER, table, rid) ) print("=== %s (%s) ===" % (which, rid)) try: print(json.dumps(json.loads(out), ensure_ascii=False, indent=2)) except Exception: print(out.strip()) snap_tok = A.read_max_tokens(d, "agent_config_snapshots", C.SNAP_ID) draft_tok = A.read_max_tokens(d, "agent_config_drafts", C.DRAFT_ID) print("\nmax_tokens snapshot=%s draft=%s" % (snap_tok, draft_tok)) return 0 finally: d.close() if __name__ == "__main__": sys.exit(main())