bsny commited on
Commit
5ae73e5
·
verified ·
1 Parent(s): a05837d

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -0
app.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI, Request
2
+ from transformers import pipeline
3
+
4
+ app = FastAPI()
5
+
6
+ generator = pipeline("text-generation", model="microsoft/phi-2", max_new_tokens=150)
7
+
8
+ sessions = {}
9
+
10
+ @app.get("/")
11
+ def read_root():
12
+ return {"message": "LLM API running!"}
13
+
14
+ @app.post("/chat")
15
+ async def chat(request: Request):
16
+ data = await request.json()
17
+ session_id = data.get("session_id", "default")
18
+ user_input = data.get("message", "")
19
+ system_prompt = data.get("system_prompt", "You are a helpful assistant.")
20
+
21
+ if session_id not in sessions:
22
+ sessions[session_id] = system_prompt + "\n"
23
+
24
+ sessions[session_id] += f"User: {user_input}\nAssistant:"
25
+
26
+ output = generator(sessions[session_id], max_new_tokens=150)[0]["generated_text"]
27
+
28
+ if "Assistant:" in output:
29
+ assistant_response = output.split("Assistant:")[-1].strip()
30
+ else:
31
+ assistant_response = output.strip()
32
+
33
+ sessions[session_id] += f" {assistant_response}\n"
34
+
35
+ return {"response": assistant_response}