Суммаризация документов
Discuse сжимает длинные тексты или документы в краткое резюме с помощью POST /api/v2/summarize. Отправьте обычный текст (до 100 000 символов) или до 5 URL документов — и получите единый понятный summary. Это удобно, чтобы дать модераторам общее представление о длинной жалобе, тикете или загруженном файле до того, как они прочитают всё целиком.
Когда полезна суммаризация?
Очереди модерации быстро заполняются длинным контентом: обращениями в поддержку, вставленными статьями, многостраничными PDF, жалобами на условия обслуживания. Если проверяющему приходится читать каждое слово, процесс становится медленным и дорогим. Краткое резюме позволяет модератору быстро провести первичный разбор — понять, что требует полного прочтения, а что можно быстро одобрить или перенаправить.
Как сделать краткое резюме контента?
Передайте либо text, либо file_urls (одно из полей обязательно). Если используется file_urls, Discuse сначала извлекает текст из документов, а затем формирует резюме.
Суммаризация обычного текста
curl -X POST https://api.discuse.com/api/v2/summarize \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"text": "Long support thread or article text here..."
}'
Суммаризация документов
curl -X POST https://api.discuse.com/api/v2/summarize \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"file_urls": ["https://example.com/user-report.pdf"]
}'
Ответ
{
"summary": "A user reports repeated harassment from another account over three days, including direct messages and comments. They have screenshots and request the account be reviewed.",
"usage": {
"api_requests_used": 87,
"api_requests_limit": 500,
"api_requests_remaining": 413
}
}
Поля запроса
| Поле | Тип | Примечания |
|---|---|---|
api_key |
string | Необязательно в теле запроса; вместо него можно отправить X-API-Key |
text |
string | Текст для суммаризации, до 100 000 символов |
file_urls |
string[] | URL документов для чтения и суммаризации, до 5 |
Передайте одно из полей: text или file_urls. Если отправить оба, будет использовано text.
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
summary |
string | Сгенерированное резюме |
usage |
object | api_requests_used, api_requests_limit, api_requests_remaining |
Лимиты использования
Суммаризация доступна на платных тарифах; каждое резюме списывается один раз из вашей квоты на суммаризацию документов.
| Тариф | Резюме в месяц | Тариф за превышение |
|---|---|---|
| Basic | Недоступно | - |
| Gold | 100 | $0.02/summary |
| Platinum | 500 | $0.017/summary (скидка 15%) |
| Ultimate | 2,000 | $0.015/summary (скидка 25%) |
Если у проекта нет активной подписки, запросы на суммаризацию отклоняются.
Рекомендации
Используйте резюме для первичного разбора, а не для окончательного решения
Резюме — это вспомогательный инструмент для чтения, предназначенный для модераторов-людей, а не вердикт модерации. Используйте его, чтобы расставить приоритеты в очереди, а затем отправьте исходный контент через POST /api/v2/check (или модерируйте во время OCR), чтобы принять фактическое решение по правилам.
Используйте вместе с OCR для отсканированных документов
file_urls уже запускает OCR перед суммаризацией, поэтому отсканированный PDF или изображение с текстом можно обрабатывать напрямую — отдельный вызов OCR не нужен.
Соблюдайте ограничение по длине
text ограничен 100 000 символов. Для более длинных материалов делайте резюме по разделам и объединяйте их либо передайте документ по URL.
Примеры интеграции
Node.js
async function summarize({ text, fileUrls }) {
const response = await fetch('https://api.discuse.com/api/v2/summarize', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': process.env.DISCUSE_API_KEY
},
body: JSON.stringify(text ? { text } : { file_urls: fileUrls })
});
return response.json();
}
Python
import os
import requests
def summarize(text=None, file_urls=None):
payload = {'text': text} if text else {'file_urls': file_urls}
response = requests.post(
'https://api.discuse.com/api/v2/summarize',
headers={
'Content-Type': 'application/json',
'X-API-Key': os.environ['DISCUSE_API_KEY']
},
json=payload
)
return response.json()
Готовы ускорить обработку очереди проверок? Начните работу с Discuse.