Backend API для сервиса, предоставляющего доступ к текстовым нейросетям.
- Аутентификация и авторизация пользователей (JWT)
- Поддержка нескольких моделей (GPT-3.5, Gemini)
- Система биллинга с внутренней валютой (кредиты)
- Streaming ответов через SSE
- Swagger документация
- Node.js + TypeScript
- Express
- PostgreSQL + TypeORM
- JWT для авторизации
- Swagger/OpenAPI для документации
- Docker и Docker Compose для развертывания
-
Убедитесь, что у вас установлены Docker и Docker Compose
-
Клонируйте репозиторий:
git clone <repository-url>
cd ai-text-api
-
Настройте переменные окружения в .env файле (по завершении удалите .example из имени файла)
-
Запустите приложение(Docker):
docker-compose up -d
Приложение будет доступно по адресу: http://localhost:3000
Убедитесь, что у вас установлены:
- Node.js (v18+)
- PostgreSQL
- Установите зависимости:
npm install
- Запустите приложение:
npm run dev # для разработки
или
npm run build # для сборки
npm start # для запуска
Swagger документация доступна по адресу: http://localhost:3000/api-docs
- POST /auth/register - Регистрация пользователя
- POST /auth/login - Вход в систему
- POST /generate - Генерация текста
- GET /balance - Получение баланса
- POST /balance/update - Обновление баланса (только для админов)
- Зарегистрируйте нового пользователя через POST /auth/register
- Получите JWT токен через POST /auth/login
- Используйте токен в заголовке Authorization для доступа к API
- Проверьте баланс через GET /balance
- Сгенерируйте текст через POST /generate
- Создайте новый класс, наследующий AIModel
- Реализуйте необходимые методы
- Добавьте модель в GenerationController.getModel()