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. Používá azure Cognitive Services k poskytování užitečných přehledů na základě překladu textu, rozpoznávání obličeje a detekce mínění. Konkrétně jsou kroky zpracování obrázků a přirozeného jazyka propojené v kanálu zasílání zpráv založeném na službě Azure Service Bus. Výstupem kanálu je oznámení obsahující přehled nebo analýzu.
Architektura
Stáhněte si soubor aplikace Visio s touto architekturou.
Tok dat
Data procházejí tímto řešením:
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 příspěvku a někdy 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í ve službě Azure Functions, která ukládá text článku ve službě Azure Cosmos DB a obrázky článků (pokud existují) ve službě 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žeb Azure AI 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. Potom článek předá další frontě.
Funkce detect se aktivuje z článku zařazeného do fronty. Pomocí služby Počítačové zpracování obrazu rozpozná objekty, orientační body a napsaná slova 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ě. Používá službu Rozhraní API pro rozpoznávání tváře Azure k detekci tváří pro pohlaví a věk v přidruženém obrázku a pak předá článek do další fronty.
Po dokončení všech funkcí se aktivuje funkce upozornění. Načte zpracované záznamy pro článek a vyhledá všechny požadované výsledky. Pokud se tento obsah najde, označí se 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. V konečném důsledku 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 identifikaci problémů se spokojeností zákazníků.
Komponenty
V tomto příkladu se používá následující seznam komponent Azure.
Azure Storage slouží k ukládání nezpracovaných obrázků a videosouborů přidružených k článku. Sekundární účet úložiště se vytvoří se službou Aplikace Azure Service a slouží k hostování kódu a protokolů funkce Azure.
Azure Cosmos DB obsahuje text článku, obrázek a informace o sledování videa. Výsledky kroků služeb Azure AI se také ukládají tady.
Azure Functions spustí kód funkce, který slouží k odpovídání na zprávy fronty a transformaci příchozího obsahu. Aplikace Azure Služba 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 Notify.
Azure Service Bus hostuje fronty Služby Azure Service Bus používané funkcemi.
Služby Azure AI poskytují AI pro kanál na základě implementací služby Počítačové zpracování obrazu, rozhraní API pro rozpoznávání tváře a služby strojového překladu textu.
Aplikace Azure lication Insights poskytuje analýzy, které vám pomůžou diagnostikovat problémy a porozumět funkcím vaší aplikace.
Alternativy
Místo použití vzoru založeného na oznámení frontě a azure Functions můžete pro tento tok dat použít model tématu a odběru . Témata služby Azure Service Bus je možné použít ke zpracování různých částí článku paralelně, a ne k sériovému zpracování provedenému v tomto příkladu. Další informace najdete v porovnání front a témat.
Pomocí Azure Logic Apps implementujte kód funkce a implementujte zamykání na úrovni záznamů, jako je například takové, které poskytuje algoritmus Redlock (který je nutný pro paralelní zpracování, dokud Azure Cosmos DB nepodporuje částečné aktualizace dokumentů). Další informace najdete v porovnání funkcí a Logic Apps.
Implementujte tuto architekturu pomocí přizpůsobených komponent AI, nikoli stávajících služeb Azure. Například rozšiřte kanál pomocí přizpůsobeného modelu, který detekuje určité osoby na obrázku, na rozdíl od obecného počtu lidí, 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 ze služby 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 k podávání služby Azure Cosmos DB a Azure Storage
Azure Cognitive Search je funkce umělé inteligence ve službě Azure Search , která se dá 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 anglické, ruské a německé informační kanály, ale můžete ho snadno rozšířit na další informační kanály RSS a další jazyky. Pro snadné nasazení je shromažďování, zpracování a analýza dat založená výhradně 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 potřebujete:
- Přeloží text do vybraného jazyka.
- Vyhledání klíčových frází, entit a mínění uživatelů v digitálním obsahu
- Rozpozná objekty, text a orientační body na obrázcích přidružených k digitálnímu článku.
- Rozpoznávání lidí podle pohlaví a věku na obrázcích spojených s digitálním obsahem
Důležité informace
Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada hlavních principů, které je možné použít ke zlepšení kvality úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.
Pro zjednodušení tento ukázkový scénář používá pouze několik dostupných rozhraní API a služeb ze služeb Azure AI. Například text v obrázcích je možné analyzovat pomocí rozhraní ANALÝZA TEXTU API. Cílový jazyk v tomto scénáři se předpokládá jako angličtina, ale vstup můžete změnit na libovolný podporovaný jazyk.
Zabezpečení
Zabezpečení poskytuje záruky proti záměrným útokům a zneužití cenných dat a systémů. Další informace najdete v kontrolním seznamu pro kontrolu návrhu zabezpečení.
Azure Cosmos DB používá zabezpečené připojení a sdílený přístupový podpis prostřednictvím sady SDK jazyka C#, kterou poskytuje Microsoft. Neexistují žádné další externě orientované 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ů
Optimalizacenákladůch Další informace najdete v kontrolním seznamu pro kontrolu návrhu pro optimalizaci nákladů.
Azure Cosmos DB je výkonný, ale za toto nasazení se účtují největší náklady . Můžete použít jiné řešení úložiště refaktoringem poskytnutého kódu Azure Functions.
Ceny služby Azure Functions se liší v závislosti na plánu , ve kterém běží.
Efektivita provozu
Efektivita provozu se zabývá provozními procesy, které nasazují aplikaci a udržují ji spuštěnou v produkčním prostředí. Další informace najdete v kontrolním seznamu pro kontrolu návrhu pro efektivitu provozu.
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 Web 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 do části Prozkoumat\Hledat a prohledat data.
Efektivita výkonu
Efektivita výkonu je schopnost vaší úlohy škálovat tak, aby splňovala požadavky, které na ni mají uživatelé efektivním způsobem. Další informace najdete v kontrolním seznamu pro kontrolu návrhu týkajícího se efektivity výkonu.
Škálování Azure Functions závisí na plánu hostování, který používáte. 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 vyhrazený plán, který umožňuje škálovat mezi úrovněmi a přidělit různé množství prostředků.
Díky službě Azure Cosmos DB je klíčem distribuovat úlohy zhruba rovnoměrně mezi dostatečně velký počet klíčů oddílů. Neexistuje žádné omezení celkového množství dat, která kontejner může uložit, nebo na celkovou propustnost , kterou kontejner podporuje.
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í generátorové aplikace, která kanál pro tuto ukázku podává.
Další kroky
- Výběr analytického úložiště dat v Azure
- Volba technologie analýzy dat v Azure
- Volba technologie úložiště pro velké objemy 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: