Instalace kontejneru OCR ve verzi Ga pro azure AI Vision 3.2
Kontejnery umožňují spouštět rozhraní API služby Azure AI Vision ve vlastním prostředí a můžou vám pomoct splnit konkrétní požadavky na zabezpečení a zásady správného řízení dat. V tomto článku se dozvíte, jak stáhnout, nainstalovat a spustit kontejner Azure AI Vision Read (OCR).
Kontejner Pro čtení umožňuje extrahovat tištěný a ručně psaný text z obrázků a dokumentů ve formátech souborů JPEG, PNG, BMP, PDF a TIFF. Další informace o službě Čtení najdete v průvodci postupy rozhraní API pro čtení.
Co je nového
Verze 3.2-model-2022-04-30
GA kontejneru Read je k dispozici s podporou 164 jazyků a dalších vylepšení. Pokud jste stávající zákazník, začněte podle pokynů ke stažení.
Kontejner OCR pro čtení 3.2 je nejnovější model GA a poskytuje:
- Nové modely pro vyšší přesnost.
- Podpora více jazyků v rámci stejného dokumentu
- Podpora celkem 164 jazyků Podívejte se na úplný seznam jazyků podporovaných službou OCR.
- Jedna operace pro dokumenty i obrázky.
- Podpora větších dokumentů a obrázků
- Skóre spolehlivosti
- Podpora dokumentů s tiskem i rukou psaným textem
- Možnost extrahovat text pouze z vybraných stránek v dokumentu
- Zvolte výstupní pořadí řádků textu z výchozího nastavení do přirozenějšího pořadí čtení pouze pro jazyky latinky.
- Klasifikace čar textu pouze jako ručně psaný styl nebo ne pro jazyky latinky.
Pokud dnes používáte kontejner Read 2.0, přečtěte si průvodce migrací a seznamte se se změnami v nových verzích.
Požadavky
Před použitím kontejnerů musíte splnit následující požadavky:
Požaduje se | Účel |
---|---|
Docker Engine | Potřebujete nainstalovaný Modul Dockeru na hostitelském počítači. Docker poskytuje balíčky, které nakonfigurují prostředí Dockeru v systému macOS, Windows a Linux. Základní informace o Dockeru a kontejnerech najdete v článku Docker Overview (Přehled Dockeru). Docker musí být nakonfigurovaný tak, aby se kontejnery mohly připojit a odesílat fakturační data do Azure. Ve Windows musí být Docker také nakonfigurovaný tak, aby podporoval kontejnery Linuxu. |
Znalost Dockeru | Měli byste mít základní znalosti konceptů Dockeru, jako jsou registry, úložiště, kontejnery a image kontejnerů, a také znalosti základních docker příkazů. |
prostředek Počítačové zpracování obrazu | Abyste mohli kontejner používat, musíte mít: Prostředek Počítačové zpracování obrazu a přidružený klíč rozhraní API identifikátor URI koncového bodu. Obě hodnoty jsou k dispozici na stránkách Přehled a Klíče pro prostředek a jsou potřeba ke spuštění kontejneru. {API_KEY}: Jeden ze dvou dostupných klíčů prostředků na stránce Klíče {ENDPOINT_URI}: Koncový bod uvedený na stránce Přehled |
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Shromáždění požadovaných parametrů
Jsou vyžadovány tři primární parametry pro všechny kontejnery Azure AI. Licenční podmínky pro software společnosti Microsoft musí být k dispozici s hodnotou přijetí. Vyžaduje se také identifikátor URI koncového bodu a klíč rozhraní API.
Identifikátor URI koncového bodu
Tato {ENDPOINT_URI}
hodnota je k dispozici na stránce Přehled webu Azure Portal odpovídajícího prostředku služeb Azure AI. Přejděte na stránku Přehled, najeďte myší na koncový bod a zobrazí se ikona Kopírovat do schránky. Zkopírujte koncový bod a použijte ho tam, kde je to potřeba.
Klávesy
Hodnota {API_KEY}
se používá ke spuštění kontejneru a je k dispozici na stránce Klíče webu Azure Portal odpovídajícího prostředku služeb Azure AI. Přejděte na stránku Klíče a vyberte ikonu Kopírovat do schránky.
Důležité
Tyto klíče předplatného se používají pro přístup k rozhraní API služeb Azure AI. Nesdílejte klíče. Bezpečně je uložte. Použijte například Azure Key Vault. Doporučujeme tyto klíče pravidelně znovu vygenerovat. K volání rozhraní API je nutný jenom jeden klíč. Při opětovném vygenerování prvního klíče můžete pro pokračování přístupu ke službě použít druhý klíč.
Požadavky na hostitelský počítač
Hostitel je počítač založený na platformě x64, na kterém běží kontejner Dockeru. Může to být počítač v místním prostředí nebo hostitelská služba Dockeru v Azure, například:
- Azure Kubernetes Service.
- Azure Container Instances.
- Cluster Kubernetes nasazený do služby Azure Stack. Další informace najdete v tématu Nasazení Kubernetes do služby Azure Stack.
Podpora rozšíření Advanced Vector
Hostitelský počítač je počítač, na kterém běží kontejner Dockeru. Hostitel musí podporovat rozšířená vektorová rozšíření (AVX2). Podporu AVX2 můžete zkontrolovat na hostitelích s Linuxem pomocí následujícího příkazu:
grep -q avx2 /proc/cpuinfo && echo AVX2 supported || echo No AVX2 support detected
Upozorňující
K podpoře AVX2 se vyžaduje hostitelský počítač. Kontejner nebude správně fungovat bez podpory AVX2.
Požadavky na kontejnery a doporučení
Poznámka:
Požadavky a doporučení jsou založeny na srovnávacích testech s jedním požadavkem za sekundu pomocí 523kB obrázku naskenovaného obchodního dopisu, který obsahuje celkem 29 řádků a celkem 803 znaků. Doporučená konfigurace způsobila přibližně 2x rychlejší odezvu v porovnání s minimální konfigurací.
Následující tabulka popisuje minimální a doporučené přidělení prostředků pro každý kontejner OCR pro čtení.
Kontejner | Minimum | Doporučeno |
---|---|---|
Čtení 3.2 2022-04-30 | 4 jádra, 8 GB paměti | 8 jader, 16 GB paměti |
Čtení 3.2 2021-04-12 | 4 jádra, 16 GB paměti | 8 jader, 24 GB paměti |
- Každé jádro musí mít alespoň 2,6 gigahertz (GHz) nebo rychlejší.
Jádro a paměť odpovídají hodnotám --cpus
a --memory
nastavením, které se používají jako součást docker run
příkazu.
Získání image kontejneru
Image kontejneru Azure AI Vision Read OCR najdete v syndikátu registru kontejneru mcr.microsoft.com
. Nachází se v úložišti azure-cognitive-services
a má název read
. Plně kvalifikovaný název image kontejneru je . mcr.microsoft.com/azure-cognitive-services/vision/read
Pokud chcete použít nejnovější verzi kontejneru, můžete použít latest
značku. Úplný seznam značek najdete také v MCR.
K dispozici jsou následující image kontejneru pro čtení.
Kontejner | Container Registry / Repository / Image Name | Značky |
---|---|---|
Přečíst 3.2 GA | mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30 |
nejnovější, 3.2, 3.2-model-2022-04-30 |
docker pull
Pomocí příkazu stáhněte image kontejneru.
docker pull mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30
Tip
K výpisu stažených imagí kontejnerů můžete použít příkaz docker images . Následující příkaz například vypíše ID, úložiště a značku každé stažené image kontejneru, která je formátovaná jako tabulka:
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
IMAGE ID REPOSITORY TAG
<image-id> <repository-path/name> <tag-name>
Jak používat kontejner
Jakmile je kontejner v hostitelském počítači, použijte následující postup pro práci s kontejnerem.
- Spusťte kontejner s požadovaným nastavením fakturace. K dispozici jsou další příklady
docker run
příkazu. - Zadejte dotaz na koncový bod předpovědi kontejneru.
Spuštění kontejneru
Ke spuštění kontejneru použijte příkaz docker run. Podrobné informace o získání a získání {ENDPOINT_URI}
hodnot najdete {API_KEY}
v požadovaných parametrech.
docker run
Příklady příkazu jsou k dispozici.
docker run --rm -it -p 5000:5000 --memory 16g --cpus 8 \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30 \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Výše uvedený příkaz:
- Spustí nejnovější kontejner GA pro čtení OCR z image kontejneru.
- Přidělí 8 jader procesoru a 16 gigabajtů (GB) paměti.
- Zpřístupní port TCP 5000 a přidělí pro kontejner pseudo-TTY.
- Po ukončení kontejneru se automaticky odebere. Image kontejneru je stále dostupná na hostitelském počítači.
Kontejner můžete také spustit pomocí proměnných prostředí:
docker run --rm -it -p 5000:5000 --memory 16g --cpus 8 \
--env Eula=accept \
--env Billing={ENDPOINT_URI} \
--env ApiKey={API_KEY} \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30
K dispozici jsou další příklady docker run
příkazu.
Důležité
Billing
Aby se kontejner spustil, musí být zadány Eula
a ApiKey
možnosti. V opačném případě se kontejner nespustí. Další informace najdete v tématu Fakturace.
Pokud k ukládání imagí ke zpracování používáte Azure Storage, můžete vytvořit připojovací řetězec, který se použije při volání kontejneru.
Vyhledání připojovací řetězec:
- Na webu Azure Portal přejděte k účtům úložiště a vyhledejte svůj účet.
- V levém navigačním seznamu vyberte přístupové klávesy .
- Váš připojovací řetězec bude umístěn pod připojovacím řetězcem.
Spuštění více kontejnerů na stejném hostiteli
Pokud máte v úmyslu spouštět více kontejnerů s vystavenými porty, nezapomeňte jednotlivé kontejnery spouštět s jiným vystaveným portem. Například spusťte první kontejner na portu 5000 a druhý kontejner na portu 5001.
Tento kontejner a jiný kontejner služeb Azure AI můžete mít spuštěný společně na hostiteli. Můžete mít také několik kontejnerů stejného kontejneru služeb Azure AI spuštěných.
Ověření, že je kontejner spuštěný
Existuje několik způsobů, jak ověřit, že je kontejner spuštěný. Vyhledejte externí IP adresu a vystavený port kontejneru a otevřete svůj oblíbený webový prohlížeč. Pomocí různých adres URL požadavků, které následují, ověřte, že kontejner běží. Tady jsou uvedené http://localhost:5000
ukázkové adresy URL požadavků, ale váš konkrétní kontejner se může lišit. Ujistěte se, že spoléháte na externí IP adresu kontejneru a vystavený port.
Zadání dotazu do prediktivního koncového bodu kontejneru
Kontejner poskytuje rozhraní API prediktivního koncového bodu pro dotazy založené na REST.
Pro rozhraní API kontejneru použijte hostitele http://localhost:5000
. Cestu Swagger si můžete prohlédnout na adrese: http://localhost:5000/swagger/
.
Asynchronní čtení
Operace a GET /vision/v3.2/read/operations/{operationId}
operace můžete použít POST /vision/v3.2/read/analyze
k asynchronnímu čtení obrázku, podobně jako služba Azure AI Vision používá tyto odpovídající operace REST. Asynchronní metoda POST vrátí metodu operationId
, která se použije jako identifikátor požadavku HTTP GET.
V uživatelském rozhraní swagger vyberte Analyze
možnost rozbalení v prohlížeči. Pak vyberte Vyzkoušet>soubor Zvolit. V tomto příkladu použijeme následující obrázek:
Když se asynchronní post úspěšně spustí, vrátí stavový kód HTTP 202 . V rámci odpovědi je hlavička operation-location
, která obsahuje koncový bod výsledku požadavku.
content-length: 0
date: Fri, 04 Sep 2020 16:23:01 GMT
operation-location: http://localhost:5000/vision/v3.2/read/operations/a527d445-8a74-4482-8cb3-c98a65ec7ef9
server: Kestrel
Jedná se operation-location
o plně kvalifikovanou adresu URL, ke které se přistupuje přes HTTP GET. Tady je odpověď JSON z provedení operation-location
adresy URL z předchozího obrázku:
{
"status": "succeeded",
"createdDateTime": "2021-02-04T06:32:08.2752706+00:00",
"lastUpdatedDateTime": "2021-02-04T06:32:08.7706172+00:00",
"analyzeResult": {
"version": "3.2.0",
"readResults": [
{
"page": 1,
"angle": 2.1243,
"width": 502,
"height": 252,
"unit": "pixel",
"lines": [
{
"boundingBox": [
58,
42,
314,
59,
311,
123,
56,
121
],
"text": "Tabs vs",
"appearance": {
"style": {
"name": "handwriting",
"confidence": 0.96
}
},
"words": [
{
"boundingBox": [
68,
44,
225,
59,
224,
122,
66,
123
],
"text": "Tabs",
"confidence": 0.933
},
{
"boundingBox": [
241,
61,
314,
72,
314,
123,
239,
122
],
"text": "vs",
"confidence": 0.977
}
]
},
{
"boundingBox": [
286,
171,
415,
165,
417,
197,
287,
201
],
"text": "paces",
"appearance": {
"style": {
"name": "handwriting",
"confidence": 0.746
}
},
"words": [
{
"boundingBox": [
286,
179,
404,
166,
405,
198,
290,
201
],
"text": "paces",
"confidence": 0.938
}
]
}
]
}
]
}
}
Důležité
Pokud za nástrojem pro vyrovnávání zatížení nasadíte několik kontejnerů OCR pro čtení, například v rámci Docker Compose nebo Kubernetes, musíte mít externí mezipaměť. Protože kontejner zpracování a kontejner požadavku GET nemusí být stejné, externí mezipaměť ukládá výsledky a sdílí je mezi kontejnery. Podrobnosti o nastavení mezipaměti najdete v tématu Konfigurace kontejnerů Dockeru ve službě Azure AI Vision.
Synchronní čtení
K synchronnímu čtení obrázku můžete použít následující operaci.
POST /vision/v3.2/read/syncAnalyze
Když se obrázek přečte celý, pak a teprve pak rozhraní API vrátí odpověď JSON. Jedinou výjimkou tohoto chování je, pokud dojde k chybě. Pokud dojde k chybě, vrátí se následující JSON:
{
"status": "Failed"
}
Objekt odpovědi JSON má stejný graf objektů jako asynchronní verze. Pokud jste uživatel JavaScriptu a chcete bezpečnost typů, zvažte použití TypeScriptu k přetypování odpovědi JSON.
Příklad použití najdete v sandboxu TypeScriptu a výběrem příkazu Spustit vizualizovat jeho snadné použití.
Spuštění kontejneru odpojeného od internetu
Pokud chcete tento kontejner používat odpojený od internetu, musíte nejprve požádat o přístup vyplněním aplikace a zakoupením plánu závazku. Další informace najdete v tématu Použití kontejnerů Dockeru v odpojených prostředích .
Pokud jste schválili spuštění kontejneru odpojeného od internetu, použijte následující příklad, který ukazuje formátování docker run
příkazu, který použijete, se zástupnými hodnotami. Nahraďte tyto zástupné hodnoty vlastními hodnotami.
Parametr DownloadLicense=True
v docker run
příkazu stáhne licenční soubor, který umožní spuštění kontejneru Dockeru, když není připojený k internetu. Obsahuje také datum vypršení platnosti, po kterém bude soubor licence neplatný pro spuštění kontejneru. Soubor s licencí můžete použít pouze s příslušným kontejnerem, pro který jste byli schváleni. Nemůžete například použít licenční soubor pro kontejner převodu řeči na text s kontejnerem Document Intelligence.
Zástupný symbol | Hodnota | Formát nebo příklad |
---|---|---|
{IMAGE} |
Image kontejneru, kterou chcete použít. | mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice |
{LICENSE_MOUNT} |
Cesta, kam se licence stáhne, a připojí se. | /host/license:/path/to/license/directory |
{ENDPOINT_URI} |
Koncový bod pro ověření vaší žádosti o služby. Najdete ho na stránce Klíč a koncový bod vašeho prostředku na webu Azure Portal. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{API_KEY} |
Klíč prostředku Analýza textu. Najdete ho na stránce Klíč a koncový bod vašeho prostředku na webu Azure Portal. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{CONTAINER_LICENSE_DIRECTORY} |
Umístění složky s licencí v místním systému souborů kontejneru. | /path/to/license/directory |
docker run --rm -it -p 5000:5000 \
-v {LICENSE_MOUNT} \
{IMAGE} \
eula=accept \
billing={ENDPOINT_URI} \
apikey={API_KEY} \
DownloadLicense=True \
Mounts:License={CONTAINER_LICENSE_DIRECTORY}
Po stažení souboru licence můžete kontejner spustit v odpojeném prostředí. Následující příklad ukazuje formátování docker run
příkazu, který použijete, se zástupnými hodnotami. Nahraďte tyto zástupné hodnoty vlastními hodnotami.
Všude, kde je kontejner spuštěný, musí být soubor licence připojen ke kontejneru a umístění složky s licencí v místním systému souborů kontejneru musí být zadáno pomocí Mounts:License=
. Musí být zadán také výstupní připojení, aby bylo možné zapsat záznamy o využití fakturace.
Zástupný symbol | Hodnota | Formát nebo příklad |
---|---|---|
{IMAGE} |
Image kontejneru, kterou chcete použít. | mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice |
{MEMORY_SIZE} |
Odpovídající velikost paměti, která se má přidělit pro váš kontejner. | 4g |
{NUMBER_CPUS} |
Odpovídající počet procesorů pro přidělení kontejneru. | 4 |
{LICENSE_MOUNT} |
Cesta, kde bude licence umístěna a připojena. | /host/license:/path/to/license/directory |
{OUTPUT_PATH} |
Výstupní cesta pro protokolování záznamů o využití. | /host/output:/path/to/output/directory |
{CONTAINER_LICENSE_DIRECTORY} |
Umístění složky s licencí v místním systému souborů kontejneru. | /path/to/license/directory |
{CONTAINER_OUTPUT_DIRECTORY} |
Umístění výstupní složky v místním systému souborů kontejneru | /path/to/output/directory |
docker run --rm -it -p 5000:5000 --memory {MEMORY_SIZE} --cpus {NUMBER_CPUS} \
-v {LICENSE_MOUNT} \
-v {OUTPUT_PATH} \
{IMAGE} \
eula=accept \
Mounts:License={CONTAINER_LICENSE_DIRECTORY}
Mounts:Output={CONTAINER_OUTPUT_DIRECTORY}
Zastavení kontejneru
Pokud chcete kontejner vypnout, vyberte v prostředí příkazového řádku, ve kterém je kontejner spuštěný, ctrl+C.
Řešení problému
Pokud kontejner spustíte s povoleným připojením a protokolováním výstupu, kontejner vygeneruje soubory protokolu, které jsou užitečné při řešení problémů, ke kterým dochází při spuštění nebo spuštění kontejneru.
Tip
Další informace a pokyny k řešení potíží najdete v nejčastějších dotazech k kontejnerům Azure AI.
Pokud máte potíže se spuštěním kontejneru služeb Azure AI, můžete zkusit použít diagnostický kontejner Microsoftu. Pomocí tohoto kontejneru můžete diagnostikovat běžné chyby ve vašem prostředí nasazení, které by mohly zabránit tomu, aby kontejnery Azure AI fungovaly podle očekávání.
Kontejner získáte pomocí následujícího docker pull
příkazu:
docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic
Pak kontejner spusťte. Nahraďte {ENDPOINT_URI}
koncovým bodem a nahraďte {API_KEY}
klíčem k vašemu prostředku:
docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Kontejner otestuje síťové připojení ke koncovému bodu fakturace.
Fakturace
Kontejnery Azure AI odesílají fakturační údaje do Azure pomocí odpovídajícího prostředku na vašem účtu Azure.
Dotazy na kontejner se účtují na cenové úrovni prostředku Azure, který se používá pro tento ApiKey
parametr.
Kontejnery služeb Azure AI nejsou licencované ke spuštění bez připojení ke koncovému bodu měření nebo fakturace. Kontejnery musíte povolit, aby vždy komunikují fakturační údaje s koncovým bodem fakturace. Kontejnery služeb Azure AI neodesílají zákaznická data, jako je obrázek nebo text analyzovaný, do Microsoftu.
Připojení k Azure
Kontejner potřebuje ke spuštění hodnoty fakturačních argumentů. Tyto hodnoty umožňují kontejneru připojit se ke koncovému bodu fakturace. Kontejner hlásí využití přibližně každých 10 až 15 minut. Pokud se kontejner nepřipojí k Azure v rámci povoleného časového intervalu, kontejner se bude dál spouštět, ale nebude obsluhovat dotazy, dokud se neobnoví koncový bod fakturace. Připojení se pokouší 10krát ve stejném časovém intervalu 10 až 15 minut. Pokud se během 10 pokusů nemůže připojit ke koncovému bodu fakturace, kontejner přestane obsluhovat požadavky. Příklad informací odeslaných Microsoftu pro fakturaci najdete v nejčastějších dotazech ke kontejneru služeb Azure AI.
Argumenty fakturace
Příkaz docker run
spustí kontejner, pokud jsou k dispozici všechny tři z následujících možností s platnými hodnotami:
Možnost | Popis |
---|---|
ApiKey |
Klíč rozhraní API prostředku služeb Azure AI, který se používá ke sledování fakturačních údajů. Hodnota této možnosti musí být nastavena na klíč rozhraní API pro zřízený prostředek, který je zadaný v Billing . |
Billing |
Koncový bod prostředku služeb Azure AI, který se používá ke sledování fakturačních údajů. Hodnota této možnosti musí být nastavená na identifikátor URI koncového bodu zřízeného prostředku Azure. |
Eula |
Označuje, že jste přijali licenci pro kontejner. Hodnota této možnosti musí být nastavena tak, aby přijímala. |
Další informace o těchto možnostech najdete v tématu Konfigurace kontejnerů.
Shrnutí
V tomto článku jste se naučili koncepty a pracovní postupy pro stahování, instalaci a spouštění kontejnerů Azure AI Vision. Souhrnně:
- Azure AI Vision poskytuje linuxový kontejner pro Docker a zapouzdřuje čtení.
- Image kontejneru pro čtení vyžaduje, aby ji aplikace spustila.
- Image kontejnerů se spouštějí v Dockeru.
- K volání operací v kontejnerech OCR pro čtení můžete použít rozhraní REST API nebo sadu SDK zadáním identifikátoru URI hostitele kontejneru.
- Při vytváření instance kontejneru je nutné zadat fakturační údaje.
Důležité
Kontejnery Azure AI nemají licenci ke spuštění bez připojení k Azure pro měření. Zákazníci musí kontejnerům umožnit, aby vždy komunikují s fakturačními údaji se službou měření. Kontejnery Azure AI neodesílají zákaznická data (například obrázek nebo text analyzovaný) do Microsoftu.
Další kroky
- Kontrola konfigurace kontejnerů pro nastavení konfigurace
- Další informace o rozpoznávání tištěného a rukou psaného textu najdete v přehledu OCR.
- Podrobnosti o metodách podporovaných kontejnerem najdete v rozhraní API pro čtení.
- Informace o řešení problémů souvisejících s funkcemi služby Azure AI Vision najdete v nejčastějších dotazech.
- Použití dalších kontejnerů Azure AI