stock_fundamentals/src/scripts/config.py

128 lines
5.9 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-06-05 10:42:14 +08:00
'Cookie': 'cookiesu=811743062689927; device_id=33fa3c7fca4a65f8f4354e10ed6b7470; smidV2=20250327160437f244626e8b47ca2a7992f30f389e4e790074ae48656a22f10; HMACCOUNT=8B64A2E3C307C8C0; s=c611ttmqlj; xq_is_login=1; u=8493411634; bid=4065a77ca57a69c83405d6e591ab5449_m8r2nhs8; Hm_lvt_1db88642e346389874251b5a1eded6e3=1746410725; __utma=1.434320573.1747189698.1747189698.1747189698.1; __utmc=1; __utmz=1.1747189698.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); snbim_minify=true; acw_tc=0a27a9dd17489230816243798e0070441d5e7160c0ed179607143a953db903; xq_a_token=ef79e6da376751a4bf6c1538103e9894d44473e1; xqat=ef79e6da376751a4bf6c1538103e9894d44473e1; xq_id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ1aWQiOjg0OTM0MTE2MzQsImlzcyI6InVjIiwiZXhwIjoxNzUxNTE1MDgxLCJjdG0iOjE3NDg5MjMwODE2NDQsImNpZCI6ImQ5ZDBuNEFadXAifQ.gQrIt4VI73JLUFGVSTKpXidhFIMwlusBKyrzYwClwCBszXCooQY3WnFqlbXqSX3SwnMapuveOFUM5sGIOoZ8oDF8cZYs3HDz5vezR-2nes9gfZr2nZcUfZzNRJ299wlX3Zis5NbnzNlfnisUhv9GUfEZjQ_Rs37B4qRbQZVC2kdN1Z0xB8j1MplSTOsYj4IliQntuaTo-8SBh-4zz5244dnF85xREBVxtFzzCtHUhn9B-mzxE81_42nwrDscvow-4_jtlJXlqbehiAFxld-dCWDXwmCju9lRWu_WzdoQe19n-c6jhCZZ1pU1JGsYyhIAsd1gV064jQ6FxfN38so1Eg; xq_r_token=30a80318ebcabffbe194e7deecb108b665e8c894; is_overseas=0; Hm_lpvt_1db88642e346389874251b5a1eded6e3=1748923088; .thumbcache_f24b8bbe5a5934237bbc0eda20c1b6e7=b+jlfRtg2lC80dGHk9izZ9Od1QBbaKrdx1aAMbruXo2ULyhkygsXnhJoa7lOWNgnQAphRKw3864D5K+U2pTL5g%3D%3D; ssxmod_itna=eqGxBDnGKYuxcD4kDRgxYq7ueYKS8DBP01Dp2xQyP08D60DB40Q0shqDyji2YsBGdTYKYUxGXxN4xiNDAc40iDC3WLPeUpx5h5o5Gmxt3qU6P5b48r89Y4sKs=BkpxKFTG4SQW4odeGLDY=DCTKKSMiD4b3Dt4DIDAYDDxDWm4DLDYoDY3uexGPo2mTNpm2bD0YDzqDgD7jbmeDEDG3D0bbetGDo1Q4DGqDSWZHTxD3Dffb4DDN4zIG0GmDDbrR=qmcbC=7O9Wtox0tWDBL5YvysdVC441TXpw8w7WaaxBQD7d9Q5na7fCW13rWkYY0Yeoe7hx+BxYrKch4SbKOAYY7hq7hR0D3E5YD5QADW0D/hQ7Emh07hiY7xdUginMzSTblushiee2YKbK5nYO0t3Ede7d46DqEQMA557QODdNG4WG+slx5bhWiDD; ssxmod_itna2=eqGxBDnGKYuxcD4kDRgxYq7ueYKS8DBP01Dp2xQyP08D60DB40Q0shqDyji2YsBGdTYKY4xDfiOYiiBq4YDj44KWGfmoD/8okGxAeG/0Dt6Q7D6cGudn3qfM5QntBLc5pp/FFY4hly50hUr5qB2v45io/FQi4eD',
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-06-05 10:42:14 +08:00
"GLM": "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]
}