增加token发问限制,api要求

This commit is contained in:
ivan deng
2023-04-27 22:54:56 +08:00
parent adbf5edcf5
commit d3c1e3ebe6
3 changed files with 20 additions and 5 deletions

View File

@@ -149,6 +149,7 @@ GPT-3 A set of models that can understand and generate natural language
# openai 格式处理
usage = res['usage']
content = res['choices'][0]['message']['content']
# _logger.warning('===========Ai响应:%s' % content)
else:
# azure 格式
usage = json.loads(json.dumps(res['usage']))
@@ -298,7 +299,7 @@ GPT-3 A set of models that can understand and generate natural language
except Exception as e:
_logger.warning("Get Response Json failed: %s", e)
else:
_logger.warning('=====================Openai output data: %s' % response)
_logger.warning('=====================Openai output data: %s' % response.json())
elif self.ai_model == 'dall-e2':
# todo: 处理 图像引擎,主要是返回参数到聊天中
# image_url = response['data'][0]['url']
@@ -378,7 +379,7 @@ GPT-3 A set of models that can understand and generate natural language
if 'choices' in response:
return response
else:
_logger.warning('=====================azure output data: %s' % response)
_logger.warning('=====================azure output data: %s' % response.json())
return _("Response Timeout, please speak again.")
@api.onchange('provider')

View File

@@ -197,9 +197,10 @@ class Channel(models.Model):
if c_history:
messages += c_history
messages.append({"role": "user", "content": msg})
# msg_len = sum(len(str(m)) for m in messages)
# if msg_len * 2 >= 2049:
# messages = [{"role": "user", "content": msg}]
msg_len = sum(len(str(m)) for m in messages)
# 接口最大接收 8430 Token
if msg_len * 2 >= 8000:
messages = [{"role": "user", "content": msg}]
if sync_config == 'sync':
self.get_ai_response(ai, messages, channel, user_id, message)
else:

View File

@@ -23,4 +23,17 @@
</xpath>
</field>
</record>
<!-- search-->
<record id="app_view_users_search" model="ir.ui.view">
<field name="name">app.res.users.search</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_search"/>
<field name="arch" type="xml">
<xpath expr="//filter[@name='filter_no_share']" position="before">
<filter name="is_robot" string="Ai User" domain="[('gpt_id','!=',False)]"/>
<filter name="not_robot" string="Not Ai" domain="[('gpt_id','=',False)]"/>
<separator/>
</xpath>
</field>
</record>
</odoo>