什么是空白符?

什么是空白符?他对程序的执行有何影响?对程序的可读性有何影响?

空白符指程序中分隔字符和符号的字符,比如空格。编制器将忽略多余的空白符,所以空白符不影响程序的执行。

转载于:https://www.cnblogs.com/q2546/p/9515534.html

### 通过MCP调用Qwen模型或服务的实现方式 #### 1. MCP服务端封装过程 在MCP服务端,需要完成对Qwen模型或服务的封装。以天气查询为例,以下是服务端的核心封装流程[^1]: - **初始化MCP服务**:通过 `mcp = FastMCP("weather_mcp")` 创建一个MCP服务实例。 - **实现业务逻辑**:定义异步函数 `fetch_weather(city)` 调用外部API获取数据,并通过 `format_weather(data)` 格式化返回结果。 - **注册工具函数**:使用装饰器 `@mcp.tool()` 注册工具函数 `query_weather(city: str)`,该函数内部调用 `fetch_weather` 和 `format_weather`。 - **暴露MCP协议接口**:通过 `mcp.run(transport='stdio')` 启动服务,监听标准输入输出作为通信通道。 以下是一个示例代片段: ```python import asyncio from fastmcp import FastMCP mcp = FastMCP("qwen_mcp") async def fetch_qwen_response(prompt: str) -> dict: # 调用Qwen模型API,例如通过HTTP请求 async with aiohttp.ClientSession() as session: async with session.post( "http://localhost:11434/v1", json={"prompt": prompt, "model": "qwen3"}, headers={"Authorization": "Bearer EMPTY"} ) as response: return await response.json() def format_qwen_response(data: dict) -> str: # 格式化Qwen返回的数据为易读文本 return data.get("choices", [{}])[0].get("text", "") @mcp.tool() async def query_qwen(prompt: str) -> str: data = await fetch_qwen_response(prompt) return format_qwen_response(data) if __name__ == "__main__": mcp.run(transport="stdio") ``` #### 2. 客户端调用MCP服务 客户端可以通过标准输入输出(stdio)与MCP服务端进行交互。以下是基于Qwen-Agent的完整调用示例[^2]: - **配置本地Qwen模型**:通过Ollama提供服务,指定模型路径和API地址。 - **定义工具列表**:将MCP服务器和代解释器添加到工具列表中。 - **初始化智能助手**:创建 `Assistant` 实例并传入配置参数。 - **发送消息并获取响应**:通过 `bot.run(messages=messages)` 方法发送用户消息并获取结果。 以下是一个完整的客户端调用示例: ```python from qwen_agent.agents import Assistant # 配置本地Qwen模型 llm_cfg = { 'model': 'qwen3', 'model_server': 'http://localhost:11434/v1', # Ollama API 'api_key': 'EMPTY', } # 定义工具列表 tools = [ {'mcpServers': { 'qwen': { 'command': 'uvx', 'args': ['mcp-server-qwen'] } }}, 'code_interpreter', ] # 初始化智能助手 bot = Assistant(llm=llm_cfg, function_list=tools) # 发送用户消息 messages = [{'role': 'user', 'content': '请告诉我今天的天气如何?'}] # 运行智能助手并打印结果 for responses in bot.run(messages=messages): pass print(responses) ``` #### 3. 其他调用方式 除了通过MCP协议调用Qwen模型外,还可以直接运行SGLang服务器来调用Qwen模型[^3]。以下是一个示例命令: ```bash SGLANG_USE_MODELSCOPE=1 python -m sglang.launch_server --model-path Qwen/Qwen3-32B --reasoning-parser qwen3 ``` #### 4. 数据库操作场景下的MCP调用 在数据库操作场景下,Qwen-Agent可以接入 `mcp-server-sqlite` 服务端[^4],从而实现对SQLite数据库的操作。以下是接入步骤: - **启动MCP服务端**:运行 `mcp-server-sqlite` 并暴露相关接口。 - **配置Qwen-Agent**:将 `mcp-server-sqlite` 添加到工具列表中。 - **发送自然语言指令**:通过Qwen-Agent解析用户指令并调用MCP服务端的功能函数。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值