#!/usr/bin/env python3 # -*- coding: utf-8 -*- """专题十四 · 步骤 1:用 messages 表给最近对话定性。""" from __future__ import annotations import sys import _bootstrap # noqa: F401 import _config as C from dify_api import Dify def main() -> int: d = Dify(C.DIFY_EMAIL, C.DIFY_PASSWORD) try: sql = """ SELECT id, created_at, status, message_tokens, answer_tokens, round(provider_response_latency::numeric, 1) AS lat_s, left(query, 40) AS q, length(coalesce(answer,'')) AS ans_len, left(coalesce(error,''), 180) AS err FROM messages ORDER BY created_at DESC LIMIT 8; """ out, err = d.sh( 'docker exec %s psql -U postgres -d dify -c "%s"' % (C.PG_CONTAINER, sql.replace("\n", " ")) ) print(out or err) print("\n读法:status=error 已失败;answer_tokens=0 + token limit → 场景 B") return 0 finally: d.close() if __name__ == "__main__": sys.exit(main())