PhysicsCorrection/scripts/check_env_vars.py

150 lines
4.2 KiB
Python

#!/usr/bin/env python3
"""
环境变量检查脚本
检查工作流运行所需的环境变量
"""
import os
from typing import List, Dict, Tuple
def check_env_vars() -> List[Tuple[str, str, str]]:
"""
检查所有相关的环境变量
Returns:
List of (variable_name, status, value_preview)
"""
# 需要检查的环境变量列表
required_vars = [
"COZE_WORKSPACE_PATH",
"COZE_BUCKET_ENDPOINT_URL",
"COZE_BUCKET_NAME",
]
optional_vars = [
"COZE_API_KEY",
"COZE_BASE_URL",
"COZE_API_ENDPOINT",
"PYTHONPATH",
"PATH",
]
results = []
# 检查必需的环境变量
for var in required_vars:
value = os.environ.get(var, "")
if value:
status = "✅ 已设置"
preview = f"{value[:50]}..." if len(value) > 50 else value
else:
status = "❌ 未设置"
preview = "N/A"
results.append((var, status, preview))
# 检查可选的环境变量
for var in optional_vars:
value = os.environ.get(var, "")
if value:
status = "✅ 已设置"
preview = f"{value[:50]}..." if len(value) > 50 else value
else:
status = "⚠️ 未设置(可选)"
preview = "N/A"
results.append((var, status, preview))
return results
def check_llm_client():
"""检查 LLM 客户端配置"""
try:
from coze_coding_dev_sdk import LLMClient
from coze_coding_utils.runtime_ctx.context import new_context
print("\n" + "=" * 80)
print("LLM 客户端测试")
print("=" * 80)
# 尝试创建客户端
try:
ctx = new_context(method="invoke")
client = LLMClient(ctx=ctx)
print("✅ LLM 客户端创建成功")
# 检查客户端配置
if hasattr(client, '_client') and client._client:
print(f"✅ LLM 客户端已初始化")
if hasattr(client._client, 'base_url'):
print(f" Base URL: {client._client.base_url}")
if hasattr(client._client, 'timeout'):
print(f" Timeout: {client._client.timeout}")
return True
except Exception as e:
print(f"❌ LLM 客户端创建失败: {str(e)[:200]}")
return False
except ImportError as e:
print(f"❌ 无法导入 LLM 客户端: {str(e)}")
return False
except Exception as e:
print(f"❌ 检查 LLM 客户端时发生错误: {str(e)[:200]}")
return False
def main():
print("=" * 80)
print("环境变量检查")
print("=" * 80)
print()
results = check_env_vars()
print(f"{'变量名':<40} {'状态':<20} {'值预览'}")
print("-" * 100)
for var, status, preview in results:
print(f"{var:<40} {status:<20} {preview}")
print()
print("=" * 80)
print("总结")
print("=" * 80)
required_missing = [r for r in results if "" in r[1] and "COZE_WORKSPACE_PATH" in r[0]]
if required_missing:
print("\n⚠️ 缺少必需的环境变量:")
for var, _, _ in required_missing:
print(f" - {var}")
print("\n请设置这些环境变量后再运行工作流。")
else:
print("\n✅ 所有必需的环境变量都已设置。")
# 检查 LLM 客户端
check_llm_client()
print()
print("=" * 80)
print("配置建议")
print("=" * 80)
print()
print("如果 LLM 调用失败,请检查以下配置:")
print("1. 确保在 Coze 平台中正确配置了 LLM 服务")
print("2. 检查是否需要设置 API 密钥或认证信息")
print("3. 确认 LLM 服务的端点 URL 是否正确")
print("4. 检查网络连接是否可以访问 LLM 服务")
print()
print("在 Docker 容器中运行时,可能需要添加以下环境变量:")
print(" - COZE_WORKSPACE_PATH: 工作空间路径")
print(" - 其他必要的认证和配置信息")
print()
if __name__ == "__main__":
main()