Files
product/scripts/llm_fallback_check.py
2026-03-27 10:49:34 +08:00

36 lines
875 B
Python

from __future__ import annotations
import os
import subprocess
import sys
def main() -> None:
code = r"""
import asyncio
from services.llm import LLMService
async def run():
svc = LLMService()
text, source = await svc.reply_with_meta("测试降级")
print("source:", source)
print("reply:", text)
asyncio.run(run())
"""
env = os.environ.copy()
env["LLM_BASE_URL"] = "http://127.0.0.1:9"
env["LLM_TIMEOUT"] = "1"
proc = subprocess.run([sys.executable, "-c", code], env=env, capture_output=True, text=True)
print(proc.stdout.strip())
if proc.returncode != 0:
print(proc.stderr.strip())
raise SystemExit(proc.returncode)
if "source: fallback" not in proc.stdout:
raise SystemExit("fallback check failed: source is not fallback")
print("fallback check: ok")
if __name__ == "__main__":
main()