From f0cd41c207f86785a6abeced30b5cbf0e267660c Mon Sep 17 00:00:00 2001 From: Chill Date: Thu, 14 Sep 2023 15:53:42 +0800 Subject: [PATCH] =?UTF-8?q?fix=20#I80ZKT=20app=5Fai=5Fali=E9=80=9A?= =?UTF-8?q?=E4=B9=89=E5=8D=83=E9=97=AE=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_chatgpt/models/ai_robot.py | 15 ++++++++++++--- app_chatgpt/models/mail_channel.py | 11 ++++++++--- 2 files changed, 20 insertions(+), 6 deletions(-) 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,