|
from flask_restful import fields |
|
|
|
from fields.workflow_fields import workflow_partial_fields |
|
from libs.helper import AppIconUrlField, TimestampField |
|
|
|
app_detail_kernel_fields = { |
|
"id": fields.String, |
|
"name": fields.String, |
|
"description": fields.String, |
|
"mode": fields.String(attribute="mode_compatible_with_agent"), |
|
"icon_type": fields.String, |
|
"icon": fields.String, |
|
"icon_background": fields.String, |
|
"icon_url": AppIconUrlField, |
|
} |
|
|
|
related_app_list = { |
|
"data": fields.List(fields.Nested(app_detail_kernel_fields)), |
|
"total": fields.Integer, |
|
} |
|
|
|
model_config_fields = { |
|
"opening_statement": fields.String, |
|
"suggested_questions": fields.Raw(attribute="suggested_questions_list"), |
|
"suggested_questions_after_answer": fields.Raw(attribute="suggested_questions_after_answer_dict"), |
|
"speech_to_text": fields.Raw(attribute="speech_to_text_dict"), |
|
"text_to_speech": fields.Raw(attribute="text_to_speech_dict"), |
|
"retriever_resource": fields.Raw(attribute="retriever_resource_dict"), |
|
"annotation_reply": fields.Raw(attribute="annotation_reply_dict"), |
|
"more_like_this": fields.Raw(attribute="more_like_this_dict"), |
|
"sensitive_word_avoidance": fields.Raw(attribute="sensitive_word_avoidance_dict"), |
|
"external_data_tools": fields.Raw(attribute="external_data_tools_list"), |
|
"model": fields.Raw(attribute="model_dict"), |
|
"user_input_form": fields.Raw(attribute="user_input_form_list"), |
|
"dataset_query_variable": fields.String, |
|
"pre_prompt": fields.String, |
|
"agent_mode": fields.Raw(attribute="agent_mode_dict"), |
|
"prompt_type": fields.String, |
|
"chat_prompt_config": fields.Raw(attribute="chat_prompt_config_dict"), |
|
"completion_prompt_config": fields.Raw(attribute="completion_prompt_config_dict"), |
|
"dataset_configs": fields.Raw(attribute="dataset_configs_dict"), |
|
"file_upload": fields.Raw(attribute="file_upload_dict"), |
|
"created_by": fields.String, |
|
"created_at": TimestampField, |
|
"updated_by": fields.String, |
|
"updated_at": TimestampField, |
|
} |
|
|
|
app_detail_fields = { |
|
"id": fields.String, |
|
"name": fields.String, |
|
"description": fields.String, |
|
"mode": fields.String(attribute="mode_compatible_with_agent"), |
|
"icon": fields.String, |
|
"icon_background": fields.String, |
|
"enable_site": fields.Boolean, |
|
"enable_api": fields.Boolean, |
|
"model_config": fields.Nested(model_config_fields, attribute="app_model_config", allow_null=True), |
|
"workflow": fields.Nested(workflow_partial_fields, allow_null=True), |
|
"tracing": fields.Raw, |
|
"use_icon_as_answer_icon": fields.Boolean, |
|
"created_by": fields.String, |
|
"created_at": TimestampField, |
|
"updated_by": fields.String, |
|
"updated_at": TimestampField, |
|
} |
|
|
|
prompt_config_fields = { |
|
"prompt_template": fields.String, |
|
} |
|
|
|
model_config_partial_fields = { |
|
"model": fields.Raw(attribute="model_dict"), |
|
"pre_prompt": fields.String, |
|
"created_by": fields.String, |
|
"created_at": TimestampField, |
|
"updated_by": fields.String, |
|
"updated_at": TimestampField, |
|
} |
|
|
|
tag_fields = {"id": fields.String, "name": fields.String, "type": fields.String} |
|
|
|
app_partial_fields = { |
|
"id": fields.String, |
|
"name": fields.String, |
|
"max_active_requests": fields.Raw(), |
|
"description": fields.String(attribute="desc_or_prompt"), |
|
"mode": fields.String(attribute="mode_compatible_with_agent"), |
|
"icon_type": fields.String, |
|
"icon": fields.String, |
|
"icon_background": fields.String, |
|
"icon_url": AppIconUrlField, |
|
"model_config": fields.Nested(model_config_partial_fields, attribute="app_model_config", allow_null=True), |
|
"workflow": fields.Nested(workflow_partial_fields, allow_null=True), |
|
"use_icon_as_answer_icon": fields.Boolean, |
|
"created_by": fields.String, |
|
"created_at": TimestampField, |
|
"updated_by": fields.String, |
|
"updated_at": TimestampField, |
|
"tags": fields.List(fields.Nested(tag_fields)), |
|
} |
|
|
|
|
|
app_pagination_fields = { |
|
"page": fields.Integer, |
|
"limit": fields.Integer(attribute="per_page"), |
|
"total": fields.Integer, |
|
"has_more": fields.Boolean(attribute="has_next"), |
|
"data": fields.List(fields.Nested(app_partial_fields), attribute="items"), |
|
} |
|
|
|
template_fields = { |
|
"name": fields.String, |
|
"icon": fields.String, |
|
"icon_background": fields.String, |
|
"description": fields.String, |
|
"mode": fields.String, |
|
"model_config": fields.Nested(model_config_fields), |
|
} |
|
|
|
template_list_fields = { |
|
"data": fields.List(fields.Nested(template_fields)), |
|
} |
|
|
|
site_fields = { |
|
"access_token": fields.String(attribute="code"), |
|
"code": fields.String, |
|
"title": fields.String, |
|
"icon_type": fields.String, |
|
"icon": fields.String, |
|
"icon_background": fields.String, |
|
"icon_url": AppIconUrlField, |
|
"description": fields.String, |
|
"default_language": fields.String, |
|
"chat_color_theme": fields.String, |
|
"chat_color_theme_inverted": fields.Boolean, |
|
"customize_domain": fields.String, |
|
"copyright": fields.String, |
|
"privacy_policy": fields.String, |
|
"custom_disclaimer": fields.String, |
|
"customize_token_strategy": fields.String, |
|
"prompt_public": fields.Boolean, |
|
"app_base_url": fields.String, |
|
"show_workflow_steps": fields.Boolean, |
|
"use_icon_as_answer_icon": fields.Boolean, |
|
"created_by": fields.String, |
|
"created_at": TimestampField, |
|
"updated_by": fields.String, |
|
"updated_at": TimestampField, |
|
} |
|
|
|
app_detail_fields_with_site = { |
|
"id": fields.String, |
|
"name": fields.String, |
|
"description": fields.String, |
|
"mode": fields.String(attribute="mode_compatible_with_agent"), |
|
"icon_type": fields.String, |
|
"icon": fields.String, |
|
"icon_background": fields.String, |
|
"icon_url": AppIconUrlField, |
|
"enable_site": fields.Boolean, |
|
"enable_api": fields.Boolean, |
|
"model_config": fields.Nested(model_config_fields, attribute="app_model_config", allow_null=True), |
|
"workflow": fields.Nested(workflow_partial_fields, allow_null=True), |
|
"site": fields.Nested(site_fields), |
|
"api_base_url": fields.String, |
|
"use_icon_as_answer_icon": fields.Boolean, |
|
"created_by": fields.String, |
|
"created_at": TimestampField, |
|
"updated_by": fields.String, |
|
"updated_at": TimestampField, |
|
"deleted_tools": fields.List(fields.String), |
|
} |
|
|
|
app_site_fields = { |
|
"app_id": fields.String, |
|
"access_token": fields.String(attribute="code"), |
|
"code": fields.String, |
|
"title": fields.String, |
|
"icon": fields.String, |
|
"icon_background": fields.String, |
|
"description": fields.String, |
|
"default_language": fields.String, |
|
"customize_domain": fields.String, |
|
"copyright": fields.String, |
|
"privacy_policy": fields.String, |
|
"custom_disclaimer": fields.String, |
|
"customize_token_strategy": fields.String, |
|
"prompt_public": fields.Boolean, |
|
"show_workflow_steps": fields.Boolean, |
|
"use_icon_as_answer_icon": fields.Boolean, |
|
} |
|
|