File tree 5 files changed +28
-1
lines changed
5 files changed +28
-1
lines changed Original file line number Diff line number Diff line change @@ -1653,6 +1653,7 @@ def create_chat_completion(
1653
1653
top_k = top_k ,
1654
1654
min_p = min_p ,
1655
1655
typical_p = typical_p ,
1656
+ logprobs = top_logprobs if logprobs else None ,
1656
1657
stream = stream ,
1657
1658
stop = stop ,
1658
1659
seed = seed ,
Original file line number Diff line number Diff line change @@ -231,6 +231,7 @@ def _convert_text_completion_to_chat(
231
231
"role" : "assistant" ,
232
232
"content" : completion ["choices" ][0 ]["text" ],
233
233
},
234
+ "logprobs" : completion ["choices" ][0 ]["logprobs" ],
234
235
"finish_reason" : completion ["choices" ][0 ]["finish_reason" ],
235
236
}
236
237
],
@@ -254,6 +255,7 @@ def _convert_text_completion_chunks_to_chat(
254
255
"delta" : {
255
256
"role" : "assistant" ,
256
257
},
258
+ "logprobs" : None ,
257
259
"finish_reason" : None ,
258
260
}
259
261
],
@@ -273,6 +275,7 @@ def _convert_text_completion_chunks_to_chat(
273
275
if chunk ["choices" ][0 ]["finish_reason" ] is None
274
276
else {}
275
277
),
278
+ "logprobs" : chunk ["choices" ][0 ]["logprobs" ],
276
279
"finish_reason" : chunk ["choices" ][0 ]["finish_reason" ],
277
280
}
278
281
],
@@ -487,6 +490,7 @@ def chat_completion_handler(
487
490
temperature : float = 0.2 ,
488
491
top_p : float = 0.95 ,
489
492
top_k : int = 40 ,
493
+ logprobs : int = 0 ,
490
494
min_p : float = 0.05 ,
491
495
typical_p : float = 1.0 ,
492
496
stream : bool = False ,
@@ -576,6 +580,7 @@ def chat_completion_handler(
576
580
top_k = top_k ,
577
581
min_p = min_p ,
578
582
typical_p = typical_p ,
583
+ logprobs = logprobs ,
579
584
stream = stream ,
580
585
stop = stop ,
581
586
seed = seed ,
Original file line number Diff line number Diff line change @@ -84,6 +84,7 @@ class ChatCompletionFunction(TypedDict):
84
84
class ChatCompletionResponseChoice (TypedDict ):
85
85
index : int
86
86
message : "ChatCompletionResponseMessage"
87
+ logprobs : Optional [CompletionLogprobs ]
87
88
finish_reason : Optional [str ]
88
89
89
90
Original file line number Diff line number Diff line change @@ -405,6 +405,18 @@ async def create_chat_completion(
405
405
}
406
406
},
407
407
},
408
+ "logprobs" : {
409
+ "summary" : "Logprobs" ,
410
+ "value" : {
411
+ "model" : "gpt-3.5-turbo" ,
412
+ "messages" : [
413
+ {"role" : "system" , "content" : "You are a helpful assistant." },
414
+ {"role" : "user" , "content" : "What is the capital of France?" },
415
+ ],
416
+ "logprobs" : True ,
417
+ "top_logprobs" : 10
418
+ },
419
+ },
408
420
}
409
421
),
410
422
llama_proxy : LlamaProxy = Depends (get_llama_proxy ),
Original file line number Diff line number Diff line change @@ -130,7 +130,6 @@ class CreateCompletionRequest(BaseModel):
130
130
presence_penalty : Optional [float ] = presence_penalty_field
131
131
frequency_penalty : Optional [float ] = frequency_penalty_field
132
132
logit_bias : Optional [Dict [str , float ]] = Field (None )
133
- logprobs : Optional [int ] = Field (None )
134
133
seed : Optional [int ] = Field (None )
135
134
136
135
# ignored or currently unsupported
@@ -209,6 +208,15 @@ class CreateChatCompletionRequest(BaseModel):
209
208
default = None ,
210
209
description = "The maximum number of tokens to generate. Defaults to inf" ,
211
210
)
211
+ logprobs : Optional [bool ] = Field (
212
+ default = False ,
213
+ description = "Whether to output the logprobs or not. Default is True"
214
+ )
215
+ top_logprobs : Optional [int ] = Field (
216
+ default = None ,
217
+ ge = 0 ,
218
+ description = "The number of logprobs to generate. If None, no logprobs are generated. logprobs need to set to True." ,
219
+ )
212
220
temperature : float = temperature_field
213
221
top_p : float = top_p_field
214
222
min_p : float = min_p_field
You can’t perform that action at this time.
0 commit comments