当前位置: 首页 > news >正文

AI群演请就位——个人博客(一)

一、项目背景

1.1 介绍

传统的互动叙事游戏(比如橙光游戏等各种文游)虽然精彩,但剧情分支是预先写好的,玩家终究在有限的选项里打转。经过讨论,我们小组想做一个基于大语言模型的、真正由AI驱动的互动叙事系统:由用户选择世界观(古代宫廷、修仙世界、现代校园、末世生存),AI即时生成剧情、角色对话和结局。每个AI角色拥有独立的性格、目标和隐藏身份,会根据你的行为改变态度,甚至骗你、背叛你。每一次游戏体验都是独一无二的。

1.2团队分工

我负责本项目的后端部分,主要负责以下功能的实现:

数据库设计:设计不少于11张数据表

API接口开发

AI模型对接模块

支持对接大模型API(千问),实现自动切换与负载均衡。

并发请求处理机制

支持最多10个角色同时调用AI接口的并发调度

二、技术选型

根据任务书对并发、响应速度、异步处理的要求,我选择了以下技术栈:

后端框架FastAPI原生异步支持,自动生成API文档,性能接近Go/Node.js
数据库MySQL 8.0 + SQLAlchemy ORM关系型数据库满足状态存储,ORM简化开发
异步驱动aiomysql纯Python实现,避免编译问题
数据库迁移Alembic版本化控制表结构
环境管理python-dotenv敏感信息隔离
服务器uvicorn支持ASGI,与FastAPI完美配合

三、开发环境搭建

3.1 创建虚拟环境

我使用Python自带的 venv 模块创建独立环境,避免污染全局Python。

# 在项目根目录执行 python -m venv venv

激活虚拟环境(Windows PowerShell):

.\venv\Scripts\Activate.ps1

激活成功,命令行前出现 (venv) 标识。

3.2 创建项目目录结构

我将我需要负责的内容发给deepseek,由它替我生成本项目初步的项目结构如下:

