Tento ukázkový scénář popisuje kanál pro hromadný příjem dat a analýzu dokumentů pocházejících z veřejných informačních kanálů RSS téměř v reálném čase. Služba Azure Cognitive Services poskytuje užitečné přehledy založené na překladu textu, rozpoznávání obličeje a detekci mínění. Konkrétně se kroky zpracování obrázků a přirozeného jazyka vzájemně propojují v kanálu zasílání zpráv na základě Azure Service Bus. Výstupem kanálu je oznámení obsahující přehled nebo analýzu.
Architektura
Stáhněte si soubor Visia s touto architekturou.
Tok dat
Data procházejí řešením následujícím způsobem:
Informační kanál RSS funguje jako generátor, který získává data z dokumentu nebo článku. Například u článku data obvykle obsahují název, souhrn původního textu zprávy a někdy i obrázky.
Generátor nebo proces příjmu dat vloží článek a všechny přidružené image do kolekce Azure Cosmos DB.
Oznámení aktivuje funkci ingestování v Azure Functions, která ukládá text článku ve službě Azure Cosmos DB a obrázky článků (pokud existují) do Azure Blob Storage. Článek se pak předá do další fronty.
Událost fronty aktivuje funkci překladu. Pomocí rozhraní API pro překlad textu služby Azure Cognitive Services rozpozná jazyk, v případě potřeby přeloží a shromáždí mínění, klíčové fráze a entity z textu a názvu. Pak předá článek do další fronty.
Funkce detekce se aktivuje z článku ve frontě. Používá službu Počítačové zpracování obrazu k detekci objektů, orientačních bodů a psaných slov v přidruženém obrázku a pak předá článek do další fronty.
Funkce rozpoznávání tváře se aktivuje z článku ve frontě. Pomocí služby Azure Api pro rozpoznávání tváře rozpozná tváře z hlediska pohlaví a věku na přidruženém obrázku a pak předá článek do další fronty.
Po dokončení všech funkcí se aktivuje funkce oznámení. Načte zpracované záznamy pro článek a vyhledá v nich všechny požadované výsledky. Pokud se najde, obsah se označí příznakem a do systému podle vašeho výběru se odešle oznámení.
V každém kroku zpracování funkce zapíše výsledky do služby Azure Cosmos DB. Nakonec je možné data použít podle potřeby. Můžete ho například použít k vylepšení obchodních procesů, vyhledání nových zákazníků nebo k identifikaci problémů se spokojeností zákazníků.
Komponenty
V tomto příkladu se používá následující seznam komponent Azure.
Azure Storage se používá k uložení souborů obrázků a videí raw přidružených k článku. Sekundární účet úložiště se vytvoří s Azure App Service a slouží k hostování kódu a protokolů funkce Azure Functions.
Azure Cosmos DB obsahuje text článků, obrázky a informace o sledování videí. Výsledky kroků služeb Cognitive Services jsou také uloženy zde.
Azure Functions spustí kód funkce, který slouží k odpovídání na zprávy fronty a transformaci příchozího obsahu. Azure App Service hostuje kód funkce a zpracovává záznamy sériově. Tento scénář zahrnuje pět funkcí: Ingestování, Transformace, Rozpoznat objekt, Tvář a Upozornit.
Azure Service Bus hostuje Azure Service Bus fronty používané funkcemi.
Azure Cognitive Services poskytuje AI pro kanál založený na implementacích služby Počítačové zpracování obrazu, rozhraní API pro rozpoznávání tváře a služby strojového překladu překladu překladu textu.
Aplikace Azure Insights poskytuje analýzy, které vám pomůžou diagnostikovat problémy a pochopit funkce vaší aplikace.
Alternativy
Místo použití vzoru založeného na oznámení frontě a Azure Functions byste pro tento tok dat mohli použít model tématu a předplatného. Azure Service Bus Témata lze použít k paralelnímu zpracování různých částí článku, nikoli k sériovému zpracování provedenému v tomto příkladu. Další informace najdete v porovnání front a témat.
Azure Logic Apps použijte k implementaci kódu funkce a k implementaci uzamčení na úrovni záznamů, jako je to, které poskytuje algoritmus Redlock (který je potřebný pro paralelní zpracování, dokud Azure Cosmos DB nepodporuje částečné aktualizace dokumentů). Další informace najdete v porovnání funkcí Functions a Logic Apps.
Implementujte tuto architekturu s využitím přizpůsobených komponent AI místo stávajících služeb Azure. Můžete například rozšířit kanál pomocí přizpůsobeného modelu, který detekuje určité osoby na obrázku na rozdíl od obecných údajů o počtu osob, pohlaví a věku shromážděných v tomto příkladu. Pokud chcete s touto architekturou používat přizpůsobené modely strojového učení nebo AI, sestavte modely jako koncové body RESTful, aby je bylo možné volat z Azure Functions.
Místo informačních kanálů RSS použijte jiný vstupní mechanismus. Použití více generátorů nebo procesů příjmu dat ke zdroji služeb Azure Cosmos DB a Azure Storage
Azure Cognitive Search je funkce AI ve službě Azure Search, kterou můžete použít také k extrakci textu z obrázků, objektů blob a dalších nestrukturovaných zdrojů dat.
Podrobnosti scénáře
Tento scénář obsahuje příklady pro informační kanály v angličtině, ruštině a němčině , ale můžete je snadno rozšířit na další informační kanály RSS a další jazyky. Pro usnadnění nasazení jsou shromažďování, zpracování a analýza dat zcela založeny na službách Azure.
Potenciální případy použití
I když je tento scénář založen na zpracování informačních kanálů RSS, je relevantní pro jakýkoli dokument, web nebo článek, kde byste museli:
- Přeložit text do jazyka podle výběru.
- Vyhledání klíčových frází, entit a mínění uživatelů v digitálním obsahu
- Rozpoznáte objekty, text a orientační body v obrázcích přidružených k digitálnímu článku.
- Na obrázcích spojených s digitálním obsahem rozpoznáte osoby podle pohlaví a věku.
Požadavky
Tyto aspekty implementují pilíře azure Well-Architected Framework, což je sada hlavních zásad, které lze použít ke zlepšení kvality úloh. Další informace najdete v tématu Microsoft Azure Well-Architected Framework.
Pro zjednodušení tento ukázkový scénář používá jenom několik dostupných rozhraní API a služeb ze služeb Azure Cognitive Services. Například text v obrázcích je možné analyzovat pomocí rozhraní API Analýza textu. Cílovým jazykem v tomto scénáři je angličtina, ale vstup můžete změnit na libovolný podporovaný jazyk.
Škálovatelnost
Azure Functions škálování závisí na vámi používaném plánu hostování. Toto řešení předpokládá plán Consumption, ve kterém se výpočetní výkon automaticky přiděluje funkcím v případě potřeby. Platíte jenom v případech, kdy jsou funkce spuštěné. Další možností je použít plán Dedicated, který umožňuje škálovat mezi úrovněmi a přidělit různé množství prostředků.
Se službou Azure Cosmos DB je klíčem distribuovat úlohy přibližně rovnoměrně mezi dostatečně velký počet klíčů oddílů. Neexistuje žádné omezení celkového množství dat, která může kontejner ukládat, ani na celkovou propustnost , kterou kontejner podporuje.
Správa a protokolování
Toto řešení používá Application Insights ke shromažďování informací o výkonu a protokolování. Instance Application Insights se vytvoří s nasazením ve stejné skupině prostředků jako ostatní služby potřebné pro toto nasazení.
Zobrazení protokolů vygenerovaných řešením:
Přejděte na Azure Portal a přejděte do skupiny prostředků vytvořené pro nasazení.
Vyberte instanci Application Insights .
V části Application Insights přejděte na Prozkoumat\Hledat a vyhledejte data.
Zabezpečení
Zabezpečení poskytuje záruku před úmyslnými útoky a zneužitím vašich cenných dat a systémů. Další informace najdete v tématu Přehled pilíře zabezpečení.
Azure Cosmos DB používá zabezpečené připojení a sdílený přístupový podpis prostřednictvím sady C# SDK od Microsoftu. Neexistují žádné jiné vnější plochy. Přečtěte si další informace o osvědčených postupech zabezpečení pro Službu Azure Cosmos DB.
Optimalizace nákladů
Optimalizace nákladů spočívá v hledání způsobů, jak snížit zbytečné náklady a zlepšit provozní efektivitu. Další informace najdete v tématu Přehled pilíře optimalizace nákladů.
Azure Cosmos DB je výkonná, ale v tomto nasazení se s tím účtují největší náklady . Můžete použít jiné řešení úložiště refaktoringem zadaného kódu Azure Functions.
Ceny za Azure Functions se liší v závislosti na plánu, ve kterém běží.
Nasazení tohoto scénáře
Poznámka
Musíte mít existující účet Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Veškerý kód pro tento scénář je k dispozici v úložišti GitHub . Toto úložiště obsahuje zdrojový kód použitý k sestavení aplikace generátoru, která bude kanálem pro tuto ukázku.
Další kroky
- Výběr analytického úložiště dat v Azure
- Volba technologie pro analýzu dat v Azure
- Volba technologie úložiště velkých objemů dat v Azure
- Úvod do služby Azure Blob Storage
- Vítá vás Azure Cosmos DB
- Seznámení s Azure Functions
Související prostředky
Další analytické architektury: