111 lines
4.5 KiB
Python
111 lines
4.5 KiB
Python
import os
|
|
from sqlalchemy import create_engine, Column, Integer, String, Text, Boolean, DateTime, ForeignKey, JSON, UniqueConstraint
|
|
from sqlalchemy.ext.declarative import declarative_base
|
|
from sqlalchemy.orm import sessionmaker, relationship
|
|
from datetime import datetime
|
|
from database.models import Role, RoleLanguage
|
|
from dotenv import load_dotenv
|
|
|
|
env_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "db.env")
|
|
load_dotenv(env_path)
|
|
|
|
Base = declarative_base()
|
|
username = os.getenv("DB_USER", "")
|
|
password = os.getenv("DB_PASSWORD", "")
|
|
host = os.getenv("DB_HOST", "")
|
|
dbname = os.getenv("DB_NAME", "")
|
|
# 创建数据库连接
|
|
DATABASE_URL = f"mysql+pymysql://{username}:{password}@{host}/{dbname}"
|
|
engine = create_engine(DATABASE_URL)
|
|
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
|
|
|
|
|
# 插入数据
|
|
def insert_roles_and_languages():
|
|
db = SessionLocal()
|
|
try:
|
|
# 插入 Role 记录
|
|
role = Role(
|
|
role_key="happy_tiger",
|
|
name="快乐虎",
|
|
description="国美家电吉祥物,以小白虎为原型,融合现代卡通风格,热情友好,聪明机智,为消费者提供贴心服务。",
|
|
content="角色:快乐虎是国美家电的吉祥物,以小白虎为原型,融合现代卡通风格,整体形象萌趣又不失活力。",
|
|
default_language="zh",
|
|
volcano_model_id="ep-20250225080614-8d6dm",
|
|
homophones=["通通"],
|
|
enabled=True
|
|
)
|
|
db.add(role)
|
|
db.commit()
|
|
|
|
# 插入 RoleLanguage 记录
|
|
role_language_zh = RoleLanguage(
|
|
role_id=role.id,
|
|
language_code="zh",
|
|
name="快乐虎",
|
|
content="角色:快乐虎是国美家电的吉祥物,以小白虎为原型,融合现代卡通风格,整体形象萌趣又不失活力。",
|
|
url="roles/happy_tiger/zh"
|
|
)
|
|
role_language_en = RoleLanguage(
|
|
role_id=role.id,
|
|
language_code="en",
|
|
name="Happy Tiger",
|
|
content="Role: Happy Tiger is Gome's appliance mascot, designed as a cute white tiger with modern cartoon style.",
|
|
url="roles/happy_tiger/en"
|
|
)
|
|
db.add(role_language_zh)
|
|
db.add(role_language_en)
|
|
|
|
# 插入萌萌 Role 记录
|
|
mengmeng_role = Role(
|
|
role_key="mengmeng",
|
|
name="萌萌",
|
|
description="以中国国宝大熊猫为原型的智能体,融合现代科技感与可爱风格,传递中国文化,促进人与自然和谐共处。",
|
|
content="角色:萌萌是以中国国宝大熊猫为原型的智能体,融合现代科技感与可爱风格。",
|
|
default_language="zh",
|
|
volcano_model_id="ep-20250225080614-8d6dm",
|
|
homophones=["萌萌", "芃芃", "檬檬"],
|
|
enabled=True
|
|
)
|
|
db.add(mengmeng_role)
|
|
db.commit()
|
|
|
|
# 插入萌萌 Role 记录
|
|
mengmeng_role = Role(
|
|
role_key="mengmeng",
|
|
name="萌萌",
|
|
description="以中国国宝大熊猫为原型的智能体,融合现代科技感与可爱风格,传递中国文化,促进人与自然和谐共处。",
|
|
content="角色:萌萌是以中国国宝大熊猫为原型的智能体,融合现代科技感与可爱风格。",
|
|
default_language="zh",
|
|
volcano_model_id="ep-20250225080614-8d6dm",
|
|
homophones=["萌萌", "芃芃", "檬檬"],
|
|
enabled=True
|
|
)
|
|
db.add(mengmeng_role)
|
|
db.commit()
|
|
# 插入萌萌 RoleLanguage 记录
|
|
mengmeng_zh = RoleLanguage(
|
|
role_id=mengmeng_role.id,
|
|
language_code="zh",
|
|
name="萌萌",
|
|
content="角色:萌萌是以中国国宝大熊猫为原型的智能体,融合现代科技感与可爱风格。",
|
|
url="roles/panda_assistant/zh"
|
|
)
|
|
mengmeng_en = RoleLanguage(
|
|
role_id=mengmeng_role.id,
|
|
language_code="en",
|
|
name="MengMeng",
|
|
content="Role: MengMeng is a panda-inspired AI assistant blending technology with cuteness, promoting Chinese culture and harmony with nature.",
|
|
url="roles/panda_assistant/en"
|
|
)
|
|
db.add(mengmeng_zh)
|
|
db.add(mengmeng_en)
|
|
|
|
db.commit()
|
|
except Exception as e:
|
|
db.rollback()
|
|
print(f"An error occurred: {e}")
|
|
finally:
|
|
db.close()
|
|
|
|
insert_roles_and_languages() |