115 lines
4.7 KiB
Python
115 lines
4.7 KiB
Python
"""
|
|
初始化模型数据脚本
|
|
运行此脚本可以添加一些示例模型数据
|
|
"""
|
|
from app import create_app
|
|
from models import db
|
|
from models.model import Model
|
|
import json
|
|
|
|
def init_models():
|
|
app = create_app()
|
|
with app.app_context():
|
|
# 检查是否已有数据
|
|
if Model.query.count() > 0:
|
|
print("模型数据已存在,跳过初始化")
|
|
return
|
|
|
|
# 示例模型数据
|
|
models_data = [
|
|
{
|
|
'name': 'claude-haiku-4-5-20251001',
|
|
'provider': 'Anthropic',
|
|
'description': 'Claude Haiku 4.5 是由 anthropic 提供的人工智能模型。',
|
|
'input_price': 0.3000,
|
|
'output_price': 1.5000,
|
|
'billing_type': 'pay_as_you_go',
|
|
'endpoint_type': 'anthropic',
|
|
'tags': ['200k', '工具'],
|
|
'available_groups': ['Claude Code 官方编程模型', 'Claude Code 企业专线'],
|
|
'multiplier': 1.00
|
|
},
|
|
{
|
|
'name': 'claude-sonnet-4-5-20250929',
|
|
'provider': 'Anthropic',
|
|
'description': 'Claude Sonnet 4.5 是由 anthropic 提供的人工智能模型。',
|
|
'input_price': 3.0000,
|
|
'output_price': 15.0000,
|
|
'billing_type': 'pay_as_you_go',
|
|
'endpoint_type': 'anthropic',
|
|
'tags': ['200k', '推理', '工具', '文件'],
|
|
'available_groups': ['Claude Code 官方编程模型', 'Claude Code 企业专线'],
|
|
'multiplier': 1.00
|
|
},
|
|
{
|
|
'name': 'claude-opus-4-5-20251101-thinking',
|
|
'provider': 'Anthropic',
|
|
'description': 'Claude Opus 4.5 with thinking 是由 anthropic 提供的人工智能模型。',
|
|
'input_price': 15.0000,
|
|
'output_price': 75.0000,
|
|
'billing_type': 'pay_as_you_go',
|
|
'endpoint_type': 'anthropic',
|
|
'tags': ['200k', '推理', '工具', '文件'],
|
|
'available_groups': ['Claude Code 企业专线'],
|
|
'multiplier': 1.00
|
|
},
|
|
{
|
|
'name': 'claude-3-5-sonnet-20241022',
|
|
'provider': 'Anthropic',
|
|
'description': 'Claude 3.5 Sonnet 是由 anthropic 提供的人工智能模型。',
|
|
'input_price': 3.0000,
|
|
'output_price': 15.0000,
|
|
'billing_type': 'pay_as_you_go',
|
|
'endpoint_type': 'anthropic',
|
|
'tags': ['200k', '多模态', '工具'],
|
|
'available_groups': ['Claude Code 官方编程模型', 'Claude Code 企业专线'],
|
|
'multiplier': 1.00
|
|
},
|
|
{
|
|
'name': 'claude-3-opus-20240229',
|
|
'provider': 'Anthropic',
|
|
'description': 'Claude 3 Opus 是由 anthropic 提供的人工智能模型。',
|
|
'input_price': 15.0000,
|
|
'output_price': 75.0000,
|
|
'billing_type': 'pay_as_you_go',
|
|
'endpoint_type': 'anthropic',
|
|
'tags': ['200k', '推理', '工具'],
|
|
'available_groups': ['Claude Code 企业专线'],
|
|
'multiplier': 1.00
|
|
},
|
|
{
|
|
'name': 'claude-3-5-haiku-20241022',
|
|
'provider': 'Anthropic',
|
|
'description': 'Claude 3.5 Haiku 是由 anthropic 提供的人工智能模型。',
|
|
'input_price': 0.3000,
|
|
'output_price': 1.5000,
|
|
'billing_type': 'pay_as_you_go',
|
|
'endpoint_type': 'anthropic',
|
|
'tags': ['200k', '工具'],
|
|
'available_groups': ['Claude Code 官方编程模型'],
|
|
'multiplier': 1.00
|
|
}
|
|
]
|
|
|
|
for model_data in models_data:
|
|
model = Model(
|
|
name=model_data['name'],
|
|
provider=model_data['provider'],
|
|
description=model_data['description'],
|
|
input_price=model_data['input_price'],
|
|
output_price=model_data['output_price'],
|
|
billing_type=model_data['billing_type'],
|
|
endpoint_type=model_data['endpoint_type'],
|
|
tags=json.dumps(model_data['tags'], ensure_ascii=False),
|
|
available_groups=json.dumps(model_data['available_groups'], ensure_ascii=False),
|
|
multiplier=model_data['multiplier'],
|
|
is_active=True
|
|
)
|
|
db.session.add(model)
|
|
|
|
db.session.commit()
|
|
print(f"成功初始化 {len(models_data)} 个模型")
|
|
|
|
if __name__ == '__main__':
|
|
init_models()
|