# AI 项目功能需求文档 | 项目 | 说明 | |------|------| | **目标** | 定义「提示词大师」AI 项目的功能范围、模块划分与 AI 能力需求 | | **版本号** | v1.0 | | **责任人** | 项目组 | | **最后更新日期** | 2026-02-23 | --- ## 变更记录 | 版本 | 日期 | 修改人 | 修改内容 | |------|------|--------|----------| | v1.0 | 2026-02-23 | 系统 | 初稿:基于代码分析整理功能与 AI 需求 | --- ## 1. 项目概述 ### 1.1 项目名称与定位 - **项目名称**:提示词大师(aitsc / flask_prompt_master) - **定位**:基于大语言模型(LLM)的智能提示词生成与多场景 AI 应用平台 - **技术栈**:Python 3.12、Flask、Gunicorn、SQLAlchemy、MySQL、DeepSeek API(OpenAI 兼容) ### 1.2 目标用户 - **Web 用户**:通过浏览器使用提示词生成、饭菜规划、古诗词解析、收藏与历史 - **微信小程序用户**:通过小程序使用提示词生成、意图识别、专家提示词、饭菜规划等 - **管理员**:通过 Flask-Admin 后台进行用户/内容/系统/数据分析管理 ### 1.3 访问与部署 - **服务端口**:5002 - **运行方式**:Gunicorn + run_dev:app,conda 环境 myenv - **文档**:参见《(红头)启动和停止.txt》 --- ## 2. 功能模块需求 ### 2.1 提示词生成(核心 AI 功能) | 需求编号 | 功能描述 | 优先级 | |----------|----------|--------| | F-101 | 用户输入简短描述,系统根据所选模板(或默认)调用 LLM 生成高质量提示词 | P0 | | F-102 | 支持按分类/行业/职业选择提示词模板,模板含系统提示词(system_prompt) | P0 | | F-103 | 生成结果持久化(Prompt 表),并写入历史(PromptHistory)供后续查看与优化 | P0 | | F-104 | 对生成结果支持反馈(评分、评论),写入 Feedback 表 | P1 | | F-105 | Web 端与微信端共用生成逻辑,微信端通过 /api/wx/generate 调用 | P0 | ### 2.2 意图识别与专家提示词(微信端增强) | 需求编号 | 功能描述 | 优先级 | |----------|----------|--------| | F-201 | 根据用户输入进行意图识别,返回推荐模板类别(如新闻获取、生成图片、网站开发、文案创作等) | P1 | | F-202 | 两阶段专家提示词:先做意图分析(返回 core_intent、domain、key_requirements 等 JSON),再按领域(技术/创意/分析/咨询)选用专家模板生成最终提示词 | P1 | | F-203 | 提供专家提示词生成页与 API:/expert_generate、/api/wx/generate/expert | P1 | ### 2.3 模板管理 | 需求编号 | 功能描述 | 优先级 | |----------|----------|--------| | F-301 | 模板数据存储在 PromptTemplate 表(name、description、category、industry、profession、system_prompt、is_default) | P0 | | F-302 | 提供按分类/意图/关键词的模板查询 API,供 Web 与微信端使用 | P0 | | F-303 | 支持内置/预置行业模板(写作、故事、短视频、设计、营销、开发、医疗、法律等)的初始化与维护 | P1 | ### 2.4 智能饭菜规划(AI) | 需求编号 | 功能描述 | 优先级 | |----------|----------|--------| | F-401 | 用户输入人数、餐型、家乡、喜好、禁忌、预算等,系统调用 LLM 生成地区化、可执行的饭菜清单(Markdown) | P0 | | F-402 | 支持保存规划到 MealPlan 表,支持历史列表与单条查看、删除 | P0 | | F-403 | 提供 Web 页 /meal-planning、/meal-planning/mobile、/meal-planning/history 及对应 API | P0 | ### 2.5 古诗词解析(AI) | 需求编号 | 功能描述 | 优先级 | |----------|----------|--------| | F-501 | 用户提供诗词标题、作者、朝代、翻译风格、解读深度等,系统调用 LLM 生成原文、译文、注释、解读(Markdown) | P0 | | F-502 | 支持收藏解析结果到 PoetryFavorite,支持列表、编辑、删除、统计、是否已收藏检查 | P0 | | F-503 | 提供古诗词示例页、解析页、收藏页及对应 API(/poetry/、/poetry/analyze、/poetry/examples、/poetry/favorites 等) | P0 | ### 2.6 收藏与历史 | 需求编号 | 功能描述 | 优先级 | |----------|----------|--------| | F-601 | 通用收藏:Favorite 管理,支持增删改查、统计、快速添加,路由 /favorites 及 /api/favorites/* | P1 | | F-602 | 提示词历史:PromptHistory 的查看、标签、批量操作、导出、统计、按模板筛选、保存为模板 | P0 | | F-603 | 优化历史:OptimizationHistory 及相关标签、收藏、用户使用统计(UserUsageStats) | P1 | ### 2.7 用户与认证 | 需求编号 | 功能描述 | 优先级 | |----------|----------|--------| | F-701 | Web 用户注册、登录、登出、个人资料、修改密码,登录态通过 Session 维护 | P0 | | F-702 | 微信小程序登录:code 换 openid/session_key,返回自定义 uid,后续接口按 uid 鉴权 | P0 | | F-703 | 部分接口需登录(如收藏、历史、个人数据),支持 /api/check-login、/api/profile/stats 等 | P0 | ### 2.8 管理后台(Flask-Admin) | 需求编号 | 功能描述 | 优先级 | |----------|----------|--------| | F-801 | 管理员独立登录(AdminUser),角色:admin、super_admin、system_admin | P0 | | F-802 | 用户管理、提示词管理、模板管理、系统管理、批量操作、系统监控、高级报表、数据备份、API 管理 | P1 | | F-803 | 数据分析(Analytics):仅 super_admin、system_admin 可访问,提供统计与图表(如 Plotly) | P1 | | F-804 | 后台登录/登出:/admin/login、/admin/logout | P0 | --- ## 3. AI / LLM 能力需求 ### 3.1 使用的模型与服务 | 项目 | 说明 | |------|------| | **服务** | DeepSeek API(OpenAI 兼容接口,base_url: https://api.deepseek.com/v1) | | **模型** | deepseek-chat | | **鉴权** | 通过 API Key(建议从环境变量 LLM_API_KEY 读取,避免硬编码) | ### 3.2 AI 场景与提示词策略 | 场景 | 系统角色/提示策略 | 输出形式 | |------|-------------------|----------| | 提示词生成 | 使用 DB 模板的 system_prompt 或默认「提示词工程师」 | 自然语言提示词 | | 意图识别 | 固定「意图识别专家」提示,仅返回类别 | 单一类别标签 | | 意图分析(专家) | 「意图分析专家」要求返回 JSON(core_intent、domain、key_requirements 等) | JSON | | 专家提示词生成 | 按 core_intent 选领域专家模板再生成 | 自然语言提示词 | | 饭菜规划 | 「地区智能饭菜清单规划师」,用户输入人数/餐型/家乡/喜好/禁忌/预算 | Markdown 清单 | | 古诗词解析 | 「古典文学专家/古诗词翻译家」,用户输入标题/作者/朝代/风格/深度 | 原文、译文、注释、解读(Markdown) | ### 3.3 调用参数与可靠性 | 项目 | 要求 | |------|------| | **temperature** | 通用生成 0.7;意图类 0.1 | | **max_tokens** | 约 500~2000(按场景配置) | | **超时** | 约 30~60 秒 | | **重试** | 提示词生成支持 max_retries(如 3 次) | ### 3.4 配置与安全 - **需求**:LLM API 的 base_url、api_key 应从配置/环境变量(如 LLM_API_URL、LLM_API_KEY)读取,禁止在生产环境硬编码。 - **现状**:部分路由仍存在硬编码 Key,需在后续迭代中统一为配置项。 --- ## 4. 数据与配置需求 ### 4.1 主要数据模型 | 模型 | 用途 | |------|------| | User | Web 用户(登录名、密码、昵称、手机、邮箱等) | | WxUser | 微信用户(openid、session_key、unionid、昵称、头像等) | | Prompt | 单次生成的输入与输出 | | Feedback | 对 Prompt 的评分与评论 | | PromptTemplate | 提示词模板(分类、行业、职业、system_prompt) | | MealPlan | 饭菜规划参数与结果内容 | | Favorite | 通用收藏 | | PoetryFavorite | 古诗词解析收藏 | | PromptHistory / HistoryTag | 提示词历史与标签 | | OptimizationHistory / OptimizationTag / OptimizationFavorite | 优化历史与标签、收藏 | | UserStatistics / UserUsageStats | 用户与使用统计 | | AdminUser | 后台管理员(用户名、密码、角色) | | SystemConfig | 系统配置项 | ### 4.2 环境与配置 - **多环境**:通过 FLASK_ENV 选择 development / production / testing / local,对应 config 目录下配置类。 - **关键配置项**:SECRET_KEY、DATABASE_URL、LLM_API_URL、LLM_API_KEY、WX_APPID、WX_SECRET、CORS_ORIGINS、LOG_LEVEL、SESSION_LIFETIME_HOURS、REDIS_URL(生产)、CACHE_TYPE 等。 ### 4.3 第三方依赖(核心) - Flask、flask-cors、flask-sqlalchemy、flask-migrate、flask-admin、flask-login - openai(兼容 DeepSeek)、requests、pymysql、python-dotenv - redis、waitress、psutil 等 --- ## 5. 非功能需求(摘要) | 类型 | 要求 | |------|------| | **可用性** | 服务端口 5002 稳定监听,支持多 worker 部署 | | **安全** | 管理员按角色控制;数据分析仅高权限角色;API Key 与密钥走配置/环境变量 | | **可维护性** | 日志输出到 logs/(gunicorn、app),便于排查 | | **兼容性** | Web 与微信小程序共用后端 API,需 CORS 与小程序域名配置 | --- ## 6. 关联资源 - **代码库**:/home/renjianbo/aitsc - **启动与停止说明**:(红头)启动和停止.txt - **主入口**:run_dev.py,应用工厂 src/flask_prompt_master/__init__.py create_app() --- *文档结束*