[IMP] web_editor, website: add database ID to OLG calls
This commit adds the database ID to the IAP calls made to generate text. It permits to prevent abuses of OpenAI calls. task-3740440 closes odoo/odoo#154615 Signed-off-by: Romain Derie (rde) <rde@odoo.com>
This commit is contained in:
@@ -802,15 +802,19 @@ class Web_Editor(http.Controller):
|
||||
try:
|
||||
IrConfigParameter = request.env['ir.config_parameter'].sudo()
|
||||
olg_api_endpoint = IrConfigParameter.get_param('web_editor.olg_api_endpoint', DEFAULT_OLG_ENDPOINT)
|
||||
database_id = IrConfigParameter.get_param('database.uuid')
|
||||
response = iap_tools.iap_jsonrpc(olg_api_endpoint + "/api/olg/1/chat", params={
|
||||
'prompt': prompt,
|
||||
'conversation_history': conversation_history or [],
|
||||
'version': release.version,
|
||||
'database_id': database_id,
|
||||
}, timeout=30)
|
||||
if response['status'] == 'success':
|
||||
return response['content']
|
||||
elif response['status'] == 'error_prompt_too_long':
|
||||
raise UserError(_("Sorry, your prompt is too long. Try to say it in fewer words."))
|
||||
elif response['status'] == 'limit_call_reached':
|
||||
raise UserError(_("You have reached the maximum number of requests for this service. Try again later."))
|
||||
else:
|
||||
raise UserError(_("Sorry, we could not generate a response. Please try again later."))
|
||||
except AccessError:
|
||||
|
||||
@@ -3593,6 +3593,15 @@ msgid ""
|
||||
"screen."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_editor
|
||||
#. odoo-python
|
||||
#: code:addons/web_editor/controllers/main.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have reached the maximum number of requests for this service. Try again "
|
||||
"later."
|
||||
msgstr ""
|
||||
|
||||
#. module: web_editor
|
||||
#. odoo-javascript
|
||||
#: code:addons/web_editor/static/src/xml/snippets.xml:0
|
||||
|
||||
@@ -656,10 +656,12 @@ class Website(models.Model):
|
||||
|
||||
if translated_ratio > 0.8:
|
||||
try:
|
||||
database_id = request.env['ir.config_parameter'].sudo().get_param('database.uuid')
|
||||
response = self._OLG_api_rpc('/api/olg/1/generate_placeholder', {
|
||||
'placeholders': list(generated_content.keys()),
|
||||
'lang': website.default_lang_id.name,
|
||||
'industry': industry,
|
||||
'database_id': database_id,
|
||||
})
|
||||
name_replace_parser = re.compile(r"XXXX", re.MULTILINE)
|
||||
for key in generated_content:
|
||||
|
||||
Reference in New Issue
Block a user