diff --git a/app_chatgpt/models/__init__.py b/app_chatgpt/models/__init__.py index e650dfe1..74223a16 100644 --- a/app_chatgpt/models/__init__.py +++ b/app_chatgpt/models/__init__.py @@ -5,3 +5,4 @@ from . import mail_channel from . import res_config_settings from . import gpt_robot from . import res_users +from . import mail_message diff --git a/app_chatgpt/models/gpt_robot.py b/app_chatgpt/models/gpt_robot.py index b9faa5dc..62f9b5fe 100644 --- a/app_chatgpt/models/gpt_robot.py +++ b/app_chatgpt/models/gpt_robot.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- +import requests from odoo import api, fields, models, _ @@ -12,3 +13,7 @@ class GptRobot(models.Model): openapi_api_key = fields.Char(string="API Key", help="Provide the API key here") temperature = fields.Float(string='Temperature', default=0.9) sequence = fields.Integer('Sequence', help="Determine the display order", default=10) + + def action_disconnect(self): + requests.delete('https://chatgpt.com/v1/disconnect') + diff --git a/app_chatgpt/models/mail_channel.py b/app_chatgpt/models/mail_channel.py index 05ddf88a..86e2e0b2 100644 --- a/app_chatgpt/models/mail_channel.py +++ b/app_chatgpt/models/mail_channel.py @@ -8,6 +8,8 @@ from odoo import api, fields, models, _ from odoo.exceptions import UserError import logging _logger = logging.getLogger(__name__) + + class Channel(models.Model): _inherit = 'mail.channel' @@ -18,7 +20,7 @@ class Channel(models.Model): "model": "text-davinci-003", "prompt": data, "temperature": 0.9, - "max_tokens": 1000, + "max_tokens": 2000, "top_p": 1, "frequency_penalty": 0.0, "presence_penalty": 0.6, diff --git a/app_chatgpt/models/mail_message.py b/app_chatgpt/models/mail_message.py new file mode 100644 index 00000000..a93541d1 --- /dev/null +++ b/app_chatgpt/models/mail_message.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- + +from odoo import fields, models + + +class Message(models.Model): + _inherit = "mail.message" + + def _message_add_reaction(self, content): + super(Message, self)._message_add_reaction(content) + if self.create_uid.gpt_id: + # 处理反馈 + pass diff --git a/app_chatgpt/views/gpt_robot_views.xml b/app_chatgpt/views/gpt_robot_views.xml index 49b5b373..0a4c14a2 100644 --- a/app_chatgpt/views/gpt_robot_views.xml +++ b/app_chatgpt/views/gpt_robot_views.xml @@ -43,6 +43,15 @@ + + Disconnect + + + list,form + code + action = records.action_disconnect() + +