An open API service indexing awesome lists of open source software.

https://github.com/halva773/ai-api-service

Модель текстовой бинарной классификации с интерфейсом API (DjangoRESTFramework)
https://github.com/halva773/ai-api-service

Last synced: about 1 year ago
JSON representation

Модель текстовой бинарной классификации с интерфейсом API (DjangoRESTFramework)

Awesome Lists containing this project

README

          

# API для классификации настроений

Этот проект представляет собой API-сервис, который применяет модель машинного обучения для классификации текста на позитивный или негативный. API построен с использованием Django REST Framework и может быть развернут с помощью Docker.

## Возможности

- **Эндпоинты**:
- **POST /predict**: Принимает текстовые данные и возвращает классификацию настроения (позитивное или негативное).
- **GET /predict**: Принимает текст через параметр запроса и возвращает классификацию настроения.

- **Модель**: Модель классифицирует текст как позитивный или негативный.

- **Развертывание**: Проект включает Dockerfile для легкого развертывания.

## Начало работы

### Предварительные требования

- **Docker**: Убедитесь, что Docker установлен на вашем компьютере.

### Установка

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

```bash
git clone https://github.com/yourusername/your-repository.git
cd your-repository
```

2. **Соберите Docker-образ**:

```bash
docker build -t sentiment_classification_api .
```

3. **Запустите Docker-контейнер**:

```bash
docker run -p 3001:8000 sentiment_classification_api
```

### Использование

Вы можете взаимодействовать с API с помощью инструментов, таких как `curl` или Postman.

- **POST-запрос**:

```bash
curl -X POST http://localhost:3001/predict/ -H "Content-Type: application/json" -d "{\"text\": \"I love it\"}"
```

**Ответ**:

```json
{
"prediction": "1"
}
```

- **GET-запрос**:

```bash
curl -X GET http://localhost:3001/predict/?text=I hate it
```

**Ответ**:

```json
{
"prediction": "0"
}
```

### Структура проекта

- `model/`: Содержит файлы Django-проекта.
- `AI/`: Содержит файл обученной модели (`text_classification_model.pkl`).
- `Dockerfile`: Dockerfile для контейнеризации приложения.
- `requirements.txt`: Python-зависимости для проекта.

### Dockerfile

Предоставленный Dockerfile используется для контейнеризации Django-приложения. Он устанавливает необходимые зависимости, копирует файлы проекта в контейнер и запускает приложение с помощью Gunicorn.