routing tests, launch.configs, redirect, stats and route statistics

This commit is contained in:
Dobromir Popov
2026-07-11 11:39:47 +03:00
parent f54ea100fb
commit 11bf460027
12 changed files with 546 additions and 80 deletions

View File

@@ -0,0 +1,41 @@
#!/usr/bin/env python3
"""Send one OpenAI-compatible chat request to a meshnet HTTP endpoint."""
from __future__ import annotations
import argparse
import json
import urllib.request
def main() -> int:
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--url", default="http://localhost:8080", help="Tracker or gateway base URL")
parser.add_argument("--model", default="qwen2.5-0.5b-instruct")
parser.add_argument(
"--prompt",
default="What is 7 times 8? Answer in one word.",
)
parser.add_argument("--max-tokens", type=int, default=32)
args = parser.parse_args()
payload = {
"model": args.model,
"messages": [{"role": "user", "content": args.prompt}],
"max_tokens": args.max_tokens,
"stream": False,
}
request = urllib.request.Request(
f"{args.url.rstrip('/')}/v1/chat/completions",
data=json.dumps(payload).encode(),
headers={"Content-Type": "application/json"},
method="POST",
)
with urllib.request.urlopen(request, timeout=120) as response:
body = json.loads(response.read())
print(json.dumps(body, indent=2))
return 0
if __name__ == "__main__":
raise SystemExit(main())