MCP_Playground / config.py
Aabbhishekk's picture
Upload 12 files
3310c6d verified
import json
import os
from modelscope_studio.components.pro.chatbot import ChatbotWelcomeConfig, ChatbotUserConfig, ChatbotBotConfig, ChatbotActionConfig
max_mcp_server_count = 10
default_mcp_config = json.dumps({"mcpServers": {}},
indent=4,
ensure_ascii=False)
default_sys_prompt = "You are a helpful assistant."
# for internal
default_mcp_prompts = {
# "arxiv": ["查找最新的5篇关于量子计算的论文并简要总结", "根据当前时间,找到近期关于大模型的论文,得到研究趋势"],
"高德地图": ["北京今天天气怎么样", "基于今天的天气,帮我规划一条从北京到杭州的路线"],
"time": ["帮我查一下北京时间", "现在是北京时间 2025-04-01 12:00:00,对应的美西时间是多少?"],
"fetch":
["从中国新闻网获取最新的新闻", "获取 https://www.example.com 的内容,并提取为Markdown格式"],
}
# for internal
default_mcp_servers = [{
"name": mcp_name,
"enabled": True,
"internal": True
} for mcp_name in default_mcp_prompts.keys()]
bot_avatars = {
"Qwen":
os.path.join(os.path.dirname(__file__), "./assets/qwen.png"),
"QwQ":
os.path.join(os.path.dirname(__file__), "./assets/qwen.png"),
"LLM-Research":
os.path.join(os.path.dirname(__file__), "./assets/meta.webp"),
"deepseek-ai":
os.path.join(os.path.dirname(__file__), "./assets/deepseek.png"),
}
mcp_prompt_model = "Qwen/Qwen2.5-72B-Instruct"
model_options = [
{
"label": "Qwen3-235B-A22B",
"value": "Qwen/Qwen3-235B-A22B",
"model_params": {
"extra_body": {
"enable_thinking": False,
}
},
"tag": {
"label": "正常模式",
"color": "#54C1FA"
}
},
{
"label": "Qwen3-235B-A22B",
"value": "Qwen/Qwen3-235B-A22B:thinking",
"thought": True,
"model_params": {
"extra_body": {
"enable_thinking": True,
}
},
"tag": {
"label": "深度思考",
"color": "#36CFD1"
}
},
{
"label": "Qwen3-32B",
"value": "Qwen/Qwen3-32B",
"model_params": {
"extra_body": {
"enable_thinking": False,
}
},
"tag": {
"label": "正常模式",
"color": "#54C1FA"
}
},
{
"label": "Qwen3-32B",
"value": "Qwen/Qwen3-32B:thinking",
"thought": True,
"model_params": {
"extra_body": {
"enable_thinking": True,
}
},
"tag": {
"label": "深度思考",
"color": "#36CFD1"
}
},
{
"label": "Qwen2.5-72B-Instruct",
"value": "Qwen/Qwen2.5-72B-Instruct"
},
{
"label": "DeepSeek-V3-0324",
"value": "deepseek-ai/DeepSeek-V3-0324",
},
{
"label": "Llama-4-Maverick-17B-128E-Instruct",
"value": "LLM-Research/Llama-4-Maverick-17B-128E-Instruct",
},
{
"label": "QwQ-32B",
"value": "Qwen/QwQ-32B",
"thought": True,
"tag": {
"label": "推理模型",
"color": "#624AFF"
}
},
]
model_options_map = {model["value"]: model for model in model_options}
primary_color = "#816DF8"
default_locale = 'zh_CN'
default_theme = {"token": {"colorPrimary": primary_color}}
def user_config(disabled_actions=None):
return ChatbotUserConfig(actions=[
"copy", "edit",
ChatbotActionConfig(action='delete',
popconfirm=dict(title="删除消息",
description="确认删除该消息?",
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="重新生成消息",
description="重新生成消息会删除所有后续消息。",
okButtonProps=dict(danger=True))),
ChatbotActionConfig(action='delete',
popconfirm=dict(title="删除消息",
description="确认删除该消息?",
okButtonProps=dict(danger=True)))
],
disabled_actions=disabled_actions)
def welcome_config(prompts: dict, loading=False):
return ChatbotWelcomeConfig(
icon="./assets/mcp.png",
title="ModelScope MCP 实验场",
styles=dict(icon=dict(borderRadius="50%", overflow="hidden")),
description="调用 MCP 工具以拓展模型能力",
prompts=dict(title="用例生成中..." if loading else None,
wrap=True,
styles=dict(item=dict(flex='1 0 200px')),
items=[{
"label":
mcp_name,
"children": [{
"description": prompt
} for prompt in prompts]
} for mcp_name, prompts in prompts.items()]))