Перейти к основному содержимому

Облачные API Cognitive Services

Разработчику

Cognitive Services (термин Microsoft) обобщает готовые модели в облаке: вы отправляете изображение, аудио или текст по HTTPS и получаете JSON с результатом — без обучения своей нейросети и без GPU в своём ЦОД. Аналоги у Amazon (Rekognition, Transcribe, Comprehend), Google (Cloud Vision, Speech-to-Text, Natural Language API). Принципы интеграции те же, что у REST API.

Когда нужна полная кастомизация — см. Scikit-learn, Keras и распознавание своими моделями.


Зачем облачный API

ПлюсМинус
MVP за часыЗависимость от провайдера и региона
Масштаб без своего MLOpsСтоимость при миллионах вызовов
Обновление модели на стороне вендораДанные уходят в облако (комплаенс)
SDK на Python, C#, Java, RESTЛимиты квот и rate limit

Типичные сценарии: модерация контента, OCR счетов, субтитры к видео, теги на фото в каталоге, чат-бот с Azure OpenAI / Bedrock поверх тех же учётных записей.


Карта сервисов по задачам

ЗадачаMicrosoft AzureAmazon Web ServicesGoogle Cloud
Анализ изображенияAzure AI VisionRekognitionCloud Vision API
ЛицаVision (Face)Rekognition FacesVision (face detection)
OCR / документыDocument IntelligenceTextractDocument AI
Речь → текстSpeech to TextTranscribeSpeech-to-Text
Текст → речьSpeech (TTS)PollyText-to-Speech
Язык, NER, тонLanguage serviceComprehendNatural Language API
ПереводTranslatorTranslateCloud Translation
LLM / чатAzure OpenAI ServiceBedrockVertex AI (Gemini)

Названия продуктов меняются (ранее «Cognitive Services» часто объединяют в Azure AI services); в документации провайдера смотрите актуальный endpoint и версию API.


Общая схема вызова

  1. Создать ресурс в портале (Azure, AWS, GCP).
  2. Получить ключ и endpoint (или IAM-роль для AWS).
  3. Вызывать REST или официальный SDK.
  4. Логировать request-id, обрабатывать 429 (throttling) и 5xx с retry.

Секреты — в переменных окружения или Key Vault, не в репозитории.


Пример — Azure AI Vision (анализ изображения)

# pip install azure-ai-vision-imageanalysis
import os
from azure.ai.vision.imageanalysis import ImageAnalysisClient
from azure.ai.vision.imageanalysis.models import VisualFeatures
from azure.core.credentials import AzureKeyCredential

endpoint = os.environ["VISION_ENDPOINT"]
key = os.environ["VISION_KEY"]

client = ImageAnalysisClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)

with open("photo.jpg", "rb") as f:
result = client.analyze(
image_data=f.read(),
visual_features=[
VisualFeatures.CAPTION,
VisualFeatures.TAGS,
VisualFeatures.OBJECTS,
],
language="en",
)

if result.caption:
print(result.caption.text)
for tag in (result.tags.list if result.tags else []):
print(tag.name, tag.confidence)

Ответ может включать подпись кадра, теги, рамки объектов — пересекается с задачами из Распознавание лиц, объектов и текста.


Пример — AWS Rekognition (детекция лиц)

import boto3

client = boto3.client("rekognition", region_name="eu-central-1")

with open("photo.jpg", "rb") as f:
response = client.detect_faces(Image={"Bytes": f.read()}, Attributes=["DEFAULT"])

for face in response["FaceDetails"]:
box = face["BoundingBox"]
print(box["Width"], box["Height"], face["Confidence"])

Для сравнения лиц — CompareFaces; для коллекций — IndexFaces + SearchFacesByImage.


Пример — Google Cloud Vision (OCR)

from google.cloud import vision

client = vision.ImageAnnotatorClient()
with open("scan.png", "rb") as f:
image = vision.Image(content=f.read())

response = client.text_detection(image=image)
for text in response.text_annotations:
print(text.description)
break

Аутентификация — сервисный аккаунт JSON или Workload Identity в GKE.


LLM поверх того же облака

Чат и генерация текста часто идут отдельным продуктом:

  • Azure OpenAI — GPT-модели с enterprise SLA;
  • Amazon Bedrock — Claude, Llama и др.;
  • Vertex AI — Gemini.

Архитектура агентов и RAG — Семь слоёв LLM-стека, агенты ИИ. Cognitive API для зрения/речи можно комбинировать с LLM: OCR → текст → промпт в GPT.


Безопасность и эксплуатация

  • PII на изображениях и в транскриптах — минимизировать хранение, шифрование, договор DPA с провайдером.
  • Регион данных (EU, РФ) — выбирать endpoint в нужной юрисдикции.
  • Квоты — мониторинг в портале, алерты на 429.
  • Версионирование API — фиксировать версию в URL, тестировать при обновлении вендора.

Корпоративный контекст Microsoft — как IT видят облака; DevOps и CI для ML — MLOps в DevOps.


Когда уходить с API на свою модель

Облако перестаёт быть выгодным, если:

  • стабильно > миллионов вызовов в месяц при предсказуемой нагрузке;
  • нужен офлайн или закрытый контур без egress;
  • домен сильно отличается от публичных моделей (узкая медицинская визуализация, редкий язык).

Тогда — transfer learning, деплой ONNX/TFLite, собственный endpoint за API Gateway.

См. также

Другие статьи этого же раздела в боковом меню (как на странице "О разделе").