Update app.py
Browse files
app.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
from contextlib import asynccontextmanager
|
| 2 |
from datetime import datetime
|
| 3 |
from json import dumps, loads
|
| 4 |
-
from logging import Formatter, INFO,
|
| 5 |
from os import environ
|
| 6 |
from pathlib import Path
|
| 7 |
from random import randint
|
|
@@ -271,7 +271,8 @@ async def root():
|
|
| 271 |
return HTMLResponse('ну пролапс, ну и что', status_code=200)
|
| 272 |
|
| 273 |
|
| 274 |
-
@app.post('/chat/completions')
|
|
|
|
| 275 |
async def chat_completions(request: Request, token: str = Depends(verify_token)):
|
| 276 |
logger.debug('запрос `completions`')
|
| 277 |
data = await request.json()
|
|
@@ -290,12 +291,8 @@ async def chat_completions(request: Request, token: str = Depends(verify_token))
|
|
| 290 |
return StreamingResponse(fetch_reka_stream(reka_data), media_type='text/event-stream')
|
| 291 |
|
| 292 |
|
| 293 |
-
@app.
|
| 294 |
-
|
| 295 |
-
return await chat_completions(request)
|
| 296 |
-
|
| 297 |
-
|
| 298 |
-
@app.get('/models')
|
| 299 |
async def models():
|
| 300 |
logger.debug('запрос `models`')
|
| 301 |
return JSONResponse({
|
|
@@ -304,25 +301,20 @@ async def models():
|
|
| 304 |
}, status_code=200, media_type='application/json')
|
| 305 |
|
| 306 |
|
| 307 |
-
@app.get('/
|
| 308 |
-
async def models_v1():
|
| 309 |
-
return await models()
|
| 310 |
-
|
| 311 |
-
|
| 312 |
-
@app.get('/update_token')
|
| 313 |
async def update_token(token: str = Depends(verify_token)):
|
| 314 |
logger.info('запрос `update_token`')
|
| 315 |
task = get_token()
|
| 316 |
return JSONResponse({'status': 'обновление токена запущено'}, status_code=200, media_type='application/json')
|
| 317 |
|
| 318 |
|
| 319 |
-
@app.get('/show_last_screen')
|
| 320 |
async def show_last_screen(token: str = Depends(verify_token)):
|
| 321 |
logger.info('запрос `show_last_screen`')
|
| 322 |
return FileResponse(screenshot_path.resolve().as_posix(), media_type='image/jpeg', status_code=200)
|
| 323 |
|
| 324 |
-
|
| 325 |
-
@app.get('/info', response_class=HTMLResponse)
|
| 326 |
async def info():
|
| 327 |
logger.debug('запрос `info`')
|
| 328 |
return HTMLResponse(content='''<!DOCTYPE html>
|
|
@@ -339,12 +331,12 @@ async def info():
|
|
| 339 |
document.addEventListener('DOMContentLoaded', () => {
|
| 340 |
const url = `${window.location.protocol}//${window.location.host}`;
|
| 341 |
const endpoints = [
|
| 342 |
-
{ type: 'locked', path: '/v1/chat/completions' },
|
| 343 |
-
{ type: 'locked', path: '/chat/completions' },
|
| 344 |
-
{ type: 'unlocked', path: '/v1/models' },
|
| 345 |
-
{ type: 'unlocked', path: '/models' },
|
| 346 |
-
{ type: 'locked', path: '/update_token' },
|
| 347 |
-
{ type: 'locked', path: '/show_last_screen' }
|
| 348 |
];
|
| 349 |
|
| 350 |
const listContainer = document.getElementById('endpoints-list');
|
|
|
|
| 1 |
from contextlib import asynccontextmanager
|
| 2 |
from datetime import datetime
|
| 3 |
from json import dumps, loads
|
| 4 |
+
from logging import DEBUG, Formatter, INFO, StreamHandler, WARNING, getLogger
|
| 5 |
from os import environ
|
| 6 |
from pathlib import Path
|
| 7 |
from random import randint
|
|
|
|
| 271 |
return HTMLResponse('ну пролапс, ну и что', status_code=200)
|
| 272 |
|
| 273 |
|
| 274 |
+
@app.post('/api/chat/completions')
|
| 275 |
+
@app.post('/api/v1/chat/completions')
|
| 276 |
async def chat_completions(request: Request, token: str = Depends(verify_token)):
|
| 277 |
logger.debug('запрос `completions`')
|
| 278 |
data = await request.json()
|
|
|
|
| 291 |
return StreamingResponse(fetch_reka_stream(reka_data), media_type='text/event-stream')
|
| 292 |
|
| 293 |
|
| 294 |
+
@app.get('/api/models')
|
| 295 |
+
@app.get('/api/v1/models')
|
|
|
|
|
|
|
|
|
|
|
|
|
| 296 |
async def models():
|
| 297 |
logger.debug('запрос `models`')
|
| 298 |
return JSONResponse({
|
|
|
|
| 301 |
}, status_code=200, media_type='application/json')
|
| 302 |
|
| 303 |
|
| 304 |
+
@app.get('/api/update_token')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 305 |
async def update_token(token: str = Depends(verify_token)):
|
| 306 |
logger.info('запрос `update_token`')
|
| 307 |
task = get_token()
|
| 308 |
return JSONResponse({'status': 'обновление токена запущено'}, status_code=200, media_type='application/json')
|
| 309 |
|
| 310 |
|
| 311 |
+
@app.get('/api/show_last_screen')
|
| 312 |
async def show_last_screen(token: str = Depends(verify_token)):
|
| 313 |
logger.info('запрос `show_last_screen`')
|
| 314 |
return FileResponse(screenshot_path.resolve().as_posix(), media_type='image/jpeg', status_code=200)
|
| 315 |
|
| 316 |
+
@app.get('/api')
|
| 317 |
+
@app.get('/api/info', response_class=HTMLResponse)
|
| 318 |
async def info():
|
| 319 |
logger.debug('запрос `info`')
|
| 320 |
return HTMLResponse(content='''<!DOCTYPE html>
|
|
|
|
| 331 |
document.addEventListener('DOMContentLoaded', () => {
|
| 332 |
const url = `${window.location.protocol}//${window.location.host}`;
|
| 333 |
const endpoints = [
|
| 334 |
+
{ type: 'locked', path: '/api/v1/chat/completions' },
|
| 335 |
+
{ type: 'locked', path: '/api/chat/completions' },
|
| 336 |
+
{ type: 'unlocked', path: '/api/v1/models' },
|
| 337 |
+
{ type: 'unlocked', path: '/api/models' },
|
| 338 |
+
{ type: 'locked', path: '/api/update_token' },
|
| 339 |
+
{ type: 'locked', path: '/api/show_last_screen' }
|
| 340 |
];
|
| 341 |
|
| 342 |
const listContainer = document.getElementById('endpoints-list');
|