2025/12/5 每日总结 从0到1搭建AI儿童故事平台:数据模型设计与大模型选型

从0到1搭建AI儿童故事平台:数据模型设计与大模型选型

作为软件构造课程的核心实验项目,AI儿童故事平台的开发目标是打造一个“文本+图像+音频”三位一体的多媒体故事生成与管理系统。而项目成功的关键,始于前期扎实的基础搭建——包括贴合需求的数据模型设计,以及适配场景的大模型选型。这两步不仅决定了后续功能开发的顺畅度,更直接影响平台的扩展性与用户体验。本文就来详细拆解这一“地基工程”的实现思路与决策逻辑。

一、项目背景与核心需求拆解

在数字化时代,儿童故事的呈现形式早已超越单一文本,家长和孩子更需要“可读、可看、可听”的沉浸式体验。基于这一需求,我们的AI儿童故事平台核心目标是:用户输入简单关键词(如“宇航员、小狗、月球”),平台自动生成完整儿童故事,并配套生成贴合意境的插图与专业朗读音频,最终以“故事卡”形式呈现。
围绕这一核心目标,拆解出三大核心需求:

  1. 文本生成:基于关键词创作符合6-12岁儿童认知的故事,需具备完整性、趣味性与教育意义;

  2. 多媒体联动:故事生成后自动触发插图、音频生成,三者精准关联;

  3. 可扩展性:支持后续用户管理、故事收藏、资源导出等功能拓展,避免后期重构。

二、数据模型设计:兼顾当下需求与未来拓展

数据模型是平台的骨架,设计时需避免“只顾当前、不顾长远”的短视思维。我们采用“基础字段+预留扩展”的设计思路,以MySQL为数据库,核心表为storys,同时预留多表关联空间。

1. 核心表结构设计(storys表)

字段名 类型 说明
id INT 主键,自增,确保故事唯一性
title VARCHAR(255) 故事标题,由AI生成或默认命名
summary VARCHAR(500) 故事梗概(100字以内),方便用户快速了解故事核心
content TEXT 故事正文,存储完整AI生成内容
keywords VARCHAR(100) 用户输入的关键词(逗号分隔),用于关联插图、音频生成及标签复用
created_time DATETIME 故事创建时间,默认自动填充当前时间
img VARCHAR(255) 预留字段,存储插图本地文件路径(实验二拓展)
img_url VARCHAR(255) 预留字段,存储插图访问URL(实验二拓展)
img_prompt VARCHAR(500) 预留字段,存储插图生成提示词(实验二拓展)
audio_url VARCHAR(255) 预留字段,存储音频访问URL(实验三拓展)
user_id INT 预留字段,关联用户表,实现故事专属化(大作业拓展)

