danjung9's picture
Update config.py
3e96c9b verified
import os
from modelscope_studio.components.pro.chatbot import ChatbotActionConfig, ChatbotBotConfig, ChatbotUserConfig, ChatbotWelcomeConfig
# Env
api_key = os.getenv('OPENROUTER_API_KEY')
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
ASSETS_DIR = os.path.join(BASE_DIR, "assets")
QWEN_LOGO_PATH = os.path.join(ASSETS_DIR, "requirementsassistant.png")
# Save history in browser
save_history = True
# Chatbot Config
def user_config(disabled_actions=None):
return ChatbotUserConfig(
class_names=dict(content="user-message-content"),
actions=[
"copy", "edit",
ChatbotActionConfig(
action="delete",
popconfirm=dict(title="Delete the message",
description="Are you sure to delete this message?",
okButtonProps=dict(danger=True)))
],
disabled_actions=disabled_actions)
def bot_config(disabled_actions=None):
return ChatbotBotConfig(actions=[
"copy", "edit",
ChatbotActionConfig(
action="retry",
popconfirm=dict(
title="Regenerate the message",
description="Regenerate the message will also delete all subsequent messages.",
okButtonProps=dict(danger=True))),
ChatbotActionConfig(action="delete",
popconfirm=dict(
title="Delete the message",
description="Are you sure to delete this message?",
okButtonProps=dict(danger=True)))
],
avatar=QWEN_LOGO_PATH,
disabled_actions=disabled_actions)
def welcome_config():
return ChatbotWelcomeConfig(
variant="borderless",
icon=QWEN_LOGO_PATH,
title="Hello, I'm Requirements Assistant",
description="Upload your requirements document and ask a question. I will help show compliance information.",
prompts=dict(
title="How can I help you today?",
styles={
"list": {
"width": '100%',
},
"item": {
"flex": 1,
},
},
items=[{
"label":
"Check Requirements",
"children": [{
"description": "What are lighting requirements when using intermediate or wet-weather tyres?",
}, {
"description": "When using intermediate or wet-weather tyres in a race without a safety car, what are the regulations for the lights?",
}, {
"description": "When there is a safety car during a race, when should lapped cars unlap themselves?",
}]
}]),
)
DEFAULT_SUGGESTIONS = [{
"label": "Requirements help",
"value": "Requirements help",
"children": [{
"label": "Summarize spec",
"value": "Summarize the uploaded requirements document and list the key deliverables."
}, {
"label": "Find gaps",
"value": "Identify ambiguities, gaps, or missing details in the requirements."
}, {
"label": "Clarifying questions",
"value": "Draft clarifying questions for the product owner based on the spec."
}]
}, {
"label": "Generate outputs",
"value": "Generate outputs",
"children": [{
"label": "Jira ticket",
"value": "Create a Jira-style ticket with summary, scope, acceptance criteria, and risks."
}, {
"label": "Compliance matrix",
"value": "Generate a compliance matrix mapping requirements to tests or standards."
}, {
"label": "Risk/assumptions",
"value": "List risks, assumptions, and dependencies for this requirement."
}]
}]
DEFAULT_SYS_PROMPT = "You are a helpful and harmless assistant."
MIN_THINKING_BUDGET = 1
MAX_THINKING_BUDGET = 38
DEFAULT_THINKING_BUDGET = 38
DEFAULT_LOCALE = 'en_US'
DEFAULT_THEME = {
"token": {
"colorPrimary": "#6A57FF",
}
}
DEFAULT_SETTINGS = {
"sys_prompt": DEFAULT_SYS_PROMPT,
"uploaded_file": None,
}