"""
配置文件
包含模型参数、文件路径等配置项
"""

import os
from dotenv import load_dotenv

# 加载环境变量
load_dotenv()

# ==================== 模型配置 ====================
MODEL_CONFIG = {
    "model_name": "qwen-plus",           # 模型名称，可选：qwen-turbo, qwen-plus, qwen-max
    "temperature": 0.1,                  # 温度参数，思维链任务建议使用低温度以获得更稳定的推理
    "max_retries": 3,                    # 最大重试次数
    "timeout": 60,                       # 超时时间（秒）
}

# ==================== 路径配置 ====================
PATH_CONFIG = {
    "results_dir": "results",            # 结果保存目录
}

# ==================== 提示词配置 ====================
PROMPT_CONFIG = {
    # 零样本思维链的思考步骤引导
    "zero_shot_steps": [
        "分析问题的核心是什么",
        "列出需要用到的信息和公式",
        "逐步推导计算",
        "检查推导是否有错误",
        "得出最终答案"
    ],
    
    # 少样本示例数量
    "few_shot_examples_count": 2,
}

# ==================== 输出配置 ====================
OUTPUT_CONFIG = {
    "save_json": True,                   # 是否保存JSON结果
    "print_table": True,                 # 是否打印对比表格
    "show_tokens": True,                 # 是否显示token消耗
}


def get_api_key():
    """获取API Key，优先从环境变量读取"""
    api_key = os.getenv("DASHSCOPE_API_KEY")
    if not api_key or api_key == "your_api_key_here":
        raise ValueError(
            "未设置有效的DASHSCOPE_API_KEY！\n"
            "请在.env文件中设置您的API Key，或设置环境变量DASHSCOPE_API_KEY\n"
            "获取地址：https://dashscope.aliyun.com/"
        )
    return api_key
