ar08 commited on
Commit
cbc595a
·
verified ·
1 Parent(s): 1491ed2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -10
app.py CHANGED
@@ -4,6 +4,7 @@ from pydantic import BaseModel
4
  from llama_cpp import Llama
5
  import time
6
  import io
 
7
 
8
  # Initialize FastAPI app
9
  app = FastAPI()
@@ -29,15 +30,21 @@ class RequestModel(BaseModel):
29
  logprobs: int = None
30
  stop: list = None
31
 
32
- # Response model
 
 
 
 
 
 
33
  class ResponseModel(BaseModel):
34
  id: str
35
  object: str
36
  created: int
37
  model: str
38
- choices: list
39
 
40
- @app.post("/v1/completions")
41
  async def create_completion(request: RequestModel):
42
  try:
43
  if request.stream:
@@ -79,12 +86,12 @@ async def create_completion(request: RequestModel):
79
  created=int(time.time()),
80
  model=request.model,
81
  choices=[
82
- {
83
- "text": generated_text,
84
- "index": 0,
85
- "logprobs": None,
86
- "finish_reason": "stop"
87
- }
88
  ]
89
  )
90
 
@@ -93,5 +100,4 @@ async def create_completion(request: RequestModel):
93
 
94
  if __name__ == "__main__":
95
  import uvicorn
96
- import asyncio
97
  uvicorn.run(app, host="0.0.0.0", port=8000)
 
4
  from llama_cpp import Llama
5
  import time
6
  import io
7
+ import asyncio
8
 
9
  # Initialize FastAPI app
10
  app = FastAPI()
 
30
  logprobs: int = None
31
  stop: list = None
32
 
33
+ # Response model based on OpenAI API structure
34
+ class Choice(BaseModel):
35
+ text: str
36
+ index: int
37
+ logprobs: int = None
38
+ finish_reason: str
39
+
40
  class ResponseModel(BaseModel):
41
  id: str
42
  object: str
43
  created: int
44
  model: str
45
+ choices: list[Choice]
46
 
47
+ @app.post("/v1/completions", response_model=ResponseModel)
48
  async def create_completion(request: RequestModel):
49
  try:
50
  if request.stream:
 
86
  created=int(time.time()),
87
  model=request.model,
88
  choices=[
89
+ Choice(
90
+ text=generated_text,
91
+ index=0,
92
+ logprobs=None,
93
+ finish_reason="stop"
94
+ )
95
  ]
96
  )
97
 
 
100
 
101
  if __name__ == "__main__":
102
  import uvicorn
 
103
  uvicorn.run(app, host="0.0.0.0", port=8000)