Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/allowan_ustc-107-let-ai-think-of-one.json

1 line
10 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "allowan/ustc-107-let-ai-think-of-one", "files": {"model/config.py": {"3eb328ca3752de646cdad990844d607863ec51bc": {"t": 1785745980.947577, "n": 2418, "h": "32daa0cfb336e0e5", "c": "import json\nimport os\nfrom pathlib import Path\nfrom langchain.chat_models import init_chat_model\n\n_SETTINGS_PATH = Path(__file__).resolve().parent.parent / \"settings.json\"\n\n\ndef read_json() -> dict:\n \"\"\"读取 settings.json 中的 env 配置(文件不存在时返回空字典)。\"\"\"\n try:\n with open(_SETTINGS_PATH, encoding=\"utf-8\") as f:\n data = json.load(f)\n return data.get(\"env\", {})\n except (FileNotFoundError, json.JSONDecodeError):\n return {}\n\n\ndef init_chat():\n \"\"\"初始化聊天模型。环境变量优先,settings.json 作为 fallback。\"\"\"\n file_env = read_json()\n\n api_key = os.environ.get(\"LLM_API_KEY\") or file_env.get(\"api_key\", \"\")\n base_url = os.environ.get(\"LLM_BASE_URL\") or file_env.get(\"base_url\", \"https://api.deepseek.com\")\n model_id = os.environ.get(\"LLM_MODEL\") or file_env.get(\"model\", \"deepseek-v4-flash\")\n\n if not api_key:\n raise RuntimeError(\n \"未配置 LLM API Key。请在环境变量 LLM_API_KEY 中设置,\"\n \"或复制 settings.example.json 为 settings.json 并填入 api_key。\"\n )\n\n return init_chat_model(\n model=model_id,\n model_provider=\"openai\",\n base_url=base_url,\n api_key=api_key,\n )\n\ndef change_model(group: str, model: str):\n \"\"\"更改模型选项:根据 group 与 model 索引更新 env 并重新初始化模型\"\"\"\n settings_path = Path(__file__).resolve().parent.parent / \"settings.json\"\n with open(settings_path, encoding=\"utf-8\") as f:\n data = json.load(f)\n\n groups = data.get(\"groups\", [])\n # 按 group_name 定位分组\n target_group = next(\n (g for g in groups if g.get(\"group_name\") == group), None\n )\n if target_group is None:\n raise ValueError(f\"未找到分组: {group}\")\n\n # 在该分组的 models 中按 show_id 定位模型(回退匹配 request_id)\n models = target_group.get(\"models\", [])\n target_model = next(\n (m for m in models if m.get(\"show_id\") == model or m.get(\"request_id\") == model),\n None,\n )\n if target_model is None:\n raise ValueError(f\"在分组 '{group}' 中未找到模型: {model}\")\n\n # 用分组与模型信息更新 env\n env = data.setdefault(\"env\", {})\n env[\"api_key\"] = target_group.get(\"api_key\", \"\")\n env[\"base_url\"] = target_group.get(\"base_url\", \"\")\n env[\"api_type\"] = target_group.get(\"api_type\", \"chat-completions\")\n env[\"model\"] = target_model.get(\"request_id\", \"\")\n\n # 写回 settings.json\n with open(settings_path, \"w\", encoding=\"utf-8\") as f:\n json.dump(data, f, ensure_ascii=False, indent=4)\n\n # 应用初始化\n return init_chat()\n"}, "c61c5a71849378aff8b2ccc53c899e8abafd70e1": {"t": 1785758488.7981951, "n": 2418, "h": "32daa0cfb336e0e5", "c": "import json\nimport os\nfrom pathlib import Path\nfrom langchain.chat_models import init_chat_model\n\n_SETTINGS_PATH = Path(__file__).resolve().parent.parent / \"settings.json\"\n\n\ndef read_json() -> dict:\n \"\"\"读取 settings.json 中的 env 配置(文件不存在时返回空字典)。\"\"\"\n try:\n with open(_SETTINGS_PATH, encoding=\"utf-8\") as f:\n data = json.load(f)\n return data.get(\"env\", {})\n except (FileNotFoundError, json.JSONDecodeError):\n return {}\n\n\ndef init_chat():\n \"\"\"初始化聊天模型。环境变量优先,settings.json 作为 fallback。\"\"\"\n file_env = read_json()\n\n api_key = os.environ.get(\"LLM_API_KEY\") or file_env.get(\"api_key\", \"\")\n base_url = os.environ.get(\"LLM_BASE_URL\") or file_env.get(\"base_url\", \"https://api.deepseek.com\")\n model_id = os.environ.get(\"LLM_MODEL\") or file_env.get(\"model\", \"deepseek-v4-flash\")\n\n if not api_key:\n raise RuntimeError(\n \"未配置 LLM API Key。请在环境变量 LLM_API_KEY 中设置,\"\n \"或复制 settings.example.json 为 settings.json 并填入 api_key。\"\n )\n\n return init_chat_model(\n model=model_id,\n model_provider=\"openai\",\n base_url=base_url,\n api_key=api_key,\n )\n\ndef change_model(group: str, model: str):\n \"\"\"更改模型选项:根据 group 与 model 索引更新 env 并重新初始化模型\"\"\"\n settings_path = Path(__file__).resolve().parent.parent / \"settings.json\"\n with open(settings_path, encoding=\"utf-8\") as f:\n data = json.load(f)\n\n groups = data.get(\"groups\", [])\n # 按 group_name 定位分组\n target_group = next(\n (g for g in groups if g.get(\"group_name\") == group), None\n )\n if target_group is None:\n raise ValueError(f\"未找到分组: {group}\")\n\n # 在该分组的 models 中按 show_id 定位模型(回退匹配 request_id)\n models = target_group.get(\"models\", [])\n target_model = next(\n (m for m in models if m.get(\"show_id\") == model or m.get(\"request_id\") == model),\n None,\n )\n if target_model is None:\n raise ValueError(f\"在分组 '{group}' 中未找到模型: {model}\")\n\n # 用分组与模型信息更新 env\n env = data.setdefault(\"env\", {})\n env[\"api_key\"] = target_group.get(\"api_key\", \"\")\n env[\"base_url\"] = target_group.get(\"base_url\", \"\")\n env[\"api_type\"] = target_group.get(\"api_type\", \"chat-completions\")\n env[\"model\"] = target_model.get(\"request_id\", \"\")\n\n # 写回 settings.json\n with open(settings_path, \"w\", encoding=\"utf-8\") as f:\n json.dump(data, f, ensure_ascii=False, indent=4)\n\n # 应用初始化\n return init_chat()\n"}, "a95c52d80d0cde6f25e1c79ea4f5f6bd98cf4756": {"t": 1785758491.374085, "n": 1853, "h": "74dc484b1b4e2806", "c": "import json\nfrom pathlib import Path\nfrom langchain.chat_models import init_chat_model\n\n\ndef read_json() -> dict:\n \"\"\"读取 ../settings.json 中的 env 配置\"\"\"\n settings_path = Path(__file__).resolve().parent.parent / \"settings.json\"\n with open(settings_path, encoding=\"utf-8\") as f:\n data = json.load(f)\n return data.get(\"env\", {})\n\ndef init_chat():\n \"\"\"完成对模型的初始化\"\"\"\n env = read_json()\n model = init_chat_model(\n model=env[\"model\"],\n model_provider=\"openai\",\n base_url=env[\"base_url\"],\n api_key=env[\"api_key\"],\n )\n return model\n\ndef change_model(group: str, model: str):\n \"\"\"更改模型选项:根据 group 与 model 索引更新 env 并重新初始化模型\"\"\"\n settings_path = Path(__file__).resolve().parent.parent / \"settings.json\"\n with open(settings_path, encoding=\"utf-8\") as f:\n data = json.load(f)\n\n groups = data.get(\"groups\", [])\n # 按 group_name 定位分组\n target_group = next(\n (g for g in groups if g.get(\"group_name\") == group), None\n )\n if target_group is None:\n raise ValueError(f\"未找到分组: {group}\")\n\n # 在该分组的 models 中按 show_id 定位模型(回退匹配 request_id)\n models = target_group.get(\"models\", [])\n target_model = next(\n (m for m in models if m.get(\"show_id\") == model or m.get(\"request_id\") == model),\n None,\n )\n if target_model is None:\n raise ValueError(f\"在分组 '{group}' 中未找到模型: {model}\")\n\n # 用分组与模型信息更新 env\n env = data.setdefault(\"env\", {})\n env[\"api_key\"] = target_group.get(\"api_key\", \"\")\n env[\"base_url\"] = target_group.get(\"base_url\", \"\")\n env[\"api_type\"] = target_group.get(\"api_type\", \"chat-completions\")\n env[\"model\"] = target_model.get(\"request_id\", \"\")\n\n # 写回 settings.json\n with open(settings_path, \"w\", encoding=\"utf-8\") as f:\n json.dump(data, f, ensure_ascii=False, indent=4)\n\n # 应用初始化\n return init_chat()\n"}, "1786ababffad1f5155254158ec5d20a2738ab984": {"t": 1785758492.5764182, "n": 1872, "h": "ed61621b28c622fd", "c": "import json\nimport os\nfrom pathlib import Path\nfrom langchain.chat_models import init_chat_model\n\n\ndef read_json() -> dict:\n \"\"\"读取 ../settings.json 中的 env 配置\"\"\"\n settings_path = Path(__file__).resolve().parent.parent / \"settings.json\"\n with open(settings_path, encoding=\"utf-8\") as f:\n data = json.load(f)\n return data.get(\"env\", {})\n\ndef init_chat():\n \"\"\"完成对模型的初始化\"\"\"\n env = read_json()\n model = init_chat_model(\n model=env[\"model\"],\n model_provider=\"openai\",\n base_url=env[\"base_url\"],\n api_key=env[\"api_key\"],\n )\n return model\n\ndef change_model(group: str, model: str):\n \"\"\"更改模型选项:根据 group 与 model 索引更新 env 并重新初始化模型\"\"\"\n settings_path = Path(__file__).resolve().parent.parent / \"settings.json\"\n with open(settings_path, encoding=\"utf-8\") as f:\n data = json.load(f)\n\n groups = data.get(\"groups\", [])\n # 按 group_name 定位分组\n target_group = next(\n (g for g in groups if g.get(\"group_name\") == group), None\n )\n if target_group is None:\n raise ValueError(f\"未找到分组: {group}\")\n\n # 在该分组的 models 中按 show_id 定位模型(回退匹配 request_id)\n models = target_group.get(\"models\", [])\n target_model = next(\n (m for m in models if m.get(\"show_id\") == model or m.get(\"request_id\") == model),\n None,\n )\n if target_model is None:\n raise ValueError(f\"在分组 '{group}' 中未找到模型: {model}\")\n\n # 用分组与模型信息更新 env\n env = data.setdefault(\"env\", {})\n env[\"api_key\"] = target_group.get(\"api_key\", \"\")\n env[\"base_url\"] = target_group.get(\"base_url\", \"\")\n env[\"api_type\"] = target_group.get(\"api_type\", \"chat-completions\")\n env[\"model\"] = target_model.get(\"request_id\", \"\")\n\n # 写回 settings.json\n with open(settings_path, \"w\", encoding=\"utf-8\") as f:\n json.dump(data, f, ensure_ascii=False, indent=4)\n\n # 应用初始化\n return init_chat()\n \n"}}}}