103 lines
2.0 KiB
Python
103 lines
2.0 KiB
Python
from pydantic import BaseModel
|
|
import os
|
|
from enum import Enum
|
|
|
|
class BaseConfig(BaseModel):
|
|
projectInfo:str = os.getenv("PROJECT_TITLE","会话提示消息")
|
|
|
|
def ParamterCfg(self,**args):
|
|
prjItems = args.get('projectInfo')
|
|
questions = os.getenv("CONVERSATION_STARTERS", "dev")
|
|
return{
|
|
"opening_statement": self.projectInfo,
|
|
"suggested_questions": questions.split('\n'),
|
|
"suggested_questions_after_answer": {
|
|
"enabled": False
|
|
},
|
|
"speech_to_text": {
|
|
"enabled": False
|
|
},
|
|
"text_to_speech": {
|
|
"enabled": False,
|
|
"language": "",
|
|
"voice": ""
|
|
},
|
|
"retriever_resource": {
|
|
"enabled": True
|
|
},
|
|
"annotation_reply": {
|
|
"enabled": False
|
|
},
|
|
"more_like_this": {
|
|
"enabled": False
|
|
},
|
|
"user_input_form": [
|
|
{
|
|
"select": {
|
|
"variable": "projectname",
|
|
"label": "\u5de5\u7a0b\u540d\u79f0",
|
|
"type": "select",
|
|
"max_length": 48,
|
|
"required": True,
|
|
"options": prjItems
|
|
}
|
|
}
|
|
],
|
|
"sensitive_word_avoidance": {
|
|
"enabled": False
|
|
},
|
|
"file_upload": {
|
|
"image": {
|
|
"enabled": False,
|
|
"number_limits": 3,
|
|
"transfer_methods": [
|
|
"remote_url"
|
|
]
|
|
}
|
|
},
|
|
"system_parameters": {
|
|
"image_file_size_limit": "10",
|
|
"language": "",
|
|
"voice": "",
|
|
},
|
|
"retriever_resource": {
|
|
"enabled": True
|
|
},
|
|
"annotation_reply": {
|
|
"enabled": False
|
|
},
|
|
"more_like_this": {
|
|
"enabled": False
|
|
},
|
|
}
|
|
|
|
def ConversationCfg(self):
|
|
return{
|
|
"id": "",
|
|
'user_id':'',
|
|
"name": "",
|
|
"inputs": {},
|
|
"status": "normal",
|
|
"introduction": self.projectInfo,
|
|
"created_at":''
|
|
}
|
|
|
|
@classmethod
|
|
def MessageCfg(cls):
|
|
return {
|
|
"id": "",
|
|
'user_id':'',
|
|
"conversation_id": "",
|
|
"inputs": {},
|
|
"query": "",
|
|
"answer": ""
|
|
}
|
|
|
|
|
|
class ChatEventType(str, Enum):
|
|
WORKFLOW_START = "workflow_started"
|
|
WORKFLOW_FINISHED = "workflow_finished"
|
|
NODE_START = "node_started"
|
|
NODE_FINISHED = "node_finished"
|
|
MESSAGE = "message"
|
|
MESSAGE_END = "message_end" |