File size: 1,124 Bytes
7f7c58f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
from fastapi import FastAPI
from pydantic import BaseModel
from typing import Optional

from open_r1.evaluate import TASKS_TABLE
from open_r1.generate import build_distilabel_pipeline

app = FastAPI()


class GenerateRequest(BaseModel):
    model: str
    prompt_column: Optional[str] = None
    temperature: Optional[float] = None
    top_p: Optional[float] = None
    max_new_tokens: int = 8192
    num_generations: int = 1


@app.get("/")
def root():
    return {"message": "Welcome to DeepSeek-R1!"}


@app.get("/tasks")
def get_tasks():
    """Endpoint to fetch available tasks"""
    return {"tasks": [task.name for task in TASKS_TABLE]}


@app.post("/generate")
def generate_text(request: GenerateRequest):
    """Endpoint for text generation"""
    pipeline = build_distilabel_pipeline(
        model=request.model,
        prompt_column=request.prompt_column,
        temperature=request.temperature,
        top_p=request.top_p,
        max_new_tokens=request.max_new_tokens,
        num_generations=request.num_generations,
    )
    return {"message": "Pipeline successfully built. Use it to run your dataset."}