#!/usr/bin/env python3 # -*- coding: utf-8 -*- """专题二 · 步骤 0:确认 Xinference 容器与 bge-m3 是否在跑。""" from __future__ import annotations import json 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: print("=== 1/3 容器状态 ===") for cmd in [ "docker ps --filter name=%s --format '{{.Names}} {{.Status}}'" % C.XF_CONTAINER, "docker logs %s 2>&1 | tail -5" % C.XF_CONTAINER, ]: out, err = d.sh(cmd) print(out or err) print("\n=== 2/3 GET /v1/models(需 Bearer Key)===") out, err = d.sh( "curl -s -H 'Authorization: Bearer %s' %s/v1/models" % (C.XF_KEY, C.XF_URL) ) print(out or err) has_bge = C.EMBED_MODEL in (out or "") print("bge-m3 in list:", has_bge) print("\n=== 3/3 sentence-transformers ===") out, err = d.sh( "docker exec %s python -c \"import sentence_transformers; print(sentence_transformers.__version__)\"" % C.XF_CONTAINER ) print(out or err) if not has_bge: print("[WARN] bge-m3 未 running — 运行 专题二_02_启动bge-m3.py") return 1 return 0 finally: d.close() if __name__ == "__main__": sys.exit(main())