| | |
| |
|
| | 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() |