PhysicsCorrection/test_llm_connection.sh

108 lines
2.8 KiB
Bash

#!/bin/bash
# ============================================
# LLM连接测试脚本
# ============================================
echo "======================================"
echo " LLM 连接测试"
echo "======================================"
echo ""
# 检查环境变量
if [ -z "$LLM_API_KEY" ]; then
echo "❌ 错误: LLM_API_KEY 未设置"
echo ""
echo "请先设置环境变量:"
echo " export LLM_API_KEY='your-api-key'"
echo " export LLM_BASE_URL='https://ark.cn-beijing.volces.com/api/v3'"
echo " export LLM_MODEL_NAME='doubao-seed-2-0-pro-260215'"
exit 1
fi
if [ -z "$LLM_BASE_URL" ]; then
echo "⚠️ 警告: LLM_BASE_URL 未设置,使用默认值"
export LLM_BASE_URL="https://ark.cn-beijing.volces.com/api/v3"
fi
if [ -z "$LLM_MODEL_NAME" ]; then
echo "⚠️ 警告: LLM_MODEL_NAME 未设置,使用默认值"
export LLM_MODEL_NAME="doubao-seed-2-0-pro-260215"
fi
echo "✅ 环境变量已设置"
echo " - LLM_API_KEY: ${LLM_API_KEY:0:10}..."
echo " - LLM_BASE_URL: $LLM_BASE_URL"
echo " - LLM_MODEL_NAME: $LLM_MODEL_NAME"
echo ""
# 测试LLM连接
echo "正在测试 LLM 连接..."
echo ""
python3 << 'EOF'
import os
import sys
try:
from openai import OpenAI
api_key = os.getenv("LLM_API_KEY")
base_url = os.getenv("LLM_BASE_URL")
model_name = os.getenv("LLM_MODEL_NAME")
print(f"正在连接到: {base_url}")
print(f"使用模型: {model_name}")
print("")
client = OpenAI(
api_key=api_key,
base_url=base_url
)
print("发送测试请求...")
response = client.chat.completions.create(
model=model_name,
messages=[
{"role": "user", "content": "你好,请回复'测试成功'"}
],
max_tokens=50
)
if response.choices and len(response.choices) > 0:
content = response.choices[0].message.content
print("")
print("✅ LLM 连接成功!")
print(f" 响应: {content}")
print("")
sys.exit(0)
else:
print("❌ LLM 响应为空")
sys.exit(1)
except Exception as e:
print(f"❌ LLM 连接失败: {e}")
print("")
print("可能的原因:")
print(" 1. API Key 无效")
print(" 2. Base URL 错误")
print(" 3. 模型名称错误")
print(" 4. 网络连接问题")
print(" 5. API 配额不足")
sys.exit(1)
EOF
if [ $? -eq 0 ]; then
echo "======================================"
echo " ✅ 测试完成"
echo "======================================"
echo ""
echo "下一步:"
echo " 启动服务: bash scripts/http_run.sh -p 8000"
else
echo "======================================"
echo " ❌ 测试失败"
echo "======================================"
exit 1
fi