Files
ai_api_web/backend/init_models.py
2026-01-22 18:26:47 +08:00

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()