106 lines
4.6 KiB
XML
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>
|