Chadsglm commited on
Commit
00751ca
Β·
verified Β·
1 Parent(s): e16aaac

Upload 6 files

Browse files
Files changed (6) hide show
  1. Dockerfile +17 -0
  2. README.md +10 -9
  3. app.py +17 -0
  4. model_loader.py +18 -0
  5. requirements.txt +5 -0
  6. 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
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
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