(发给deepseek的内容如下,这是我们在初期讨论环节商讨好的个人任务部分:

核心职责:负责服务端架构设计、API接口开发、数据库管理、角色行为逻辑实现、系统稳定性保障。

数据库设计:需要设计十一张以上的数据表,涵盖用户信息表、角色信息表、剧情记录表、状态历史表、事件日志表、会话记录表等,所有表需支持单表一百万条记录的存储,需部署MySQL数据库,配置索引优化,实现读写分离。同时需实现数据库自动备份机制,每日备份,备份数据保留三十天。

角色构建与设定:需要构建四十个以上的角色模板库,每个模板包含身份设定(如皇帝、魔尊、学霸、刺客等)、性格特征(如冷漠、温柔、疯狂、多疑等)、行为目标(如争权、复仇、守护、暗杀等)、隐藏身份(如刺客、卧底等)。需设计提示词让AI自动生成角色背景故事,每个角色平均三百字,生成准确率需达到百分之八十五以上。同时需设计算法自动生成角色间关系网,覆盖三层社交关系(盟友、敌对、隐藏),关系图生成覆盖率达到百分之百。

API接口开发:需要开发十五个以上的RESTful API接口,包括对话请求接口、状态查询接口、剧情推进接口、事件触发接口、结局判定接口、角色信息获取接口等。使用FastAPI框架自动生成Swagger接口文档,确保文档覆盖所有接口。还需实现用户会话管理和请求限流机制,限制每用户每分钟最多三十次请求。

剧情推进系统:需要实现事件条件判断引擎,支持好感度阈值、隐藏身份暴露度、关键物品获取等十五种以上条件类型,事件触发准确率达到百分之九十五以上。需实现AI自主推进功能,当用户无输入时通过定时任务触发AI角色间自主交互,支持最多十轮自主交互。结局判定逻辑方面,需实现基于状态组合的多结局判定,支持二十种以上结局。

AI模型对接:需要封装千问大模型的API调用,支持自动切换与负载均衡。需实现API调用失败后的重试机制,最多重试三次,并配置降级策略,确保系统整体可用性达到百分之九十九点五以上。

3.3编写 requirements.txt

fastapi==0.110.0 uvicorn[standard]==0.27.1 sqlalchemy==2.0.25 pymysql==1.1.0 aiomysql==0.2.0 alembic==1.13.1 python-dotenv==1.0.1 redis==5.0.1 celery==5.3.4 httpx==0.27.0 python-multipart==0.0.9 websockets==12.0 pytest==8.0.0 pytest-asyncio==0.23.5 tenacity==8.2.3

PS:我原本写了 asyncmy,但后来发现它在Windows上需要C++编译环境,于是替换为纯Python的 aiomysql 。同时保留 pymysql 作为同步驱动(后续给Alembic使用)。

3.4 安装依赖

pip install -r requirements.txt

遇到的问题:安装过程中 asyncmy 编译失败,提示需要 Microsoft Visual C++ 14.0。
解决办法:询问AI后,我将 asyncmy 从 requirements.txt 中移除,改用 aiomysql 。重新执行 pip install aiomysql pymysql,安装成功。

3.5 配置环境变量

在.env文件中,存放数据库连接等敏感信息

MYSQL_URL=mysql+aiomysql://root:my_password@localhost:3306/ai_story # Redis连接 REDIS_URL=redis://localhost:6379/0 # 千问API(从阿里云DashScope获取) QWEN_API_KEY=sk-你的真实key QWEN_BASE_URL=https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation # 其他可选配置 SECRET_KEY=your-secret-key-for-jwt ACCESS_TOKEN_EXPIRE_MINUTES=30

在 app/core/config.py 中读取这些变量。

3.6 验证FastAPI能否启动

我编写了一个最简单的 app/main.py ,来测试FastAPI能不能启动:

from fastapi import FastAPI app = FastAPI(title="AI群演请就位后端", version="1.0.0") @app.get("/") async def root(): return {"message": "AI Story Backend is running"}

启动服务:

uvicorn app.main:app --reload

访问 http://127.0.0.1:8000 ,看到 {"Message": "AI Story Backend is running"} ,说明环境搭建成功。

四、总结与下一步计划

4.1 已完成的工作

  • 项目背景调研与任务书量化指标确认

  • 技术选型(FastAPI + MySQL + SQLAlchemy + aiomysql)

  • 虚拟环境创建与依赖安装

  • FastAPI最小应用成功启动

4.2 下一步计划

搭建完环境之后,我的下一步计划是数据库表结构设计与Alembic迁移,完成十一张表单的创建。

http://www.jsqmd.com/news/637703/

相关文章:

  • 【架构演进】RPA 只能手动点运行?手把手教你引入“事件驱动”机制,打通 ERP 自动化的全闭环流水线
  • Pixel Aurora Engine 作品集:基于 YOLOv5 的目标定制化场景生成
  • 语义分割评价指标实战:从混淆矩阵到numpy高效计算
  • 零基础玩转STM32物联网项目:手把手搭建智能药盒与宠物喂食器(附完整代码与电路图)
  • 2026年质量好的记号笔装配机/制笔生产线设备可靠供应商推荐 - 品牌宣传支持者
  • opencore1.0.7 EFI
  • C# 大文件分片上传完整实现指南
  • 1 【3D Gaussian Splatting: From Theory to Real-Time Implementation】第一级:基础理论与数学建模
  • 万象视界灵坛部署案例:高校AI实验室零基础学生30分钟完成多模态项目搭建
  • 必收藏!AI小白/程序员轻松入门大模型,从AIGC到实战应用全解析
  • 2026年口碑好的中性笔装配机/苏州笔装配机/苏州白板笔装配机/苏州记号笔装配机用户口碑推荐厂家 - 行业平台推荐
  • 一键切换node版本
  • 收藏!小白程序员入门大模型的30个核心指标详解
  • Multi-Agent Planner:多智能体协作的架构设计
  • 武汉武昌环境好的写字楼出租排行榜
  • 知网AI率高怎么降?免费方法和付费工具效果实测对比
  • 小白程序员必看:零基础转型大模型应用开发,薪资涨幅超30%!收藏版学习路径分享
  • 小白程序员必看!2-3小时/天,3个月蜕变,轻松上手大模型,收藏这份高性价比学习路线
  • 不需要Memory Bank:CMDR-IAD用2D+3D双分支重建做工业异常检测,MVTec 3D 97.3%
  • Cogito-V1-Preview-Llama-3B在软件测试中的应用:自动生成测试用例与缺陷报告
  • 收藏!小白程序员必备:AI大模型技术入门与高薪就业指南
  • 如何在规划中融入因果推理能力?
  • 收藏 | AI Agent记忆机制详解:小白程序员必备,助你轻松入门大模型世界!
  • 深入解析Buffer在存储器电路设计中的关键作用:驱动能力与负载优化
  • TCGA 数据挖掘实战 —— WGCNA 模块与临床表型关联分析
  • Flutter video_player 2.10.1 插件避坑指南:从iOS权限到Web端CORS,一次搞定全平台配置
  • 2026年4月专业的清洗剂定制厂家推荐,VCI防锈海绵/气相防锈母粒/VCI气相防锈袋,清洗剂企业哪个值得选 - 品牌推荐师
  • 深入解析:零基础学深度学习需要学哪些框架?PyTorch 和 TensorFlow 选哪个?
  • SBTI在线测试:解锁趣味人格,3分钟读懂真实自我
  • 深入浅出讲解操作系统——实时调度