Skip to content

spam5041/ai-text-api

Repository files navigation

AI Text API

Backend API для сервиса, предоставляющего доступ к текстовым нейросетям.

Функциональные возможности

  • Аутентификация и авторизация пользователей (JWT)
  • Поддержка нескольких моделей (GPT-3.5, Gemini)
  • Система биллинга с внутренней валютой (кредиты)
  • Streaming ответов через SSE
  • Swagger документация

Технологии

  • Node.js + TypeScript
  • Express
  • PostgreSQL + TypeORM
  • JWT для авторизации
  • Swagger/OpenAPI для документации
  • Docker и Docker Compose для развертывания

Установка и запуск

Через Docker (рекомендуется)

  1. Убедитесь, что у вас установлены Docker и Docker Compose

  2. Клонируйте репозиторий:

git clone <repository-url>
cd ai-text-api
  1. Настройте переменные окружения в .env файле (по завершении удалите .example из имени файла)

  2. Запустите приложение(Docker):

docker-compose up -d

Приложение будет доступно по адресу: http://localhost:3000

Локальная установка

Убедитесь, что у вас установлены:

  • Node.js (v18+)
  • PostgreSQL
  1. Установите зависимости:
npm install 
  1. Запустите приложение:
npm run dev # для разработки

или

npm run build # для сборки
npm start # для запуска

API Документация

Swagger документация доступна по адресу: http://localhost:3000/api-docs

Основные эндпоинты

  • POST /auth/register - Регистрация пользователя
  • POST /auth/login - Вход в систему
  • POST /generate - Генерация текста
  • GET /balance - Получение баланса
  • POST /balance/update - Обновление баланса (только для админов)

Тестирование API

  1. Зарегистрируйте нового пользователя через POST /auth/register
  2. Получите JWT токен через POST /auth/login
  3. Используйте токен в заголовке Authorization для доступа к API
  4. Проверьте баланс через GET /balance
  5. Сгенерируйте текст через POST /generate

Разработка

Добавление новой модели

  1. Создайте новый класс, наследующий AIModel
  2. Реализуйте необходимые методы
  3. Добавьте модель в GenerationController.getModel()

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published