#!/usr/bin/env python3 # -*- coding: utf-8 -*- """Langfuse 专题 · 步骤 6:发验收对话 + 查 Celery ops_trace + Langfuse traces API。""" from __future__ import annotations import sys import time 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: d.login() print("=== 1/3 发验收对话 ===") payload = { "inputs": {}, "query": C.PROBE_QUERY_LANGFUSE, "response_mode": "streaming", "files": [], "conversation_id": "", } r = d.post( "/agent/%s/chat-messages" % C.AGENT_ID, body=payload, extra="-m 420 --max-time 420", t=450, ) print("HTTP", r.get("code")) print((r.get("text") or "")[-800:]) print("\n=== 2/3 worker ops_trace 日志 ===") time.sleep(5) out, err = d.sh( "docker logs --since 5m %s 2>&1 | grep ops_trace | tail -10" % C.DIFY_WORKER ) print(out or err or "(无 ops_trace 行)") print("\n=== 3/3 Langfuse GET /api/public/traces ===") out2, err2 = d.sh( "curl -s -u '%s:%s' '%s/api/public/traces?limit=5'" % (C.LANGFUSE_PK, C.LANGFUSE_SK, C.LANGFUSE_URL) ) print(out2 or err2) return 0 if r.get("code") == "200" else 1 finally: d.close() if __name__ == "__main__": sys.exit(main())