phind.com stream + response formatting
This commit is contained in:
@@ -204,23 +204,32 @@ class StreamingCompletion:
|
|||||||
|
|
||||||
while StreamingCompletion.stream_completed != True or not StreamingCompletion.message_queue.empty():
|
while StreamingCompletion.stream_completed != True or not StreamingCompletion.message_queue.empty():
|
||||||
try:
|
try:
|
||||||
message = StreamingCompletion.message_queue.get(timeout=0)
|
chunk = StreamingCompletion.message_queue.get(timeout=0)
|
||||||
for token in findall(r'(?<=data: )(.+?)(?=\r\n\r\n)', message.decode()):
|
|
||||||
|
if chunk == b'data: \r\ndata: \r\ndata: \r\n\r\n':
|
||||||
|
chunk = b'data: \n\n\r\n\r\n'
|
||||||
|
|
||||||
|
chunk = chunk.decode()
|
||||||
|
|
||||||
|
chunk = chunk.replace('data: \r\n\r\ndata: ', 'data: \n')
|
||||||
|
chunk = chunk.replace('\r\ndata: \r\ndata: \r\n\r\n', '\n\n\r\n\r\n')
|
||||||
|
chunk = chunk.replace('data: ', '').replace('\r\n\r\n', '')
|
||||||
|
|
||||||
yield PhindResponse({
|
yield PhindResponse({
|
||||||
'id' : f'cmpl-1337-{int(time())}',
|
'id' : f'cmpl-1337-{int(time())}',
|
||||||
'object' : 'text_completion',
|
'object' : 'text_completion',
|
||||||
'created': int(time()),
|
'created': int(time()),
|
||||||
'model' : model,
|
'model' : model,
|
||||||
'choices': [{
|
'choices': [{
|
||||||
'text' : token,
|
'text' : chunk,
|
||||||
'index' : 0,
|
'index' : 0,
|
||||||
'logprobs' : None,
|
'logprobs' : None,
|
||||||
'finish_reason' : 'stop'
|
'finish_reason' : 'stop'
|
||||||
}],
|
}],
|
||||||
'usage': {
|
'usage': {
|
||||||
'prompt_tokens' : len(prompt),
|
'prompt_tokens' : len(prompt),
|
||||||
'completion_tokens' : len(token),
|
'completion_tokens' : len(chunk),
|
||||||
'total_tokens' : len(prompt) + len(token)
|
'total_tokens' : len(prompt) + len(chunk)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user