updated t3nsor (gpt 3.5)

changed iter lines to iter content chunks, way smoother and more updates + resolved dict issue
このコミットが含まれているのは:
t.me/xtekky 2023-04-06 21:29:56 +02:00
コミット ab75098dd2
2個のファイルの変更30行の追加24行の削除

ファイルの表示

@ -21,9 +21,9 @@ class T3nsorResponse:
class Usage: class Usage:
def __init__(self, usage_dict: dict) -> None: def __init__(self, usage_dict: dict) -> None:
self.prompt_tokens = usage_dict['prompt_tokens'] self.prompt_tokens = usage_dict['prompt_chars']
self.completion_tokens = usage_dict['completion_tokens'] self.completion_tokens = usage_dict['completion_chars']
self.total_tokens = usage_dict['total_tokens'] self.total_tokens = usage_dict['total_chars']
def __repr__(self): def __repr__(self):
return f'''<__main__.APIResponse.Usage(\n prompt_tokens = {self.prompt_tokens},\n completion_tokens = {self.completion_tokens},\n total_tokens = {self.total_tokens})object at 0x1337>''' return f'''<__main__.APIResponse.Usage(\n prompt_tokens = {self.prompt_tokens},\n completion_tokens = {self.completion_tokens},\n total_tokens = {self.total_tokens})object at 0x1337>'''
@ -95,24 +95,23 @@ class StreamCompletion:
'prompt' : prompt 'prompt' : prompt
}) })
for resp in response.iter_lines(): for chunk in response.iter_content(chunk_size = 2046):
if resp: yield T3nsorResponse({
yield T3nsorResponse({ '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' : Completion.model,
'model' : Completion.model,
'choices': [{
'choices': [{ 'text' : chunk.decode(),
'text' : resp.decode(), 'index' : 0,
'index' : 0, 'logprobs' : None,
'logprobs' : None, 'finish_reason' : 'stop'
'finish_reason' : 'stop' }],
}],
'usage': {
'usage': { 'prompt_chars' : len(prompt),
'prompt_chars' : len(prompt), 'completion_chars' : len(chunk.decode()),
'completion_chars' : len(resp.decode()), 'total_chars' : len(prompt) + len(chunk.decode())
'total_chars' : len(prompt) + len(resp.decode()) }
} })
})

7
testing/t3nsor.py ノーマルファイル
ファイルの表示

@ -0,0 +1,7 @@
import t3nsor
for response in t3nsor.StreamCompletion.create(
prompt = 'write python code to reverse a string',
messages = []):
print(response.completion.choices[0].text)