# -*- coding: utf-8 -*- """Чистое REST API (№7): модель по HTTP — для интеграции с ботами/программами. Запуск: venv/Scripts/python.exe api.py # порт 8002 venv/Scripts/python.exe api.py 9000 # свой порт Эндпоинты: GET /health -> {"ok": true, "brain": "..."} POST /generate {"prompt": "...", "backend": "deepseek"} -> {"text": "...", "backend": "..."} Пример (curl): curl -X POST http://127.0.0.1:8002/generate -H "Content-Type: application/json" ^ -d "{\"prompt\": \"напиши функцию суммы\", \"backend\": \"deepseek\"}" """ import sys from fastapi import FastAPI from pydantic import BaseModel from brain import pick, generate app = FastAPI(title="ZuperAI API") class GenReq(BaseModel): prompt: str backend: str = None max_tokens: int = 1024 @app.get("/health") def health(): return {"ok": True, "brain": pick()} @app.post("/generate") def gen(req: GenReq): b = pick(req.backend) msgs = [{"role": "user", "content": req.prompt}] return {"text": generate(b, msgs, req.max_tokens), "backend": b} if __name__ == "__main__": import uvicorn port = int(sys.argv[1]) if len(sys.argv) > 1 else 8002 uvicorn.run(app, host="127.0.0.1", port=port)