Initial commit: AI Interview System
This commit is contained in:
121
docs/技术选型.md
Normal file
121
docs/技术选型.md
Normal file
@@ -0,0 +1,121 @@
|
||||
# 技术选型
|
||||
|
||||
> 本项目技术选型说明,包含与框架规范的覆盖声明
|
||||
|
||||
---
|
||||
|
||||
## 一、遵循框架规范
|
||||
|
||||
| 层级 | 技术 | 说明 |
|
||||
|------|------|------|
|
||||
| **前端框架** | Vue 3 + TypeScript | 符合框架规范 |
|
||||
| **构建工具** | Vite | 符合框架规范 |
|
||||
| **UI 组件库** | Element Plus | 符合框架规范 |
|
||||
| **CSS 方案** | Tailwind CSS | 符合框架规范 |
|
||||
| **HTTP 客户端** | Axios | 符合框架规范 |
|
||||
| **状态管理** | Pinia | 按需使用 |
|
||||
| **后端框架** | Python + FastAPI | 符合框架规范 |
|
||||
| **容器化** | Docker + Docker Compose | 符合框架规范 |
|
||||
|
||||
---
|
||||
|
||||
## 二、技术选型覆盖
|
||||
|
||||
> 以下选项与框架默认规范不同,需特别说明
|
||||
|
||||
| 项目 | 框架默认 | 本项目选择 | 覆盖原因 |
|
||||
|------|----------|------------|----------|
|
||||
| **AI 网关** | OpenRouter.ai | Coze API | 复用已有 Coze 工作流,包含完整面试逻辑 |
|
||||
| **数据存储** | MySQL | Coze 数据库 | 复用现有数据结构,减少开发工作量 |
|
||||
| **实时音视频** | - | 火山引擎 RTC | 与 Coze 同属火山引擎生态,官方支持对接 |
|
||||
|
||||
---
|
||||
|
||||
## 三、第三方服务依赖
|
||||
|
||||
### 3.1 Coze 平台
|
||||
|
||||
| 资源 | ID | 用途 |
|
||||
|------|-----|------|
|
||||
| Bot(工作流) | 7595113005181386792 | AI 面试官对话逻辑 |
|
||||
| 数据库 | 7595077053909712922 | 候选人数据存储 |
|
||||
|
||||
**API 端点**:
|
||||
- 基础 URL:`https://api.coze.cn`
|
||||
- 文件上传:`POST /v1/files/upload`
|
||||
- 语音房间:`POST /v1/audio/rooms`
|
||||
- 数据库查询:`POST /v1/database/query`
|
||||
|
||||
### 3.2 火山引擎 RTC
|
||||
|
||||
| 配置项 | 说明 |
|
||||
|--------|------|
|
||||
| SDK | `@volcengine/rtc` |
|
||||
| 音频格式 | PCM 16000Hz |
|
||||
| 用途 | 前端与 Coze Bot 实时语音通话 |
|
||||
|
||||
---
|
||||
|
||||
## 四、环境变量
|
||||
|
||||
```bash
|
||||
# Coze 配置
|
||||
COZE_API_BASE=https://api.coze.cn
|
||||
COZE_PAT_TOKEN=pat_xxx # 从 Coze 平台获取
|
||||
COZE_BOT_ID=7595077233002840079
|
||||
COZE_DATABASE_ID=7595077053909712922
|
||||
|
||||
# 火山引擎 RTC 配置
|
||||
VOLCENGINE_APP_ID=xxx # 从火山引擎控制台获取
|
||||
VOLCENGINE_APP_KEY=xxx
|
||||
|
||||
# 服务配置
|
||||
API_PORT=8000
|
||||
FRONTEND_URL=http://localhost:5173
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 五、前端依赖清单
|
||||
|
||||
```json
|
||||
{
|
||||
"dependencies": {
|
||||
"vue": "^3.4.0",
|
||||
"vue-router": "^4.2.0",
|
||||
"pinia": "^2.1.0",
|
||||
"axios": "^1.6.0",
|
||||
"element-plus": "^2.5.0",
|
||||
"@element-plus/icons-vue": "^2.3.0",
|
||||
"@volcengine/rtc": "^4.x"
|
||||
},
|
||||
"devDependencies": {
|
||||
"typescript": "^5.3.0",
|
||||
"vite": "^5.0.0",
|
||||
"tailwindcss": "^3.4.0",
|
||||
"@vitejs/plugin-vue": "^5.0.0"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 六、后端依赖清单
|
||||
|
||||
```txt
|
||||
# requirements.txt
|
||||
fastapi>=0.109.0
|
||||
uvicorn>=0.27.0
|
||||
httpx>=0.26.0
|
||||
python-multipart>=0.0.6
|
||||
pydantic>=2.5.0
|
||||
python-dotenv>=1.0.0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 变更日志
|
||||
|
||||
| 日期 | 变更内容 | 操作人 |
|
||||
|------|---------|--------|
|
||||
| 2026-01-20 | 初始化技术选型 | AI |
|
||||
Reference in New Issue
Block a user