bemade-addons/ai_integration/views/ai_model_stats_views.xml
2025-05-29 21:35:47 -04:00

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>