36 lines
875 B
Python
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()
|