diff --git a/app_chatgpt/models/ai_robot.py b/app_chatgpt/models/ai_robot.py index f754b0d4..314ad203 100644 --- a/app_chatgpt/models/ai_robot.py +++ b/app_chatgpt/models/ai_robot.py @@ -204,15 +204,24 @@ GPT-3 A set of models that can understand and generate natural language # azure 格式 usage = json.loads(json.dumps(res['usage'])) content = json.loads(json.dumps(res['choices'][0]['message']['content'])) + elif self.provider == 'ali': + # ali 格式 + usage = res['usage'] + content = res['output']['text'] else: usage = False content = res data = content.replace(' .', '.').strip() answer_user = answer_id.mapped('user_ids')[:1] if usage: - prompt_tokens = usage['prompt_tokens'] - completion_tokens = usage['completion_tokens'] - total_tokens = usage['total_tokens'] + if self.provider == 'ali': + prompt_tokens = usage['input_tokens'] + completion_tokens = usage['output_tokens'] + total_tokens = usage['input_tokens'] + usage['output_tokens'] + else: + prompt_tokens = usage['prompt_tokens'] + completion_tokens = usage['completion_tokens'] + total_tokens = usage['total_tokens'] # 不是写到 user ,是要写到指定 m2m 相关模型, 如: res.partner.ai.use ai_use = self.env['res.partner.ai.use'].search([('name', '=', author_id.id)], limit=1) ask_date = fields.Datetime.now() diff --git a/app_chatgpt/models/mail_channel.py b/app_chatgpt/models/mail_channel.py index c07f3304..5003e956 100644 --- a/app_chatgpt/models/mail_channel.py +++ b/app_chatgpt/models/mail_channel.py @@ -152,9 +152,14 @@ class Channel(models.Model): res = res.replace('\n', '
') new_msg = channel.with_user(user_id).message_post(body=res, message_type='comment', subtype_xmlid='mail.mt_comment', parent_id=message.id) if usage: - prompt_tokens = usage['prompt_tokens'] - completion_tokens = usage['completion_tokens'] - total_tokens = usage['total_tokens'] + if ai.provider == 'ali': + prompt_tokens = usage['input_tokens'] + completion_tokens = usage['output_tokens'] + total_tokens = usage['input_tokens'] + usage['output_tokens'] + else: + prompt_tokens = usage['prompt_tokens'] + completion_tokens = usage['completion_tokens'] + total_tokens = usage['total_tokens'] new_msg.write({ 'human_prompt_tokens': prompt_tokens, 'ai_completion_tokens': completion_tokens,