| |
|
|
| import json |
| import requests |
|
|
| |
| API_BASE = "http://localhost:8080" |
| API_KEY = "sk-your-api-key" |
|
|
| def test_weather_query(): |
| """测试天气查询""" |
| print("=" * 50) |
| print("上海天气查询测试") |
| print("=" * 50) |
| |
| |
| tool = { |
| "type": "function", |
| "function": { |
| "name": "get_weather", |
| "description": "查询指定城市的天气信息", |
| "parameters": { |
| "type": "object", |
| "properties": { |
| "city": {"type": "string", "description": "城市名称"}, |
| "date": {"type": "string", "description": "查询日期(可选)"} |
| }, |
| "required": ["city"] |
| } |
| } |
| } |
| |
| |
| headers = { |
| "Content-Type": "application/json", |
| "Authorization": f"Bearer {API_KEY}" |
| } |
| |
| data = { |
| "model": "GLM-4.5", |
| "messages": [ |
| {"role": "user", "content": "查询上海2025年9月3日的天气"} |
| ], |
| "tools": [tool] |
| } |
| |
| print("\n发送请求...") |
| response = requests.post(f"{API_BASE}/v1/chat/completions", |
| headers=headers, |
| json=data) |
| |
| if response.status_code == 200: |
| result = response.json() |
| message = result["choices"][0]["message"] |
| |
| print("\n模型响应:") |
| if message.get("tool_calls"): |
| print("检测到工具调用:") |
| for tc in message["tool_calls"]: |
| print(f" - 工具: {tc['function']['name']}") |
| print(f" - 参数: {tc['function']['arguments']}") |
| else: |
| print("未检测到工具调用") |
| print(f"内容: {message.get('content', '无内容')[:100]}...") |
| else: |
| print(f"请求失败: {response.status_code}") |
| print(f"错误信息: {response.text}") |
|
|
| if __name__ == "__main__": |
| test_weather_query() |