118 lines
5.4 KiB
Python
118 lines
5.4 KiB
Python
|
# 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',
|
|||
|
'Cookie': 'bid=d298883c846926e46f61128493d71969_ltocon4a; device_id=99947aa416bde5e7418bd51327850c56; HMACCOUNT=2D95237D28EF1309; s=be11f4j7l4; cookiesu=651724318004914; Hm_lvt_1db88642e346389874251b5a1eded6e3=1739155871; xq_a_token=2b33ad6ac971d226d2d8e9e2487621e834ad3550; xqat=2b33ad6ac971d226d2d8e9e2487621e834ad3550; xq_r_token=f17217fe00776426e761885c67f799dac6d960f4; xq_id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ1aWQiOjg0OTM0MTE2MzQsImlzcyI6InVjIiwiZXhwIjoxNzQzNjQ1MjY2LCJjdG0iOjE3NDEwNTMyNjY3MjYsImNpZCI6ImQ5ZDBuNEFadXAifQ.UCe60fXpKIKGEHjA8fwHQ4m0WBCdpCllnuQrLQ_EbpSf9joPboNq4xanvs15SFl8EzEvWRFqgyaDb-TLUkb-YuSXb2vnDVQKeHW1CmQMwihpAS8bz9FKnspw3PeQZLJTfgwUFl7uTKRkjNu3x1lk1OJ3SmyjlGDAEEQgsvZlK-OZLcXvoTdOlM3B9ppERN0vicURiZkxVT68B_j4wEmegOWdsaEhTEXeBfhzMu1ObmztdcTolhBPB59vDFpMmVJz7YjWkkrESgq0Kjx6xpx_afwtMY2NDciuslSA3ji5zDG2objiX8tGzLFFqHdslZRg0ulK-MJeUvH6hpCbSQ7cEw; xq_is_login=1; u=8493411634; is_overseas=0; Hm_lpvt_1db88642e346389874251b5a1eded6e3=1741144661; ssxmod_itna=YqIxnD0DyGehDkDhx+xmqAKQAQDOD2GSAD0x0dGM9/DILq7=GFKDCEKLumb2G+R0DeYrAG2mq1DBLAoDSxD67DK4GTI+OGe41i7G2vppqW7h+tK3FKoZUPo20do4gdOeIbed5=xB3DExGkeQ0re4iiWx0rD0eDPxDYDG4aD7PDoxDrF8YDjl7pOUgwoUxDKx0kDY5Dw62wDYPDWxDFNIGFNUAeDD5Dn1SUw4DWDWpmYDDzYjQ4wcY4DmRw7SHfkj8XeGENN4G1jD0H7Dt4NUkBwwGv7f6NivW+vz3DvxDkU8oGLbwmGfEhiueq0DoOGI7dqBe77oeAeFYxeD4KiGe04YDqK7iYODWGD7GeqOxk2QwlGIi7IDqSOdkowe3znMzN3sMuev7DdCDpEGox4mB=5rxq7Y70vmrGvE5VYYiAAMYpF04bWA7GiYiDD; ssxmod_itna2=YqIxnD0DyGehDkDhx+xmqAKQAQDOD2GSAD0x0dGM9/DILq7=GFKDCEKLumb2G+R0DeYrAG2mqTDGRW0wqQD7P4mGKeDsYGtidoeFEjpbF4WjtDqn+ao7pCSAt8ko=xEKjfG+96eKGNSNbhha7W5a2xKenxPKzaRC2BqW4hv+rf5eyoKauABacPT1TOpp+FIm2A7ssEHQA1Gai3fwGtMHG/fHC4vHiRvHctgGuDSCN7aAA=wWzgf4i=Fu3YduYqK8S1Cm=lFc20GFzq2FrS=xN5=RZWpyKlj6hKaSkvIWvFXNjoghz=iFf1j4mIygYfeADbPxzQq7QTOPyEPacND=IRWU2i4m=GgQN4Dozhjux=X1Irf6xAvHO2xAA1iRqp6I1DKxR77GSDhygvO7QwcQVEPwO25Wpj6RgD2574e7+IRnv8+xAqzBqGYeQDh1jn64aeYD',
|
|||
|
'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"
|
|||
|
}
|
|||
|
},
|
|||
|
# 天链苹果
|
|||
|
"tl_private": {
|
|||
|
"base_url": "http://192.168.32.118:1234/v1/",
|
|||
|
"api_key": "none",
|
|||
|
"models": {
|
|||
|
"ds-v1": "mlx-community/DeepSeek-R1-4bit"
|
|||
|
}
|
|||
|
},
|
|||
|
# 天链-千问
|
|||
|
"tl_qw_private": {
|
|||
|
"base_url": "http://192.168.16.178:11434/v1",
|
|||
|
"api_key": "sk-WaVRJKkyhrFlH4ZV35B9Aa61759b400c9cA002D00f3f1019",
|
|||
|
"models": {
|
|||
|
"qwq": "qwq:32b"
|
|||
|
}
|
|||
|
},
|
|||
|
# 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_url、api_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]
|
|||
|
}
|