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

106 lines
4.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Form View -->
<record id="view_chatgpt_ai_instance_form" model="ir.ui.view">
<field name="name">chatgpt.ai.instance.form</field>
<field name="model">chatgpt.ai.instance</field>
<field name="arch" type="xml">
<form string="ChatGPT-Compatible Instance">
<sheet>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
<h1><field name="name" placeholder="e.g. Production OpenWebUI/ChatGPT"/></h1>
</div>
<group>
<group string="Connection">
<field name="host" placeholder="e.g. http://localhost:8080"/>
<field name="api_key"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="is_default"/>
</group>
<group string="Basic Generation">
<field name="temperature"/>
<field name="top_p"/>
<field name="max_tokens"/>
<field name="presence_penalty"/>
<field name="frequency_penalty"/>
</group>
</group>
<group string="Advanced Settings">
<group>
<field name="stop_sequences" placeholder="e.g. END,STOP,DONE"/>
<field name="timeout"/>
<field name="retry_count"/>
</group>
<group>
<field name="stream_response"/>
</group>
</group>
<group string="Models" attrs="{'invisible': [('id', '=', False)]}">
<field name="model_ids" nolabel="1">
<tree>
<field name="name"/>
<field name="identifier"/>
<field name="version"/>
<field name="description"/>
</tree>
</field>
</group>
</sheet>
</form>
</field>
</record>
<!-- Tree View -->
<record id="view_chatgpt_ai_instance_tree" model="ir.ui.view">
<field name="name">chatgpt.ai.instance.tree</field>
<field name="model">chatgpt.ai.instance</field>
<field name="arch" type="xml">
<tree string="ChatGPT-Compatible Instances">
<field name="name"/>
<field name="host"/>
<field name="is_default"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
</field>
</record>
<!-- Search View -->
<record id="view_chatgpt_ai_instance_search" model="ir.ui.view">
<field name="name">chatgpt.ai.instance.search</field>
<field name="model">chatgpt.ai.instance</field>
<field name="arch" type="xml">
<search string="Search ChatGPT-Compatible Instances">
<field name="name"/>
<field name="host"/>
<field name="company_id" groups="base.group_multi_company"/>
<filter string="Default Instance" name="is_default" domain="[('is_default', '=', True)]"/>
<group expand="0" string="Group By">
<filter string="Company" name="company" context="{'group_by': 'company_id'}" groups="base.group_multi_company"/>
</group>
</search>
</field>
</record>
<!-- Action -->
<record id="action_chatgpt_ai_instance" model="ir.actions.act_window">
<field name="name">ChatGPT-Compatible Instances</field>
<field name="res_model">chatgpt.ai.instance</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create your first ChatGPT-compatible instance
</p>
<p>
Configure instances to connect to ChatGPT-compatible servers (OpenWebUI, ChatGPT, etc).
</p>
</field>
</record>
<!-- Menu Item -->
<menuitem id="menu_chatgpt_ai_instance"
name="ChatGPT-Compatible"
parent="ai_integration.menu_ai_integration_config"
action="action_chatgpt_ai_instance"
sequence="20"/>
</odoo>