mirror of
https://github.com/langgenius/dify.git
synced 2026-05-06 10:28:10 +08:00
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: jyong <718720800@qq.com> Co-authored-by: Yansong Zhang <916125788@qq.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: hj24 <mambahj24@gmail.com> Co-authored-by: hj24 <huangjian@dify.ai> Co-authored-by: Joel <iamjoel007@gmail.com> Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com> Co-authored-by: CodingOnStar <hanxujiang@dify.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: 非法操作 <hjlarry@163.com> Co-authored-by: Ayush Baluni <73417844+aayushbaluni@users.noreply.github.com> Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com> Co-authored-by: jimcody1995 <jjimcody@gmail.com> Co-authored-by: James <63717587+jamesrayammons@users.noreply.github.com> Co-authored-by: Yunlu Wen <yunlu.wen@dify.ai> Co-authored-by: Stephen Zhou <hi@hyoban.cc> Co-authored-by: Coding On Star <447357187@qq.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: jerryzai <jerryzh8710@protonmail.com> Co-authored-by: NVIDIAN <speedy.hpc@hotmail.com> Co-authored-by: ai-hpc <ai-hpc@users.noreply.github.com> Co-authored-by: Asuka Minato <i@asukaminato.eu.org> Co-authored-by: Junghwan <70629228+shaun0927@users.noreply.github.com> Co-authored-by: HeYinKazune <70251095+HeYin-OS@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: yyh <yuanyouhuilyz@gmail.com> Co-authored-by: Jingyi <jingyi.qi@dify.ai> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: sxxtony <166789813+sxxtony@users.noreply.github.com>
60 lines
1.7 KiB
Python
60 lines
1.7 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from pydantic import BaseModel, ConfigDict, computed_field
|
|
|
|
from graphon.file import helpers as file_helpers
|
|
from models.model import IconType
|
|
|
|
type JSONValue = str | int | float | bool | None | dict[str, Any] | list[Any]
|
|
type JSONObject = dict[str, Any]
|
|
|
|
|
|
class SystemParameters(BaseModel):
|
|
image_file_size_limit: int
|
|
video_file_size_limit: int
|
|
audio_file_size_limit: int
|
|
file_size_limit: int
|
|
workflow_file_upload_limit: int
|
|
|
|
|
|
class Parameters(BaseModel):
|
|
opening_statement: str | None = None
|
|
suggested_questions: list[str]
|
|
suggested_questions_after_answer: JSONObject
|
|
speech_to_text: JSONObject
|
|
text_to_speech: JSONObject
|
|
retriever_resource: JSONObject
|
|
annotation_reply: JSONObject
|
|
more_like_this: JSONObject
|
|
user_input_form: list[JSONObject]
|
|
sensitive_word_avoidance: JSONObject
|
|
file_upload: JSONObject
|
|
system_parameters: SystemParameters
|
|
|
|
|
|
class Site(BaseModel):
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
title: str
|
|
chat_color_theme: str | None = None
|
|
chat_color_theme_inverted: bool
|
|
icon_type: str | None = None
|
|
icon: str | None = None
|
|
icon_background: str | None = None
|
|
description: str | None = None
|
|
copyright: str | None = None
|
|
privacy_policy: str | None = None
|
|
custom_disclaimer: str | None = None
|
|
default_language: str
|
|
show_workflow_steps: bool
|
|
use_icon_as_answer_icon: bool
|
|
|
|
@computed_field(return_type=str | None) # type: ignore
|
|
@property
|
|
def icon_url(self) -> str | None:
|
|
if self.icon and self.icon_type == IconType.IMAGE:
|
|
return file_helpers.get_signed_file_url(self.icon)
|
|
return None
|