dedlepexa commited on
Commit
3ad07ca
·
verified ·
1 Parent(s): 34224fe

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -19
app.py CHANGED
@@ -1,7 +1,9 @@
1
- from fastapi import FastAPI, Request
2
  from fastapi.responses import PlainTextResponse
 
3
  from transformers import AutoTokenizer, AutoModelForCausalLM
4
  import torch
 
5
 
6
  app = FastAPI()
7
 
@@ -13,6 +15,10 @@ model = AutoModelForCausalLM.from_pretrained(model_name)
13
  model.eval()
14
 
15
 
 
 
 
 
16
  def generate_ai(message: str):
17
 
18
  prompt = f"User: {message}\nAssistant:"
@@ -39,31 +45,23 @@ async def root():
39
  return PlainTextResponse("AI server работает")
40
 
41
 
42
- @app.api_route("/", methods=["GET","POST","PUT","PATCH","DELETE","HEAD"])
43
- async def universal(request: Request):
 
44
 
45
- try:
46
 
47
- # пробуем получить JSON
48
- try:
49
- data = await request.json()
50
- message = data.get("message", "")
51
- except:
52
- # если не JSON — читаем обычный текст
53
- body = await request.body()
54
- message = body.decode("utf-8")
55
 
56
- if not message:
57
- message = "Hello"
58
 
59
- reply = generate_ai(message)
 
 
60
 
61
- return PlainTextResponse(reply)
62
 
63
- except Exception as e:
64
- return PlainTextResponse(f"ERROR: {str(e)}")
65
 
66
 
67
  if __name__ == "__main__":
68
- import uvicorn
69
  uvicorn.run(app, host="0.0.0.0", port=7860)
 
1
+ from fastapi import FastAPI
2
  from fastapi.responses import PlainTextResponse
3
+ from pydantic import BaseModel
4
  from transformers import AutoTokenizer, AutoModelForCausalLM
5
  import torch
6
+ import uvicorn
7
 
8
  app = FastAPI()
9
 
 
15
  model.eval()
16
 
17
 
18
+ class Message(BaseModel):
19
+ message: str
20
+
21
+
22
  def generate_ai(message: str):
23
 
24
  prompt = f"User: {message}\nAssistant:"
 
45
  return PlainTextResponse("AI server работает")
46
 
47
 
48
+ # POST (для docs)
49
+ @app.post("/")
50
+ async def receive(data: Message):
51
 
52
+ reply = generate_ai(data.message)
53
 
54
+ return PlainTextResponse(reply)
 
 
 
 
 
 
 
55
 
 
 
56
 
57
+ # GET (для Minecraft)
58
+ @app.get("/ask")
59
+ async def ask(message: str):
60
 
61
+ reply = generate_ai(message)
62
 
63
+ return PlainTextResponse(reply)
 
64
 
65
 
66
  if __name__ == "__main__":
 
67
  uvicorn.run(app, host="0.0.0.0", port=7860)