mirror of
https://github.com/xtekky/gpt4free.git
synced 2024-11-29 22:34:08 +03:00
36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
from ora.model import CompletionModel
|
|
from ora.typing import OraResponse
|
|
from requests import post
|
|
from time import time
|
|
|
|
class Completion:
|
|
def create(
|
|
model : CompletionModel,
|
|
prompt: str,
|
|
conversationId: str or None = None) -> OraResponse:
|
|
|
|
extra = {
|
|
'conversationId': conversationId} if conversationId else {}
|
|
|
|
response = post('https://ora.sh/api/conversation', json = extra | {
|
|
'chatbotId': model.id,
|
|
'input' : prompt,
|
|
'userId' : model.createdBy}).json()
|
|
|
|
return OraResponse({
|
|
'id' : response['conversationId'],
|
|
'object' : 'text_completion',
|
|
'created': int(time()),
|
|
'model' : model.slug,
|
|
'choices': [{
|
|
'text' : response['response'],
|
|
'index' : 0,
|
|
'logprobs' : None,
|
|
'finish_reason' : 'stop'
|
|
}],
|
|
'usage': {
|
|
'prompt_tokens' : len(prompt),
|
|
'completion_tokens' : len(response['response']),
|
|
'total_tokens' : len(prompt) + len(response['response'])
|
|
}
|
|
}) |