2024-05-01 17:18:30 +08:00
|
|
|
|
# TakwayAI后端
|
|
|
|
|
|
|
|
|
|
### 项目架构
|
|
|
|
|
|
|
|
|
|
AI后端使用fastapi框架,采用分层架构
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
TakwayAI/
|
|
|
|
|
│
|
|
|
|
|
├── app/
|
|
|
|
|
│ ├── __init__.py # 应用初始化和配置
|
|
|
|
|
│ ├── main.py # 应用启动入口
|
|
|
|
|
│ ├── models/ # 数据模型定义
|
|
|
|
|
│ │ ├── __init__.py
|
|
|
|
|
│ │ ├── models.py # 数据库定义
|
|
|
|
|
│ ├── schemas/ # 请求和响应模型
|
|
|
|
|
│ │ ├── __init__.py
|
2024-05-18 17:58:12 +08:00
|
|
|
|
│ │ ├── user_schemas.py # 用户相关schema
|
2024-05-01 17:18:30 +08:00
|
|
|
|
│ │ └── ... # 其他schema
|
|
|
|
|
│ ├── controllers/ # 业务逻辑控制器
|
|
|
|
|
│ │ ├── __init__.py
|
2024-05-18 17:58:12 +08:00
|
|
|
|
│ │ ├── user_controllers.py # 用户相关控制器
|
2024-05-01 17:18:30 +08:00
|
|
|
|
│ │ └── ... # 其他控制器
|
|
|
|
|
│ ├── routes/ # 路由和视图函数
|
|
|
|
|
│ │ ├── __init__.py
|
2024-05-18 17:58:12 +08:00
|
|
|
|
│ │ ├── user_routes.py # 用户相关路由
|
2024-05-01 17:18:30 +08:00
|
|
|
|
│ │ └── ... # 其他路由
|
|
|
|
|
│ ├── dependencies/ # 依赖注入相关
|
|
|
|
|
│ │ ├── __init__.py
|
|
|
|
|
│ │ ├── database.py # 数据库依赖
|
|
|
|
|
│ │ └── ... # 其他依赖
|
|
|
|
|
│ └── exceptions/ # 自定义异常处理
|
|
|
|
|
│ ├── __init__.py
|
|
|
|
|
│ └── ... # 自定义异常类
|
|
|
|
|
│
|
|
|
|
|
├── tests/ # 测试代码
|
|
|
|
|
│ ├── __init__.py
|
|
|
|
|
| └── ...
|
|
|
|
|
│
|
|
|
|
|
├── config/ # 配置文件
|
|
|
|
|
│ ├── __init__.py
|
|
|
|
|
│ ├── production.py # 生产环境配置
|
|
|
|
|
│ ├── development.py # 开发环境配置
|
|
|
|
|
│ └── ... # 其他环境配置
|
|
|
|
|
│
|
|
|
|
|
├── utils/ # 工具函数和辅助类
|
|
|
|
|
│ ├── __init__.py
|
|
|
|
|
│ ├── stt # 语音转文本工具函数
|
|
|
|
|
│ ├── tts # 语音合成工具函数
|
|
|
|
|
│ └── ... # 其他工具函数
|
|
|
|
|
|
|
|
|
|
|
├── main.py #启动脚本
|
|
|
|
|
├── app.log # 日志文件
|
|
|
|
|
├── Dockerfile # 用于构建Docker镜像的Dockerfile
|
|
|
|
|
├── requirements.txt # 项目依赖列表
|
|
|
|
|
└── README.md # 项目说明文件
|
|
|
|
|
```
|
|
|
|
|
|
2024-05-01 18:20:56 +08:00
|
|
|
|
### 项目部署
|
|
|
|
|
|
|
|
|
|
#### (1) 将项目clone到本地:
|
|
|
|
|
|
|
|
|
|
``` shell
|
|
|
|
|
git clone http://43.132.157.186:3000/killua/TakwayPlatform.git
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### (2) 安装依赖
|
|
|
|
|
|
2024-05-18 17:58:12 +08:00
|
|
|
|
创建虚拟环境
|
|
|
|
|
|
|
|
|
|
``` shell
|
|
|
|
|
conda create -n takway
|
|
|
|
|
conda activate takway
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
安装pytorch和依赖
|
|
|
|
|
|
2024-05-01 18:20:56 +08:00
|
|
|
|
``` shell
|
|
|
|
|
cd TakwayAI/
|
2024-05-18 17:58:12 +08:00
|
|
|
|
pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118
|
2024-05-01 18:20:56 +08:00
|
|
|
|
pip install -r requirements.txt
|
|
|
|
|
```
|
|
|
|
|
|
2024-05-18 17:58:12 +08:00
|
|
|
|
#### (3)安装FunASR
|
|
|
|
|
|
|
|
|
|
本项目使用的FunASRE在github上的FunASR的基础上做了一些修改
|
|
|
|
|
|
|
|
|
|
``` shell
|
|
|
|
|
git clone http://43.132.157.186:3000/gaohz/FunASR.git
|
|
|
|
|
cd FunASR/
|
|
|
|
|
pip install -v -e .
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### (4) 修改配置
|
2024-05-01 18:20:56 +08:00
|
|
|
|
|
2024-05-01 18:27:51 +08:00
|
|
|
|
1. 安装mysql,在mysql中创建名为takway的数据库
|
|
|
|
|
2. 安装redis,将密码设置为takway
|
|
|
|
|
3. 打开config中的development.py文件修改mysql和redis连接字符串
|
2024-05-02 10:02:28 +08:00
|
|
|
|
|
2024-05-18 17:58:12 +08:00
|
|
|
|
#### (5) 导入vits模型
|
2024-05-02 10:02:28 +08:00
|
|
|
|
|
|
|
|
|
在utils/tts/目录下,创建vits_model文件夹
|
|
|
|
|
|
|
|
|
|
从[链接](https://huggingface.co/spaces/zomehwh/vits-uma-genshin-honkai/tree/main/model)下载 vits_model并放入该文件夹下,只需下载config.json和G_953000.pth即可
|