150 lines
4.2 KiB
Python
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()
|