Spaces:
Sleeping
Sleeping
title: SkladBot Free AI | |
emoji: 🤖 | |
colorFrom: blue | |
colorTo: green | |
sdk: gradio | |
sdk_version: 5.34.2 | |
app_file: app.py | |
pinned: false | |
license: mit | |
# 🤖 SkladBot Free AI Microservice | |
**БЕСПЛАТНЫЙ** AI микросервис для обработки складских документов | |
## 🎯 Возможности | |
### 📸 OCR (Optical Character Recognition) | |
- **TrOCR для печатного текста** - извлечение текста с высокой точностью | |
- **TrOCR для рукописного текста** - обработка рукописных накладных | |
- **Table Transformer** - специализированная обработка таблиц | |
- **LayoutLM** - понимание структуры документов | |
### 🧠 Искусственный интеллект | |
- **Автоматическое определение типа документа** (накладная, таблица, форма) | |
- **Извлечение складских данных** (артикулы, количества, цены) | |
- **Парсинг команд** через русскую NER модель | |
- **Умные предложения** для исправления ошибок | |
### 📊 Поддерживаемые форматы | |
- Накладные и счета-фактуры | |
- Складские таблицы и остатки | |
- Рукописные документы | |
- Смешанные форматы (печатный + рукописный) | |
## 💰 Стоимость | |
### 100% БЕСПЛАТНО | |
- **0 рублей за использование** | |
- **20,000 запросов в месяц** без оплаты | |
- **Неограниченное время работы** | |
- **Без скрытых платежей** | |
## 🚀 Использование | |
### 1. Загрузка документа | |
```python | |
import requests | |
import base64 | |
# Загрузка изображения | |
with open("накладная.jpg", "rb") as f: | |
image_b64 = base64.b64encode(f.read()).decode() | |
# Отправка на обработку | |
response = requests.post("https://your-space.hf.space/api/extract", json={ | |
"image": image_b64, | |
"document_type": "auto" | |
}) | |
result = response.json() | |
``` | |
### 2. Результат обработки | |
```json | |
{ | |
"success": true, | |
"document_type": "invoice", | |
"extracted_items": [ | |
{ | |
"article": "F186ST9", | |
"quantity": 5, | |
"price": 1500.0, | |
"name": "ЛДСП Чикаго", | |
"confidence": 0.85 | |
} | |
], | |
"suggestions": [ | |
{ | |
"type": "missing_article", | |
"message": "Не найден артикул для товара 'Дуб'", | |
"action": "manual_input", | |
"priority": "high" | |
} | |
], | |
"confidence": 0.88, | |
"cost": 0.0 | |
} | |
``` | |
## 🔧 API Endpoints | |
### POST /api/extract | |
Основной endpoint для обработки документов | |
**Параметры:** | |
- `image` (string) - Base64 изображение или PIL Image | |
- `document_type` (string) - Тип документа: "auto", "invoice", "table", "form", "handwritten" | |
**Ответ:** | |
- `success` (bool) - Успешность обработки | |
- `extracted_items` (array) - Найденные товары | |
- `suggestions` (array) - Предложения по улучшению | |
- `confidence` (float) - Уровень уверенности (0-1) | |
- `cost` (float) - Стоимость обработки (всегда 0.0) | |
### GET /api/stats | |
Статистика работы сервиса | |
**Ответ:** | |
- `total_requests` (int) - Всего запросов | |
- `success_rate` (float) - Процент успешных обработок | |
- `uptime_hours` (float) - Время работы в часах | |
- `quota_used` (string) - Использованная квота "X/20000" | |
## 🧠 AI Модели | |
### Использованные модели (все БЕСПЛАТНЫЕ): | |
1. **microsoft/trocr-base-printed** - OCR печатного текста | |
2. **microsoft/trocr-base-handwritten** - OCR рукописного текста | |
3. **impira/layoutlm-document-qa** - Понимание структуры документов | |
4. **microsoft/table-transformer-structure-recognition** - Обработка таблиц | |
5. **cointegrated/rubert-tiny-ner** - Русская NER для товаров | |
## 📋 Примеры использования | |
### Обработка накладной | |
```python | |
result = process_warehouse_document( | |
image="накладная.jpg", | |
document_type="invoice" | |
) | |
# Результат: извлеченные товары, количества, цены | |
for item in result["extracted_items"]: | |
print(f"{item['article']}: {item['quantity']} шт по {item['price']} руб") | |
``` | |
### Обработка таблицы остатков | |
```python | |
result = process_warehouse_document( | |
image="остатки.png", | |
document_type="table" | |
) | |
# Результат: товары с остатками | |
for item in result["extracted_items"]: | |
print(f"На складе {item['article']}: {item['quantity']} шт") | |
``` | |
## 🔗 Интеграция | |
### Для SkladBot | |
```python | |
# Добавить в AI orchestrator | |
huggingface_service = HuggingFaceSpacesService() | |
result = await huggingface_service.extract_data(image_data, "auto") | |
``` | |
### Для других проектов | |
```python | |
import requests | |
def extract_warehouse_data(image_path, doc_type="auto"): | |
with open(image_path, "rb") as f: | |
image_b64 = base64.b64encode(f.read()).decode() | |
response = requests.post("https://your-space.hf.space/api/extract", json={ | |
"image": image_b64, | |
"document_type": doc_type | |
}) | |
return response.json() | |
``` | |
## 📊 Производительность | |
- **Скорость обработки**: 5-15 секунд на документ | |
- **Точность OCR**: 85-95% для печатного текста | |
- **Точность извлечения**: 80-90% для складских данных | |
- **Поддержка языков**: Русский, Английский | |
- **Максимальное разрешение**: 4096x4096 пикселей | |
## 🛠️ Техническая информация | |
### Системные требования | |
- **CPU**: 2 ядра (предоставляется HF Spaces) | |
- **RAM**: 16GB (предоставляется HF Spaces) | |
- **GPU**: Не требуется (все модели работают на CPU) | |
- **Хранилище**: 10GB для моделей | |
### Время запуска | |
- **Холодный старт**: 30-60 секунд (загрузка моделей) | |
- **Теплый старт**: 1-3 секунды | |
- **Автоматическое засыпание**: через 1 час неактивности | |
## 📞 Поддержка | |
### Сообщить об ошибке | |
Если нашли ошибку в обработке документов, создайте Issue с примером изображения | |
### Предложить улучшение | |
Идеи по новым функциям и улучшению точности приветствуются | |
### Коммерческое использование | |
Сервис полностью бесплатен для любого использования в рамках лимитов HF Spaces | |
--- | |
**🎯 Цель**: Обеспечить российские предприятия бесплатным и качественным AI для цифровизации складского учета | |
**💡 Философия**: Мощные AI возможности должны быть доступны всем без платных барьеров |