stock_fundamentals/src/scripts/config.py

128 lines
5.5 KiB
Python
Raw Normal View History

2025-04-02 13:52:34 +08:00
# coding:utf-8
"""
通用配置文件存储共享的配置项
"""
import random
XUEQIU_HEADERS = {
'Accept': 'application/json, text/plain, */*',
'Accept-Encoding': 'gzip, deflate, br, zstd',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
'Client-Version': 'v2.44.75',
2025-05-23 10:19:48 +08:00
'Cookie': 'cookiesu=811743062689927; device_id=33fa3c7fca4a65f8f4354e10ed6b7470; HMACCOUNT=8B64A2E3C307C8C0; s=c611ttmqlj; xq_is_login=1; u=8493411634; bid=4065a77ca57a69c83405d6e591ab5449_m8r2nhs8; Hm_lvt_1db88642e346389874251b5a1eded6e3=1746410725; xq_a_token=660fb18cf1d15162da76deedc46b649370124dca; xqat=660fb18cf1d15162da76deedc46b649370124dca; xq_id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ1aWQiOjg0OTM0MTE2MzQsImlzcyI6InVjIiwiZXhwIjoxNzQ5ODYxNjY5LCJjdG0iOjE3NDcyNjk2Njk0NDgsImNpZCI6ImQ5ZDBuNEFadXAifQ.jc_E9qvguLwBDASn1Z-KjGtU89pNJRwJq_hIaiR3r2re7-_xiXH8qhuhC3Se8rlfKGZ8sHsb3rSND_vnF7yMp90QQHdK_brSmlgd6_ltHmJfWSFNJvMk7F3s0yPjcpeMqeUTPFnZwKmoWwZVKEwdVBN8f25z6e9M2JjtSTZ2huADH_FdEn1rb9IU-H35z_MLWW1M7vB5xc2rh57yFIBnQoxu9OLfeETpeIpASP1UBeZXoQZ_v1gIWiFYItwuudIz0tPYzB-o2duRe31G0S_hNvEGl3HH4M5FjTyaPAq2PRuiZCyRF-25gHXBZnLcxyavZ1VAURfHng_377_IJNSXsw; xq_r_token=8a5dec9c93caf88d0e1f98f1d23ea1bb60eb6225; snbim_minify=true; is_overseas=0; Hm_lpvt_1db88642e346389874251b5a1eded6e3=1747905410; ssxmod_itna=eqGxBDnGKYuxcD4kDRgxYq7ueYKS8DBP01Dp2xQyP08D60DB40QuHhqDyGGTrlGiGbtOh01qDsqze4GzDiLPGhDBWAFdYCdqtsqfmmxXxyB+doh6odserKO5sg=EiqfqztqpiexCPGnD0=O77N4xYAEDBYD74G+DDeDiO3Dj4GmDGYd=eDFzjRQyl2edxDwDB=DmqG23grDm4DfDDL5xRD4zC2YDDtDAMWz5PDADA3ooDDlYGO44Lr4DYp52nXWdOaspxTXzeDMixGXzYlCgaCRo0TQy9LAN32TNPGuDG=H6e0ahrbicn0AP4KGGwQ0imPKY+5meOQDqixGYwQGGiGGetGe3qqjeKYw10G4ixqim2mpbK+h1iaIPeQAieNS1X5pXZP4rQ04Iv4zmQWvplG40P4Gw4CqRjwzlwGjPwlD3iho+qKlD4hi3YD; ssxmod_itna2=eqGxBDnGKYuxcD4kDRgxYq7ueYKS8DBP01Dp2xQyP08D60DB40QuHhqDyGGTrlGiGbtOh0P4DWhYebouIdHtBItz/DboqtwisfWD',
2025-04-02 13:52:34 +08:00
'Referer': 'https://weibo.com/u/7735765253',
'Sec-Ch-Ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
'Sec-Ch-Ua-Mobile': '?0',
'Sec-Ch-Ua-Platform': '"Windows"',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
'Server-Version': 'v2024.03.19.2',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36',
'X-Requested-With': 'XMLHttpRequest',
'X-Xsrf-Token': 'spbnXpnWWKiHZFvOqW4rIejO'
}
# 火山引擎API密钥列表
VOLC_API_KEYS = [
"28cfe71a-c6fa-4c5d-9b4e-d8474f0d3b93", # 测试密钥1
"28cfe71a-c6fa-4c5d-9b4e-d8474f0d3b93", # 可添加更多密钥
]
# 获取随机API密钥
def get_random_api_key():
return random.choice(VOLC_API_KEYS)
# 火山引擎模型配置
VOLC_MODELS = {
# 在线智能体模型
"online_bot": "bot-20250325102825-h9kpq", # 联网智能体ID
# 离线模型
"offline_model": "ep-20250326090920-v7wns", # 免费推理50W
"deepseek-private": "mlx-community/DeepSeek-R1-4bit",
# 其他可用模型
"doubao": "doubao-1-5-pro-32k-250115", # 豆包模型
"deepseek": "deepseek-r1-250120", # Deepseek模型
}
# 获取指定类型的模型
def get_model(model_type):
return VOLC_MODELS.get(model_type, VOLC_MODELS["offline_model"])
# 模型配置字典
MODEL_CONFIGS = {
# 火山引擎配置
"volc": {
"base_url": "https://ark.cn-beijing.volces.com/api/v3/",
"api_key": "28cfe71a-c6fa-4c5d-9b4e-d8474f0d3b93",
"models": {
"offline_model": "ep-20250326090920-v7wns",
"online_bot": "bot-20250325102825-h9kpq",
"doubao": "doubao-1-5-pro-32k-250115"
}
},
2025-05-06 15:13:15 +08:00
# 谷歌Gemini
"Gemini": {
"base_url": "https://generativelanguage.googleapis.com/v1beta/openai/",
"api_key": "AIzaSyAVE8yTaPtN-TxCCHTc9Jb-aCV-Xo1EFuU",
"models": {
"offline_model": "gemini-2.0-flash"
}
},
2025-04-02 13:52:34 +08:00
# 天链苹果
"tl_private": {
2025-05-06 15:13:15 +08:00
"base_url": "http://192.168.16.174:1234/v1/",
2025-04-02 13:52:34 +08:00
"api_key": "none",
"models": {
2025-05-06 15:13:15 +08:00
"glm-4": "glm-4-32b-0414-abliterated",
2025-05-14 08:54:56 +08:00
"qwen3": "qwen3-235b-a22b",
2025-04-02 13:52:34 +08:00
}
},
# 天链-千问
"tl_qw_private": {
"base_url": "http://192.168.16.178:11434/v1",
"api_key": "sk-WaVRJKkyhrFlH4ZV35B9Aa61759b400c9cA002D00f3f1019",
"models": {
2025-05-06 15:13:15 +08:00
"qwq": "qwq:32b",
"GLM": "hf-mirror.com/Cobra4687/GLM-4-32B-0414-abliterated-Q4_K_M-GGUF:Q4_K_M"
2025-04-02 13:52:34 +08:00
}
},
# Deepseek配置
"deepseek": {
"base_url": "https://api.deepseek.com/v1/",
"api_key": "your_deepseek_api_key",
"models": {
"deepseek": "deepseek-r1-250120",
"deepseek-private": "mlx-community/DeepSeek-R1-4bit"
}
}
}
# 获取指定平台和模型的配置
def get_model_config(platform: str, model_type: str) -> dict:
"""获取指定平台和模型的配置
Args:
platform: 平台名称volc/doubao/deepseek
model_type: 模型类型
Returns:
dict: 包含base_urlapi_key和model的配置字典
"""
if platform not in MODEL_CONFIGS:
raise ValueError(f"不支持的平台: {platform}")
platform_config = MODEL_CONFIGS[platform]
if model_type not in platform_config["models"]:
raise ValueError(f"平台 {platform} 不支持模型类型: {model_type}")
return {
"base_url": platform_config["base_url"],
"api_key": platform_config["api_key"],
"model": platform_config["models"][model_type]
}