Album AI 项目使用教程
1. 项目的目录结构及介绍
Album AI 项目是一个基于 TypeScript 的开源项目,它使用 gpt-4o-mini 和 Haiku 作为视觉模型来自动识别图库中的图像元数据,并通过 RAG 技术实现与图库的对话。以下是项目的目录结构及其介绍:
album-ai/
├── .github/ # GitHub 相关模板和配置文件
├── images/ # 存储项目中的图片文件
├── sql/ # 数据库相关文件
├── src/ # 源代码目录
│ ├── common/ # 公共模块
│ ├── controllers/ # 控制器模块
│ ├── entities/ # 实体模块
│ ├── guards/ # 守卫模块
│ ├── interceptors/ # 拦截器模块
│ ├── modules/ # 模块目录
│ ├── services/ # 服务模块
│ ├── app.controller.ts # 应用控制器
│ └── main.ts # 应用入口文件
├── test/ # 测试文件目录
├── views/ # 视图文件目录
├── .env.example # 环境变量示例文件
├── .env.prod.example # 生产环境变量示例文件
├── .eslintrc.js # ESLint 配置文件
├── .gitignore # Git 忽略文件
├── .prettierrc # Prettier 配置文件
├── Dockerfile # Docker 配置文件
├── LICENSE # 项目许可证文件
├── README.md # 项目说明文件
├── README_CN.md # 项目说明文件(中文版)
├── build.sh # 构建脚本
├── docker-compose.yml # Docker 编排文件
├── nest-cli.json # Nest CLI 配置文件
├── package-lock.json # 包版本锁定文件
├── package.json # 项目包配置文件
├── start.sh # 启动脚本
└── stop.sh # 停止脚本
2. 项目的启动文件介绍
项目的启动文件为 src/main.ts
,这是 NestJS 应用的入口文件。以下是 main.ts
的基本内容:
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(8080);
}
bootstrap();
此文件创建了一个 NestJS 应用实例,并监听 8080 端口。
3. 项目的配置文件介绍
项目的配置文件主要包括以下两个环境变量文件:
.env.example
:本地开发环境变量示例文件,用于本地开发时的配置。.env.prod.example
:生产环境变量示例文件,用于生产环境的配置。
以下是 .env.example
的基本内容:
HOST_NAME=192.168.x.x:8080
PROXY_URL=192.168.x.x:7890
OPENAI_API_KEY=your_openai_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key
在本地开发时,你需要创建一个 .env
文件,并根据实际情况填写上述环境变量。在生产环境中,你应该使用 .env.prod
文件,并按照生产环境的实际情况配置环境变量。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考