0%

大模型

大模型的相关应用实践模块,如:
FastMCP:构建 MCP Server 和客户端的快速、Pythonic 的方式

概述

  • MCP 协议:Model Context Protocol:LLM 应用访问外部“工具”(执行动作)和“资源”(获取数据)的标准方式

FastMCP

FastMCP:构建 MCP Server 和客户端的快速、Pythonic 的方式

  • 特点:
    • 屏蔽 MCP 协议的底层复杂性,让开发者以 Python 语法和模式,专注于创造真正有价值的功能,而无需在协议处理、Server 管理、内容类型协商等事务上耗费心神。
    • 快速开发:提供高层级接口,开发者不需要处理复杂的协议细节和服务器管理,减少了编写代码的工作量。
    • 简单易用:仅需少量的样板代码即可构建 MCP 服务器,开发者可以通过装饰器的方式,轻松定义工具、资源和提示,大大减少了冗余代码。
    • Pythonic 风格:充分利用了 Python 的语言特性,让代码编写更加符合 Python 的编程习惯。
    • 功能完整:提供对 MCP 核心规范的完整实现,目前核心功能已经能够满足大多数开发需求,并仍处于活跃开发中。
  • 核心组件:
    • 工具(Tools):定义 LLM 可执行的操作(如计算、API 调用),支持同步和异步函数。
    • 资源(Resources):提供结构化数据访问(如配置信息、用户数据),支持动态路径参数。
    • 上下文(Context):内置日志记录、进度报告、资源读取等能力,增强交互控制。
    • 提示(Prompts):可复用交互模板,指导 LLM 更高效地使用工具。
  • 优势:
    • 快速开发:通过高级接口,减少代码量,加速开发。
    • 简洁易用:使用最少的样板代码构建 MCP 服务器。
    • Pythonic:符合 Python 开发者的习惯。
    • 完整实现:全面支持 MCP 核心规范。
  • 使用场景:
    • ai 助手工具集:为 AI 助手提供本地功能扩展。
    • 数据库交互:安全地暴露数据库查询功能。
    • 文件处理:读取和处理本地文件。
    • API 集成:将现有 API 包装为 AI 可用的工具。
    • 智能客服:可以使用 FastMCP 构建服务器,为客服人员提供快速查询知识库、调用数据分析工具等功能
    • 数据分析:通过 FastMCP 将各种数据分析工具集成到 LLM 中,让用户能够更方便地进行数据处理和分析

基本使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# server.py
from fastmcp import FastMCP

# 1. 创建一个 FastMCP 服务器实例
mcp = FastMCP("计算器 Demo")


# 2. 使用 @mcp.tool() 装饰器暴露一个函数作为工具
@mcp.tool()
def add(a: int, b: int) -> int:
"""将两个数字相加"""
return a + b


# 3. (非必要) 使脚本可以直接运行
if __name__ == '__main__':
mcp.run() # 启动服务器

  • 运行
1
2
3
4
5
6
# 开发模式 (推荐用于调试):
fastmcp dev server.py

# 生产模式(直接运行)
python server.py

给博主来一杯卡布奇诺