夏令营参赛

本次暑假参加了Datawhale的夏令营,选择了MCP server方向

这次争取走完整个流程

MCP Server自己搭建

由于之前基本没有搭建MCP server的经验,所以在搭建自己的MCP Server时遇到了不少困难

所幸,Datawhale提供可MCP Server开发助手,借助其实现了自己的简单的MCPServer搭建,同时通过观看之前的学习录像,终于完成了自己的MCP Server的搭建

最后成功上线到了魔搭的创空间

以下是一个极为简易的gradio.app的代码

import gradio as gr

def explain_english_term(english_term: str) -> dict:
    """获取英文文献关键术语的中文解释及相关信息。

    Args:
        english_term (str): 需解释的英文关键术语(如"machine learning"),支持常见学术术语。
        
    Returns:
        dict: 包含术语中文解释、所属领域及文献例句的字典,结构如下:
            - chinese_explanation (str): 术语的中文标准解释;
            - domain (str): 术语所属的学术领域(如"人工智能");
            - example_sentence (dict): 包含英文例句(en)及其中文翻译(zh)的字典。
    """
    # 模拟数据
    term_data = {
        "machine learning": {
            "chinese_explanation": "机器学习",
            "domain": "人工智能",
            "example_sentence": {
                "en": "Machine learning algorithms allow computers to learn from data without explicit programming.",
                "zh": "机器学习算法使计算机能够从数据中学习,而无需显式编程。"
            }
        },
        "quantum computing": {
            "chinese_explanation": "量子计算",
            "domain": "计算机科学",
            "example_sentence": {
                "en": "Quantum computing has the potential to solve problems beyond the reach of classical computers.",
                "zh": "量子计算有潜力解决经典计算机无法解决的问题。"
            }
        }
    }
    
    # 处理输入(忽略大小写)
    normalized_term = english_term.lower().strip()
    if normalized_term in term_data:
        return term_data[normalized_term]
    else:
        return {
            "chinese_explanation": "未找到该术语的解释",
            "domain": "未知领域",
            "example_sentence": {
                "en": "No example sentence found for this term.",
                "zh": "未找到该术语的例句。"
            }
        }

# 构建Gradio接口
demo = gr.Interface(
    fn=explain_english_term,
    inputs=gr.Textbox(label="英文关键术语", placeholder="输入需解释的英文术语,如\"machine learning\""),
    outputs=gr.JSON(label="术语解释结果"),  # 使用JSON组件展示字典结构
    title="英文文献关键术语解释器",
    description="输入英文学术术语,获取其中文解释、所属领域及文献例句(示例数据)。"
)

# 启动MCP服务器(需安装gradio>=4.0)
if __name__ == "__main__":
    demo.launch(mcp_server=True, server_name="0.0.0.0", server_port=7860)

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