Update app.py
Browse files
app.py
CHANGED
@@ -1,11 +1,12 @@
|
|
1 |
from datetime import datetime
|
2 |
from json import dumps, loads
|
3 |
from re import sub
|
|
|
4 |
from urllib.parse import urlparse, urlunparse
|
5 |
|
6 |
from cchardet import detect
|
7 |
from fastapi import FastAPI, Request
|
8 |
-
from fastapi.responses import JSONResponse, StreamingResponse
|
9 |
from ftfy import fix_text
|
10 |
from httpx import AsyncClient, Limits, Timeout
|
11 |
|
@@ -115,7 +116,7 @@ def format_chunk(chunk: bytes, model: str) -> str:
|
|
115 |
return str_data
|
116 |
|
117 |
|
118 |
-
async def generate(request: Request, url: str, headers: dict, body: bytes):
|
119 |
body_str = body.decode('utf-8')
|
120 |
body_obj: dict = loads(body_str)
|
121 |
model = body_obj.get('model')
|
@@ -156,7 +157,10 @@ async def proxy(request: Request):
|
|
156 |
@app.get('/api')
|
157 |
@app.get('/api/v1')
|
158 |
async def root():
|
159 |
-
|
|
|
|
|
|
|
160 |
|
161 |
|
162 |
@app.get('/api/models')
|
@@ -167,5 +171,6 @@ async def models():
|
|
167 |
|
168 |
if __name__ == '__main__':
|
169 |
import uvicorn
|
|
|
170 |
port = 7860
|
171 |
uvicorn.run(app, host='0.0.0.0', port=port)
|
|
|
1 |
from datetime import datetime
|
2 |
from json import dumps, loads
|
3 |
from re import sub
|
4 |
+
from typing import AsyncGenerator
|
5 |
from urllib.parse import urlparse, urlunparse
|
6 |
|
7 |
from cchardet import detect
|
8 |
from fastapi import FastAPI, Request
|
9 |
+
from fastapi.responses import HTMLResponse, JSONResponse, StreamingResponse
|
10 |
from ftfy import fix_text
|
11 |
from httpx import AsyncClient, Limits, Timeout
|
12 |
|
|
|
116 |
return str_data
|
117 |
|
118 |
|
119 |
+
async def generate(request: Request, url: str, headers: dict, body: bytes) -> AsyncGenerator:
|
120 |
body_str = body.decode('utf-8')
|
121 |
body_obj: dict = loads(body_str)
|
122 |
model = body_obj.get('model')
|
|
|
157 |
@app.get('/api')
|
158 |
@app.get('/api/v1')
|
159 |
async def root():
|
160 |
+
script = ('<html><body><script>'
|
161 |
+
'document.body.textContent = window.location.origin + "/api/v1";'
|
162 |
+
'</script><body></html>')
|
163 |
+
return HTMLResponse(script, status_code=200)
|
164 |
|
165 |
|
166 |
@app.get('/api/models')
|
|
|
171 |
|
172 |
if __name__ == '__main__':
|
173 |
import uvicorn
|
174 |
+
|
175 |
port = 7860
|
176 |
uvicorn.run(app, host='0.0.0.0', port=port)
|