# run_qwen_mysql_agent.py import os from qwen_agent.agents import Assistant from qwen_agent.utils.output_beautify import typewriter_print # 1. 选定 LLM(示例用 DashScope 云端,替换为你自己的即可) llm_cfg = { 'model': 'qwen3-8b', # Use the endpoint provided by Alibaba Model Studio: # 'model_type': 'qwen_dashscope', # 'api_key': os.getenv('DASHSCOPE_API_KEY'), # Use a custom endpoint compatible with OpenAI API: 'model_server': 'https://dashscope.aliyuncs.com/compatible-mode/v1', # api_base 'api_key': 'sk-5d90a63c1e784e8f801dee65add68867', # Other parameters: # 'generate_cfg': { # # Add: When the response content is `this is the thoughtthis is the answer; # # Do not add: When the response has been separated by reasoning_content and content. # 'thought_in_content': True, # }, } # 2. 描述可用工具 —— 这里挂载刚启动的 MySQL‑MCP Server tools = [{ "mcpServers": { "mysql": { "command": "uv", "args": [ "--directory", "/home/ubuntu/.mcp", "run", "mysql_mcp_server" ], "env": { "MYSQL_HOST": "localhost", "MYSQL_PORT": "23306", "MYSQL_USER": "mcpuser", "MYSQL_PASSWORD": "StrongPass123!", "MYSQL_DATABASE": "magentodb" } } } }] # 3. 创建智能体 bot = Assistant( llm=llm_cfg, function_list=tools, ) # 4. 运行示例 —— 用自然语言问数据库 messages = [{ "role": "user", "content": "数据库里 catalog_product_entity_varchar 表有多少条记录?同时请展示前 5 行。" }] response_plain_text = '' for responses in bot.run(messages=messages, stream=True): # stream=True 将逐步打印 LLM 思考与结果 response_plain_text = typewriter_print(responses, response_plain_text) print(responses[-1]["content"])