TakwayPlatform/README.md

170 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# TakwayAI后端
### 项目架构
AI后端使用fastapi框架采用分层架构
```
TakwayAI/
├── app/
│ ├── __init__.py # 应用初始化和配置
│ ├── main.py # 应用启动入口
│ ├── models/ # 数据模型定义
│ │ ├── __init__.py
│ │ ├── models.py # 数据库定义
│ ├── schemas/ # 请求和响应模型
│ │ ├── __init__.py
│ │ ├── user_schemas.py # 用户相关schema
│ │ └── ... # 其他schema
│ ├── controllers/ # 业务逻辑控制器
│ │ ├── __init__.py
│ │ ├── user_controllers.py # 用户相关控制器
│ │ └── ... # 其他控制器
│ ├── routes/ # 路由和视图函数
│ │ ├── __init__.py
│ │ ├── user_routes.py # 用户相关路由
│ │ └── ... # 其他路由
│ ├── 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 # 项目说明文件
```
### 项目部署
#### (1) 将项目clone到本地:
``` shell
git clone http://43.132.157.186:3000/killua/TakwayPlatform.git
```
#### (2) 安装依赖
创建虚拟环境
``` shell
conda create -n takway python=3.9
conda activate takway
```
安装依赖
``` shell
cd TakwayPlatform/
pip install -r requirements.txt
```
#### (3) 安装openvoice
如果你的本地环境可以科学上网,则直接运行下面两行指令
``` shell
pip install git+https://github.com/myshell-ai/MeloTTS.git
python -m unidic download
```
如果不能科学上网
则先运行
``` shell
pip install git+https://github.com/myshell-ai/MeloTTS.git
```
1. unidic安装
然后手动下载[unidic.zip](https://cotonoha-dic.s3-ap-northeast-1.amazonaws.com/unidic-3.1.0.zip)并手动改名为unidic.zip
这边以miniconda举例如果用的是conda应该也是一样的
将unidic.zip拷贝入~/miniconda3/envs/takway/lib/python3.9/site-packages/unidic
cd进入~/miniconda3/envs/takway/lib/python3.9/site-packages/unidic
vim download.py
将函数download_version()中除了最后一行全部注释掉并且把最后一行的download_and_clean()的两个参数任意修改,比如"hello","world"
再将download_and_clean()函数定义位置注释掉该函数中的download_process()行
运行`python -m unidic download`
2. huggingface配置
运行命令
```shell
pip install -U huggingface_hub
export HF_ENDPOINT=https://hf-mirror.com
```
最好把`export HF_ENDPOINT=https://hf-mirror.com`写入~/.bashrc不然每次重启控制台终端就会失效
3. nltk_data下载
在/miniconda3/envs/takway/下创建nltk_data文件夹
在nltk_data文件夹下创建corpora和taggers文件夹
手动下载[cmudict.zip](https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/cmudict.zip)和[averaged_perceptron_tragger.zip](https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/taggers/averaged_perceptron_tagger.zip)
将cmudict.zip放入corpora文件夹下
将averaged_perceptron_tragger.zip放入taggers文件夹下
#### (4) 安装FunASR
本项目使用的FunASRE在github上的FunASR的基础上做了一些修改
``` shell
git clone http://43.132.157.186:3000/gaohz/FunASR.git
cd FunASR/
pip install -v -e .
```
#### (5) 修改配置
1. 安装mysql在mysql中创建名为takway的数据库
2. 安装redis将密码设置为takway
3. 打开config中的development.py文件修改mysql和redis连接字符串
#### (6) 导入vits模型
在utils/tts/目录下创建vits_model文件夹
从[链接](https://huggingface.co/spaces/zomehwh/vits-uma-genshin-honkai/tree/main/model)下载 vits_model并放入该文件夹下只需下载config.json和G_953000.pth即可
#### (7) 启动程序
``` shell
cd TakwayPlatform
python main.py
```