#!/usr/bin/env python3 """ Environment setup script for OpenAI API configuration """ import os import sys def check_openai_config(): """Check current OpenAI configuration""" print("🔍 检查当前OpenAI配置") print("-" * 40) api_key = os.getenv("OPENAI_API_KEY") base_url = os.getenv("OPENAI_BASE_URL", "https://api.openai.com/v1") model = os.getenv("OPENAI_MODEL", "gpt-4o-mini") print(f"🔑 OPENAI_API_KEY: {'✅ 已设置' if api_key else '❌ 未设置'}") print(f"🌐 OPENAI_BASE_URL: {base_url}") print(f"🤖 OPENAI_MODEL: {model}") if api_key: # 隐藏API key的大部分内容,只显示前4位和后4位 masked_key = f"{api_key[:4]}...{api_key[-4:]}" if len(api_key) > 8 else "***" print(f" (API Key: {masked_key})") return True else: return False def show_setup_guide(): """显示设置指南""" print("\n🚀 OpenAI API 设置指南") print("=" * 50) print("1. 获取OpenAI API Key:") print(" • 访问: https://platform.openai.com/api-keys") print(" • 登录或注册OpenAI账户") print(" • 点击 'Create new secret key'") print(" • 复制生成的API key") print("\n2. 设置环境变量:") if sys.platform.startswith('win'): print(" Windows (Command Prompt):") print(" set OPENAI_API_KEY=your_api_key_here") print(" Windows (PowerShell):") print(" $env:OPENAI_API_KEY=\"your_api_key_here\"") else: print(" macOS/Linux:") print(" export OPENAI_API_KEY=your_api_key_here") print("\n3. 可选配置:") print(" • 自定义API基础URL (如果使用代理或其他OpenAI兼容服务):") if sys.platform.startswith('win'): print(" set OPENAI_BASE_URL=https://your-proxy.com/v1") else: print(" export OPENAI_BASE_URL=https://your-proxy.com/v1") print(" • 自定义模型 (默认: gpt-4o-mini):") if sys.platform.startswith('win'): print(" set OPENAI_MODEL=gpt-3.5-turbo") else: print(" export OPENAI_MODEL=gpt-3.5-turbo") print("\n4. 重启应用:") print(" python app.py") def show_cost_info(): """显示费用信息""" print("\n💰 OpenAI API 费用说明") print("=" * 30) print("• gpt-4o-mini (推荐):") print(" - 输入: $0.15/1M tokens") print(" - 输出: $0.60/1M tokens") print("• gpt-3.5-turbo:") print(" - 输入: $0.50/1M tokens") print(" - 输出: $1.50/1M tokens") print("• gpt-4:") print(" - 输入: $30.00/1M tokens") print(" - 输出: $60.00/1M tokens") print("\n📊 预估使用量:") print("• 每次challenge评分查询: ~100-200 tokens") print("• 每次计划生成: ~200-300 tokens") print("• 预计每1000次查询成本: $0.02-0.10 (使用gpt-4o-mini)") def show_troubleshooting(): """显示故障排除指南""" print("\n🔧 故障排除") print("=" * 20) print("如果遇到问题:") print("1. 确认API key正确设置且有效") print("2. 检查网络连接") print("3. 确认OpenAI账户有足够余额") print("4. 如果使用代理,确认OPENAI_BASE_URL正确") print("5. 查看应用日志中的详细错误信息") def create_env_file(): """创建.env文件示例""" env_content = """# OpenAI API Configuration # 在此处设置您的OpenAI API Key OPENAI_API_KEY=your_api_key_here # 可选: 自定义API基础URL (用于代理或其他兼容服务) # OPENAI_BASE_URL=https://api.openai.com/v1 # 可选: 自定义模型 (默认: gpt-4o-mini) # OPENAI_MODEL=gpt-4o-mini """ try: with open('.env.example', 'w', encoding='utf-8') as f: f.write(env_content) print("✅ 已创建 .env.example 文件") print(" 请复制为 .env 并填入您的API key") except Exception as e: print(f"❌ 创建 .env.example 失败: {e}") def main(): print("🤖 AI Agent - OpenAI API 配置助手") print("=" * 50) # 检查当前配置 has_api_key = check_openai_config() if has_api_key: print("\n✅ OpenAI API 已配置完成!") print("您可以直接运行应用: python app.py") else: print("\n❌ OpenAI API 未配置") show_setup_guide() # 显示费用信息 show_cost_info() # 创建环境文件示例 print("\n📝 创建配置文件示例") print("-" * 30) create_env_file() # 显示故障排除 show_troubleshooting() print("\n" + "=" * 50) print("配置完成后,请运行: python app.py") print("=" * 50) if __name__ == "__main__": main()