118 lines
5.1 KiB
XML
118 lines
5.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<!-- Tree View -->
|
|
<record id="view_ai_model_stats_list" model="ir.ui.view">
|
|
<field name="name">ai.model.stats.list</field>
|
|
<field name="model">ai.model.stats</field>
|
|
<field name="arch" type="xml">
|
|
<list string="Model Statistics" create="false">
|
|
<field name="date"/>
|
|
<field name="model_id"/>
|
|
<field name="provider_instance_id"/>
|
|
<field name="version"/>
|
|
<field name="request_count"/>
|
|
<field name="token_count"/>
|
|
<field name="avg_response_time"/>
|
|
<field name="error_count"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Form View -->
|
|
<record id="view_ai_model_stats_form" model="ir.ui.view">
|
|
<field name="name">ai.model.stats.form</field>
|
|
<field name="model">ai.model.stats</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Model Statistics">
|
|
<sheet>
|
|
<group>
|
|
<group>
|
|
<field name="date"/>
|
|
<field name="model_id"/>
|
|
<field name="provider_instance_id"/>
|
|
<field name="version"/>
|
|
</group>
|
|
<group>
|
|
<field name="request_count"/>
|
|
<field name="token_count"/>
|
|
<field name="avg_response_time"/>
|
|
<field name="error_count"/>
|
|
</group>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Search View -->
|
|
<record id="view_ai_model_stats_search" model="ir.ui.view">
|
|
<field name="name">ai.model.stats.search</field>
|
|
<field name="model">ai.model.stats</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Model Statistics">
|
|
<field name="model_id"/>
|
|
<field name="provider_instance_id"/>
|
|
<field name="version"/>
|
|
<field name="date"/>
|
|
<filter string="Today" name="today" domain="[('date','=',context_today().strftime('%Y-%m-%d'))]"/>
|
|
<filter string="Last 7 Days" name="last_week" domain="[('date','>=', (context_today() - datetime.timedelta(days=7)).strftime('%Y-%m-%d'))]"/>
|
|
<filter string="Last 30 Days" name="last_month" domain="[('date','>=', (context_today() - datetime.timedelta(days=30)).strftime('%Y-%m-%d'))]"/>
|
|
<group expand="0" string="Group By">
|
|
<filter string="Model" name="group_by_model" context="{'group_by': 'model_id'}"/>
|
|
<filter string="Provider Instance" name="group_by_provider" context="{'group_by': 'provider_instance_id'}"/>
|
|
<filter string="Version" name="group_by_version" context="{'group_by': 'version'}"/>
|
|
<filter string="Date" name="group_by_date" context="{'group_by': 'date'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Graph View -->
|
|
<record id="view_ai_model_stats_graph" model="ir.ui.view">
|
|
<field name="name">ai.model.stats.graph</field>
|
|
<field name="model">ai.model.stats</field>
|
|
<field name="arch" type="xml">
|
|
<graph string="Model Statistics" type="line" sample="1">
|
|
<field name="date" type="row"/>
|
|
<field name="request_count" type="measure"/>
|
|
<field name="token_count" type="measure"/>
|
|
<field name="error_count" type="measure"/>
|
|
</graph>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Pivot View -->
|
|
<record id="view_ai_model_stats_pivot" model="ir.ui.view">
|
|
<field name="name">ai.model.stats.pivot</field>
|
|
<field name="model">ai.model.stats</field>
|
|
<field name="arch" type="xml">
|
|
<pivot string="Model Statistics" sample="1">
|
|
<field name="model_id" type="row"/>
|
|
<field name="provider_instance_id" type="row"/>
|
|
<field name="date" type="col"/>
|
|
<field name="request_count" type="measure"/>
|
|
<field name="token_count" type="measure"/>
|
|
<field name="avg_response_time" type="measure"/>
|
|
<field name="error_count" type="measure"/>
|
|
</pivot>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Action -->
|
|
<record id="action_ai_model_stats" model="ir.actions.act_window">
|
|
<field name="name">Model Statistics</field>
|
|
<field name="res_model">ai.model.stats</field>
|
|
<field name="view_mode">list,form,graph,pivot</field>
|
|
<field name="context">{'search_default_last_month': 1}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
No statistics recorded yet
|
|
</p>
|
|
<p>
|
|
Statistics will be automatically recorded as you use your AI models.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
|
|
</odoo>
|