2. 设计思路解析

  • 主键选择:以id为自增主键,确保每篇故事唯一标识,便于后续关联查询;

  • 核心字段优先:titlesummarycontentkeywordscreated_time满足实验一的故事生成与存储需求;

  • 预留扩展字段:imgimg_url等字段提前规划,避免实验二、三拓展时修改表结构,减少重构成本;

  • 多表关联预留:user_id字段为后续用户管理模块铺路,未来新增users表(存储用户账号、昵称、邮箱)后,可直接通过user_id实现“用户-故事”一对一关联,确保用户只能查看自己的故事。

    3. 数据库配置优化

    为保证开发环境一致性与部署灵活性,数据库配置通过config.py文件管理,采用环境变量优先级高于硬编码的方式:

    # config.py 核心配置
    import os
    from dotenv import load_dotenv
    load_dotenv() # 加载.env文件中的环境变量
    # MySQL数据库配置
    MYSQL_HOST = os.getenv("MYSQL_HOST", "localhost")
    MYSQL_PORT = os.getenv("MYSQL_PORT", "3306")
    MYSQL_USER = os.getenv("MYSQL_USER", "root")
    MYSQL_PASSWORD = os.getenv("MYSQL_PASSWORD", "~~~~~~")
    MYSQL_DATABASE = os.getenv("MYSQL_DATABASE", "storygenerator")
    # 数据库连接URL
    DATABASE_URL = os.getenv("DATABASE_URL")
    if not DATABASE_URL:
    DATABASE_URL = f"mysql+pymysql://{MYSQL_USER}:{MYSQL_PASSWORD}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DATABASE}"
    

    这种配置方式既方便本地开发(无需修改代码,仅需配置.env文件),也便于后续部署时快速适配服务器环境。

    三、大模型选型:轻量化、高适配、低学习成本

    平台核心依赖三大类大模型:文本生成(故事创作)、文生图(插图生成)、语音合成(音频朗读)。选型时遵循“场景适配优先、易用性为辅”的原则,拒绝盲目追求“大而全”,选择最贴合儿童故事场景的模型。

    1. 文本生成模型:Kimi( moonshot-v1-8k)

    选型对比

    模型 优势 劣势
    Kimi API文档简洁、调用流程简单、支持JSON格式输出、响应速度快 生态不如文心一言完善
    百度文心一言 生态完善、功能丰富 接口配置复杂、冗余功能多、学习成本高

    最终决策:Kimi

    选择Kimi的核心原因的三点:

  • 场景适配:支持指定输出格式(强制JSON),可直接返回titlesummarycontent结构化数据,无需复杂解析;

  • 易用性强:API调用仅需api_key与简单参数配置,30行左右代码即可完成核心调用;

  • 成本可控:moonshot-v1-8k模型支持8192 tokens上下文,完全覆盖儿童故事500-800字的篇幅需求,且免费额度足够开发测试。

    关键配置:提示词设计

    儿童故事的生成质量,核心在于提示词的精准度。我们设计的提示词既明确约束条件,又保留AI想象力:

    prompt = f"""
    请根据以下关键词创作一个适合6-12岁儿童的精彩故事:
    关键词:{keywords}
    要求:
    
    
    
  1. 故事要生动有趣,富有想象力

  2. 语言简单易懂,适合儿童阅读

  3. 包含完整的起承转合

  4. 故事长度在500-800字之间

  5. 要有积极向上的主题和教育意义
    请严格按照以下JSON格式返回数据:
    {{
    "title": "故事标题",
    "summary": "故事梗概(100字以内)",
    "content": "完整故事内容"
    }}
    请确保只返回JSON格式的数据,不要包含其他任何文本。
    """


### 2. 文生图模型:阿里云百炼(qwen-image-plus)

#### 选型理由


- 风格适配:`qwen-image-plus`模型在儿童插画生成上表现突出,色彩鲜艳、画面生动,契合6-12岁儿童审美;

- 配置简单:仅需`access_key`即可调用,无需复杂环境部署;

- 灵活可控:支持自定义图片尺寸(如1024x1024),生成速度快(平均3-5秒),满足实时性需求。

### 3. 语音合成模型:百度TTS

#### 选型理由

- 多模式适配:支持短文本、长文本、流式合成三种模式,可应对不同篇幅的故事朗读;

- 音色丰富:提供“度小美”“度小宇”等适合儿童的音色,支持语速、音量、音调调整;

- 文档详尽:API调用示例清晰,错误码说明完善,问题排查成本低。

## 四、开发环境搭建与基础配置

### 1. 技术栈选型

- 后端:Python 3.10+、Flask(轻量级Web框架,便于快速开发);

- 数据库:MySQL 8.0;

- 依赖管理:pip + requirements.txt(统一依赖版本,避免环境冲突);

- 工具:PyCharm(IDE)、Postman(API测试)、Navicat(数据库管理)。

### 2. 核心依赖安装

```txt
# requirements.txt
flask==2.3.3
requests==2.31.0
pymysql==1.1.0
python-dotenv==1.0.0
Pillow==10.1.0 # 后续图片处理用
dashscope==1.14.0 # 阿里云百炼API依赖

3. API密钥配置

所有第三方API密钥均通过.env文件管理,不硬编码到代码中,保障安全性:

# .env文件
KIMI_API_KEY=your_kimi_api_key
ALIYUN_ACCESS_KEY=your_aliyun_access_key
BAIDU_API_KEY=your_baidu_api_key
BAIDU_SECRET_KEY=your_baidu_secret_key
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=~~~~~~
MYSQL_DATABASE=storygenerator

五、总结:基础搭建的核心原则

从数据模型设计到大模型选型,再到开发环境配置,整个基础搭建阶段始终围绕“稳、准、灵”三大原则:

  • 稳:数据模型设计扎实,避免后期重构;依赖版本统一,减少环境冲突;

  • 准:大模型选型精准匹配儿童故事场景,不盲目追求“大而全”;

  • 灵:配置灵活,支持本地开发与后续部署快速切换;预留扩展字段,适配功能迭代。
    做好这些基础工作后,后续的故事生成、插图联动、音频合成等功能开发就能顺理成章地推进。

posted @ 2026-01-06 04:14  Moonbeamsc  阅读(11)  评论(0)    收藏  举报
返回顶端