Files
banban/talkingq-url/test/add_role.py
2026-03-24 15:04:36 +08:00

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