Myloiose commited on
Commit
f904d53
·
verified ·
1 Parent(s): c6df281

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -48
app.py CHANGED
@@ -1,58 +1,29 @@
1
- from fastapi import FastAPI, Request
2
- from fastapi.responses import JSONResponse
3
  import requests
4
  import os
5
 
6
- app = FastAPI(title="Chat FastAPI HuggingFace")
7
-
8
  HF_TOKEN = os.getenv("HF_TOKEN")
9
  MODEL = os.getenv("HF_MODEL", "TinyLlama/TinyLlama-1.1B-Chat-v1.0")
10
 
11
- @app.get("/")
12
- async def root():
13
- return {"message": "🚀 FastAPI Chat Model activo y listo"}
14
-
15
- @app.post("/chat")
16
- async def chat(request: Request):
17
- try:
18
- data = await request.json()
19
- message = data.get("message", "")
20
-
21
- if not HF_TOKEN:
22
- return JSONResponse(
23
- content={"error": "HF_TOKEN no configurado"},
24
- status_code=500
25
- )
26
-
27
- headers = {"Authorization": f"Bearer {HF_TOKEN}"}
28
- payload = {"inputs": message}
29
-
30
- response = requests.post(
31
- f"https://api-inference.huggingface.co/models/{MODEL}",
32
- headers=headers,
33
- json=payload
34
- )
35
-
36
- if response.status_code != 200:
37
- return JSONResponse(
38
- content={"error": "Error desde Hugging Face", "details": response.text},
39
- status_code=500
40
- )
41
 
42
- result = response.json()
43
- reply = ""
 
 
 
44
 
45
- if isinstance(result, list) and len(result) > 0:
46
- reply = result[0].get("generated_text", "")
47
- elif isinstance(result, dict) and "generated_text" in result:
48
- reply = result["generated_text"]
49
- else:
50
- reply = str(result)
51
 
52
- return {"reply": reply}
 
 
 
 
 
 
53
 
54
- except Exception as e:
55
- return JSONResponse(
56
- content={"error": "Error interno", "details": str(e)},
57
- status_code=500
58
- )
 
1
+ import gradio as gr
 
2
  import requests
3
  import os
4
 
 
 
5
  HF_TOKEN = os.getenv("HF_TOKEN")
6
  MODEL = os.getenv("HF_MODEL", "TinyLlama/TinyLlama-1.1B-Chat-v1.0")
7
 
8
+ def chat(message):
9
+ headers = {"Authorization": f"Bearer {HF_TOKEN}"}
10
+ payload = {"inputs": message}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
+ response = requests.post(
13
+ f"https://api-inference.huggingface.co/models/{MODEL}",
14
+ headers=headers,
15
+ json=payload
16
+ )
17
 
18
+ if response.status_code != 200:
19
+ return f"⚠️ Error desde Hugging Face: {response.text}"
 
 
 
 
20
 
21
+ result = response.json()
22
+ if isinstance(result, list) and len(result) > 0:
23
+ return result[0].get("generated_text", "")
24
+ elif isinstance(result, dict) and "generated_text" in result:
25
+ return result["generated_text"]
26
+ else:
27
+ return str(result)
28
 
29
+ gr.ChatInterface(fn=chat, title="Chat Gradio con HF").launch()