Spaces:
Runtime error
Runtime error
Upload 6 files
Browse files- Dockerfile +17 -0
- README.md +10 -9
- app.py +17 -0
- model_loader.py +18 -0
- requirements.txt +5 -0
- run_colab.sh +12 -0
Dockerfile
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Use a lightweight Python image
|
2 |
+
FROM python:3.9
|
3 |
+
|
4 |
+
# Set the working directory
|
5 |
+
WORKDIR /app
|
6 |
+
|
7 |
+
# Copy all files
|
8 |
+
COPY . .
|
9 |
+
|
10 |
+
# Install dependencies
|
11 |
+
RUN pip install -r requirements.txt
|
12 |
+
|
13 |
+
# Expose port 7860 for Hugging Face
|
14 |
+
EXPOSE 7860
|
15 |
+
|
16 |
+
# Run the FastAPI server
|
17 |
+
CMD ["uvicorn", "api.app:app", "--host", "0.0.0.0", "--port", "7860"]
|
README.md
CHANGED
@@ -1,10 +1,11 @@
|
|
1 |
-
|
2 |
-
title: Deepseek Task Manager
|
3 |
-
emoji: π
|
4 |
-
colorFrom: gray
|
5 |
-
colorTo: red
|
6 |
-
sdk: docker
|
7 |
-
pinned: false
|
8 |
-
---
|
9 |
|
10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# DeepSeek Task Manager - Hugging Face Spaces
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
+
π This Space runs **DeepSeek AI** using **FastAPI**.
|
4 |
+
|
5 |
+
## API Endpoints
|
6 |
+
- `GET /` β Check if the server is running.
|
7 |
+
- `POST /generate/` β Generate a task response.
|
8 |
+
|
9 |
+
## Usage Example
|
10 |
+
```bash
|
11 |
+
curl -X POST "https://your-space-name.hf.space/generate/" -H "Content-Type: application/json" -d '{"task": "Create subtasks for project planning"}'
|
app.py
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from fastapi import FastAPI
|
2 |
+
import uvicorn
|
3 |
+
from models.model_loader import generate_response
|
4 |
+
|
5 |
+
app = FastAPI()
|
6 |
+
|
7 |
+
@app.get("/")
|
8 |
+
def home():
|
9 |
+
return {"message": "DeepSeek AI is running on Hugging Face!"}
|
10 |
+
|
11 |
+
@app.post("/generate/")
|
12 |
+
def generate_task(task: str):
|
13 |
+
response = generate_response(task)
|
14 |
+
return {"response": response}
|
15 |
+
|
16 |
+
if __name__ == "__main__":
|
17 |
+
uvicorn.run(app, host="0.0.0.0", port=7860)
|
model_loader.py
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
2 |
+
import torch
|
3 |
+
|
4 |
+
MODEL_NAME = "deepseek-ai/deepseek-llm-67b-chat"
|
5 |
+
|
6 |
+
def load_model():
|
7 |
+
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
|
8 |
+
model = AutoModelForCausalLM.from_pretrained(
|
9 |
+
MODEL_NAME, torch_dtype=torch.float16, device_map="auto"
|
10 |
+
)
|
11 |
+
return tokenizer, model
|
12 |
+
|
13 |
+
tokenizer, model = load_model()
|
14 |
+
|
15 |
+
def generate_response(prompt):
|
16 |
+
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
|
17 |
+
outputs = model.generate(**inputs, max_length=500)
|
18 |
+
return tokenizer.decode(outputs[0], skip_special_tokens=True)
|
requirements.txt
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
torch
|
2 |
+
transformers
|
3 |
+
fastapi
|
4 |
+
uvicorn
|
5 |
+
accelerate
|
run_colab.sh
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/bin/bash
|
2 |
+
|
3 |
+
echo "Installing dependencies..."
|
4 |
+
pip install -r requirements.txt
|
5 |
+
|
6 |
+
echo "Starting FastAPI server..."
|
7 |
+
uvicorn api.app:app --host 0.0.0.0 --port=8000 &
|
8 |
+
sleep 5
|
9 |
+
|
10 |
+
echo "Exposing API with Ngrok..."
|
11 |
+
ngrok authtoken YOUR_NGROK_AUTH_TOKEN
|
12 |
+
ngrok http 8000
|