fengkaobiguo / test_step_api.py
Yaoliang's picture
Initial commit: 知识库大模型问答系统 - 支持多模型、智能分段、公网访问
90d1485
#!/usr/bin/env python3
"""
测试阶跃API连接
"""
import requests
import json
# 阶跃API配置
STEP_API_KEY = "5LHfDtyA4XFX5ObOqZtIrz0UlOMcYEn2hvy0FQdhT113enLNiLySnSWndOzz75ir4"
BASE_URL = "https://api.stepfun.com/v1"
def test_step_api():
"""测试阶跃API连接"""
headers = {
"Authorization": f"Bearer {STEP_API_KEY}",
"Content-Type": "application/json"
}
# 测试数据
test_data = {
"model": "step-1",
"messages": [
{"role": "user", "content": "你好,请简单回复一下。"}
],
"max_tokens": 100,
"temperature": 0.3
}
# 测试不同的端点
endpoints = [
f"{BASE_URL}/chat/completions",
f"{BASE_URL}/completions",
f"{BASE_URL}/v1/chat/completions",
"https://api.stepfun.com/chat/completions",
"https://api.stepfun.com/v1/chat/completions"
]
print("🔍 开始测试阶跃API连接...")
print(f"API Key: {STEP_API_KEY[:10]}...")
print(f"Base URL: {BASE_URL}")
print("-" * 50)
for i, endpoint in enumerate(endpoints, 1):
print(f"测试端点 {i}: {endpoint}")
try:
response = requests.post(endpoint, headers=headers, json=test_data, timeout=10)
print(f"状态码: {response.status_code}")
if response.status_code == 200:
result = response.json()
print(f"✅ 成功! 响应: {result}")
return True
elif response.status_code == 404:
print("❌ 404 - 端点不存在")
elif response.status_code == 401:
print("❌ 401 - 认证失败,请检查API Key")
elif response.status_code == 403:
print("❌ 403 - 权限不足")
else:
print(f"❌ 错误: {response.text}")
except requests.exceptions.Timeout:
print("⏰ 超时")
except requests.exceptions.ConnectionError:
print("🔌 连接错误")
except Exception as e:
print(f"❌ 异常: {str(e)}")
print("-" * 30)
print("❌ 所有端点测试失败")
return False
def test_file_upload():
"""测试文件上传功能"""
print("\n📁 测试文件上传功能...")
headers = {
"Authorization": f"Bearer {STEP_API_KEY}"
}
# 创建一个测试文件
test_content = "这是一个测试文档,用于验证阶跃API的文件上传功能。"
files = {
"file": ("test.txt", test_content, "text/plain")
}
data = {
"purpose": "file-extract"
}
try:
response = requests.post(f"{BASE_URL}/files", headers=headers, files=files, data=data, timeout=30)
print(f"状态码: {response.status_code}")
if response.status_code == 200:
result = response.json()
print(f"✅ 文件上传成功! 响应: {result}")
return True
else:
print(f"❌ 文件上传失败: {response.text}")
return False
except Exception as e:
print(f"❌ 文件上传异常: {str(e)}")
return False
if __name__ == "__main__":
print("🤖 阶跃API测试工具")
print("=" * 50)
# 测试聊天API
chat_success = test_step_api()
# 测试文件上传
upload_success = test_file_upload()
print("\n" + "=" * 50)
print("📊 测试结果总结:")
print(f"聊天API: {'✅ 成功' if chat_success else '❌ 失败'}")
print(f"文件上传: {'✅ 成功' if upload_success else '❌ 失败'}")
if not chat_success and not upload_success:
print("\n💡 建议:")
print("1. 检查API Key是否正确")
print("2. 检查网络连接")
print("3. 查看阶跃API文档确认正确的端点")
print("4. 确认API Key有足够的权限")