blob: 546e09409f91d064e072c60ef79c29f39255388f (
plain) (
tree)
|
|
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'])
}
})
|