Klienci AWS z branży opieki zdrowotnej, usług finansowych, sektora publicznego i innych branż przechowują miliardy dokumentów w postaci obrazów lub plików PDF Usługa Amazon Simple Storage (Amazon S3). Nie są jednak w stanie uzyskać szczegółowych informacji, na przykład wykorzystać informacji zawartych w dokumentach w przypadku dużych modeli językowych (LLM) ani przeprowadzić wyszukiwania, dopóki nie wyodrębnią tekstu, formularzy, tabel i innych ustrukturyzowanych danych. Dzięki inteligentnemu przetwarzaniu dokumentów AWS (IDP) przy użyciu usług AI, takich jak Ekstrakt z amazonkimożesz skorzystać z wiodącej w branży technologii uczenia maszynowego (ML), aby szybko i dokładnie przetwarzać dane z plików PDF lub obrazów dokumentów (TIFF, JPEG, PNG). Po wyodrębnieniu tekstu z dokumentów można go użyć do dopracowania modelu fundamentu, podsumować dane za pomocą modelu podstawowegolub wyślij go do bazy danych.
W tym poście skupiamy się na przetwarzaniu dużego zbioru dokumentów na surowe pliki tekstowe i przechowywaniu ich w Amazon S3. W tym przypadku oferujemy dwa różne rozwiązania. Pierwsza umożliwia uruchomienie skryptu w języku Python z dowolnego serwera lub instancji, w tym z notatnika Jupyter; to najszybszy sposób na rozpoczęcie. Drugie podejście polega na wdrożeniu pod klucz różnych elementów infrastruktury z wykorzystaniem Zestaw programistyczny AWS Cloud (CDK AWS) konstrukty. Konstrukcja AWS CDK zapewnia odporną i elastyczną platformę do przetwarzania dokumentów i tworzenia kompleksowego potoku IDP. Dzięki wykorzystaniu AWS CDK można rozszerzyć jego funkcjonalność o redakcję, przechowuj wyniki w Amazon OpenSearchlub dodaj niestandardowy AWS Lambda funkcjonować z własną logiką biznesową.
Obydwa rozwiązania pozwalają na szybkie przetworzenie wielu milionów stron. Przed uruchomieniem któregokolwiek z tych rozwiązań na dużą skalę zalecamy przetestowanie podzbioru dokumentów, aby upewnić się, że wyniki spełniają oczekiwania. W poniższych sekcjach najpierw opisujemy rozwiązanie skryptowe, a następnie rozwiązanie konstrukcyjne AWS CDK.
Rozwiązanie 1: Użyj skryptu w języku Python
To rozwiązanie przetwarza dokumenty w postaci nieprzetworzonego tekstu za pośrednictwem Amazon Textract tak szybko, jak pozwala na to usługa, przy założeniu, że w przypadku błędu w skrypcie proces zostanie wznowiony od miejsca, w którym został przerwany. Rozwiązanie wykorzystuje trzy różne usługi: Amazon S3, Amazon DynamoDBi Tekst Amazona.
Poniższy diagram ilustruje sekwencję zdarzeń w skrypcie. Po zakończeniu skryptu status ukończenia wraz z czasem potrzebnym zostaną zwrócone do konsoli studia SageMaker.
Rozwiązanie to spakowaliśmy w formacie Skrypt .ipynb i skrypt .py. Możesz użyć dowolnego z możliwych do wdrożenia rozwiązań zgodnie ze swoimi wymaganiami.
Wymagania wstępne
Aby uruchomić ten skrypt z notatnika Jupyter, plik AWS Zarządzanie tożsamością i dostępem Rola (IAM) przypisana do notesu musi mieć uprawnienia umożliwiające mu interakcję z DynamoDB, Amazon S3 i Amazon Texttract. Ogólna wskazówka jest taka, aby zapewnić uprawnienia o najniższych uprawnieniach dla każdej z tych usług AmazonSageMaker-ExecutionRole
rola. Aby dowiedzieć się więcej, zob Zacznij od zasad zarządzanych przez AWS i przejdź w stronę uprawnień o najniższych uprawnieniach.
Alternatywnie możesz uruchomić ten skrypt z innych środowisk, takich jak Elastyczna chmura obliczeniowa Amazon (Amazon EC2), którym będziesz zarządzać, pod warunkiem, że Python, Pip3 i AWS SDK dla Pythona (Boto3) są zainstalowane. Ponownie należy zastosować te same zasady IAM, które umożliwiają skryptowi interakcję z różnymi usługami zarządzanymi.
Opis przejścia
Aby wdrożyć to rozwiązanie, należy najpierw sklonować repozytorium GitHub.
Zanim będziesz mógł go uruchomić, musisz ustawić w skrypcie następujące zmienne:
- tabela_śledzenia – To jest nazwa tabeli DynamoDB, która zostanie utworzona.
- zasobnik_wejściowy – To jest Twoja lokalizacja źródłowa w Amazon S3, która zawiera dokumenty, które chcesz wysłać do Amazon Texttract w celu wykrycia tekstu. Dla tej zmiennej podaj nazwę segmentu, np
mybucket
. - zasobnik_wyjściowy – Służy do przechowywania lokalizacji, w której Amazon Texttract ma zapisywać wyniki. Dla tej zmiennej podaj nazwę segmentu, np
myoutputbucket
. - _input_prefix (opcjonalnie) – Jeśli chcesz wybrać określone pliki z folderu w segmencie S3, możesz określić tę nazwę folderu jako przedrostek wejściowy. W przeciwnym razie pozostaw wartość domyślną pustą, aby wybrać wszystko.
Skrypt jest następujący:
Po uruchomieniu skryptu tworzony jest następujący schemat tabeli DynamoDB:
Kiedy skrypt zostanie uruchomiony po raz pierwszy, sprawdzi, czy tabela DynamoDB istnieje i w razie potrzeby automatycznie ją utworzy. Po utworzeniu tabeli musimy wypełnić ją listą odniesień do obiektów dokumentu z Amazon S3, które chcemy przetworzyć. Skrypt zgodnie z projektem będzie wyliczał obiekty w określonym zakresie input_bucket
i automatycznie wypełnia naszą tabelę ich nazwami po uruchomieniu. Wyliczenie ponad 10 100,000 dokumentów i umieszczenie tych nazw w tabeli DynamoDB ze skryptu zajmuje około 3 minut. Jeśli masz miliony obiektów w wiadrze, możesz alternatywnie skorzystać z funkcji inwentaryzacji Amazon SXNUMX, która generuje plik CSV z nazwami, a następnie wypełnić tabelę DynamoDB z tej listy własnym skryptem z wyprzedzeniem i nie używać funkcji o nazwie fetchAllObjectsInBucketandStoreName
komentując to. Aby dowiedzieć się więcej, zob Konfiguracja zapasów Amazon S3.
Jak wspomniano wcześniej, istnieje zarówno wersja notatkowa, jak i wersja skryptowa Pythona. Notatnik to najprostszy sposób na rozpoczęcie pracy; po prostu uruchom każdą komórkę od początku do końca.
Jeśli zdecydujesz się uruchomić skrypt Pythona z poziomu interfejsu CLI, zaleca się użycie multipleksera terminala, takiego jak tmux. Ma to na celu zapobieżenie zatrzymaniu skryptu po zakończeniu sesji SSH. Na przykład: tmux new -d ‘python3 textractFeeder.py’
.
Poniżej punkt wejścia skryptu; stąd możesz skomentować niepotrzebne metody:
Gdy skrypt zapełnia tabelę DynamoDB, ustawiane są następujące pola:
- Nazwa obiektu – Nazwa dokumentu znajdującego się w Amazon S3, który zostanie wysłany do Amazon Texttract
- nazwa_wiaderka – Wiadro, w którym przechowywany jest obiekt dokumentu
Te dwa pola muszą zostać wypełnione, jeśli zdecydujesz się użyć pliku CSV z raportu inwentarza S3 i pominiesz automatyczne wypełnianie, które ma miejsce w skrypcie.
Teraz, gdy tabela jest już utworzona i wypełniona odniesieniami do obiektu dokumentu, skrypt jest gotowy do rozpoczęcia wywoływania Amazon Texttract StartDocumentTextDetection
API. Amazon Texttract, podobnie jak inne usługi zarządzane, ma domyślny limit w interfejsach API zwanych transakcjami na sekundę (TPS). W razie potrzeby możesz poprosić o zwiększenie limitu z konsoli Amazon Texttract. Kod zaprojektowano tak, aby podczas wywoływania usługi Amazon Texttract korzystał z wielu wątków jednocześnie, aby zmaksymalizować przepustowość usługi. Możesz to zmienić w kodzie, modyfikując plik threadCountforTextractAPICall
zmienny. Domyślnie jest to ustawione na 20 wątków. Skrypt początkowo odczyta 200 wierszy z tabeli DynamoDB i zapisze je na liście w pamięci otoczonej klasą zapewniającą bezpieczeństwo wątków. Następnie uruchamiany jest każdy wątek wywołujący i biegnie po własnym torze pływania. Zasadniczo wątek wywołujący Amazon Textract pobierze element z listy w pamięci, która zawiera nasze odniesienie do obiektu. Następnie wywoła asynchronous start_document_text_detection
API i poczekaj na potwierdzenie z identyfikatorem zadania. Identyfikator zadania jest następnie aktualizowany z powrotem do wiersza DynamoDB dla tego obiektu, a wątek zostanie powtórzony, pobierając następny element z listy.
Poniżej znajduje się główny kod orkiestracji scenariusz:
Wątki wywołujące będą się powtarzać, dopóki na liście nie będzie już żadnych elementów, w którym to momencie każdy wątek zostanie zatrzymany. Kiedy wszystkie wątki działające na ich torach pływania zostaną zatrzymane, zostanie pobranych kolejnych 200 wierszy z DynamoDB i uruchomiony zostanie nowy zestaw 20 wątków, po czym cały proces będzie powtarzany do momentu pobrania z DynamoDB każdego wiersza niezawierającego identyfikatora zadania i zaktualizowany. Jeśli skrypt ulegnie awarii z powodu nieoczekiwanego problemu, można go uruchomić ponownie z poziomu pliku orchestrate()
metoda. Dzięki temu wątki będą kontynuować przetwarzanie wierszy zawierających puste identyfikatory zadań. Należy pamiętać, że podczas ponownego uruchamiania orchestrate()
po zatrzymaniu skryptu istnieje ryzyko, że kilka dokumentów zostanie ponownie wysłanych do Amazon Texttract. Liczba ta będzie równa lub mniejsza niż liczba wątków uruchomionych w momencie awarii.
Gdy w tabeli DynamoDB nie będzie już wierszy zawierających pusty identyfikator zadania, skrypt zostanie zatrzymany. Wszystkie dane wyjściowe JSON z Amazon Texttract dla wszystkich obiektów zostaną znalezione w pliku output_bucket
domyślnie w ramach textract_output
teczka. Każdy podfolder w obrębie textract_output
zostanie nazwany identyfikatorem zadania odpowiadającym identyfikatorowi zadania zapisanemu w tabeli DynamoDB dla tego obiektu. W folderze identyfikatora zadania znajdziesz plik JSON, którego nazwa będzie numerowana począwszy od 1 i może potencjalnie obejmować dodatkowe pliki JSON oznaczone etykietami 2, 3 itd. Rozpinanie plików JSON jest wynikiem gęstych lub wielostronicowych dokumentów, w których ilość wyodrębnionej treści przekracza domyślny rozmiar JSON Amazon Textract wynoszący 1,000 bloków. Odnosić się do Blokować aby uzyskać więcej informacji na temat bloków. Te pliki JSON będą zawierać wszystkie metadane Amazon Textract, w tym tekst wyodrębniony z dokumentów.
Wersję notesu z kodem Python i skrypt dla tego rozwiązania można znaleźć w GitHub.
Sprzątać
Po ukończeniu skryptu w języku Python można zaoszczędzić koszty, zamykając lub zatrzymując program Studio Amazon SageMaker notatnik lub pojemnik, który stworzyłeś.
Przejdźmy teraz do naszego drugiego rozwiązania dotyczącego dokumentów na dużą skalę.
Rozwiązanie 2: Użyj bezserwerowej konstrukcji AWS CDK
To rozwiązanie wykorzystuje Funkcje kroków AWS i funkcje Lambda do koordynowania potoku IDP. Używamy Konstrukcje CDK IDP AWS, dzięki którym praca z Amazon Texttract na dużą skalę jest prosta. Dodatkowo używamy a Krok Funkcje rozproszonej mapy aby iterować po wszystkich plikach w segmencie S3 i rozpocząć przetwarzanie. Pierwsza funkcja Lambda określa, ile stron ma Twój dokument. Dzięki temu potok może automatycznie używać synchronicznego (w przypadku dokumentów jednostronicowych) lub asynchronicznego (w przypadku dokumentów wielostronicowych) interfejsu API. Podczas korzystania z asynchronicznego API, do wszystkich plików JSON, które Amazon Textract utworzy dla wszystkich stron w jednym pliku JSON, wywoływana jest dodatkowa funkcja Lambda, aby ułatwić aplikacjom końcowym pracę z informacjami.
Rozwiązanie to zawiera także dwie dodatkowe funkcje Lambda. Pierwsza funkcja analizuje tekst z JSON i zapisuje go jako plik tekstowy w Amazon S3. Druga funkcja analizuje kod JSON i przechowuje go dla metryk obciążenia.
Poniższy diagram ilustruje przepływ pracy funkcji kroku.
Wymagania wstępne
Ta baza kodu korzysta z AWS CDK i wymaga Dockera. Możesz wdrożyć to z pliku Chmura AWS9 instancja, która ma już skonfigurowany AWS CDK i Docker.
Opis przejścia
Aby wdrożyć to rozwiązanie, musisz najpierw sklonować plik magazyn.
Po sklonowaniu repozytorium zainstaluj zależności:
Następnie użyj poniższego kodu, aby wdrożyć stos AWS CDK:
W przypadku tego rozwiązania musisz podać zarówno segment źródłowy, jak i prefiks źródła (lokalizację plików, które chcesz przetworzyć).
Po zakończeniu wdrażania przejdź do konsoli Step Functions, gdzie powinna zostać wyświetlona maszyna stanu ServerlessIDPArchivePipeline
.
Otwórz stronę szczegółów maszyny stanu i na stronie Egzekucje kartę, wybierz Rozpocznij wykonanie.
Dodaj Rozpocznij wykonanie ponownie, aby uruchomić maszynę stanów.
Po uruchomieniu maszyny stanów można monitorować potok, sprawdzając przebieg mapy. Zobaczysz Stan przetwarzania przedmiotu sekcję jak na poniższym zrzucie ekranu. Jak widać, jest on zbudowany tak, aby uruchamiać i śledzić, co się udało, a co nie. Proces ten będzie kontynuowany do momentu przeczytania wszystkich dokumentów.
Dzięki temu rozwiązaniu powinieneś być w stanie przetwarzać miliony plików na swoim koncie AWS, nie martwiąc się o to, jak prawidłowo określić, które pliki wysłać do którego interfejsu API lub czy uszkodzone pliki nie działają w potoku. Dzięki konsoli Step Functions będziesz mógł oglądać i monitorować swoje pliki w czasie rzeczywistym.
Sprzątać
Po zakończeniu działania potoku, aby wyczyścić, możesz wrócić do projektu i wprowadzić następującą komendę:
Spowoduje to usunięcie wszystkich usług wdrożonych dla tego projektu.
Wnioski
W tym poście przedstawiliśmy rozwiązanie, które ułatwia konwersję obrazów dokumentów i plików PDF na pliki tekstowe. Jest to kluczowy warunek wstępny korzystania z dokumentów na potrzeby generatywnej sztucznej inteligencji i wyszukiwania. Aby dowiedzieć się więcej na temat używania tekstu do uczenia lub dostrajania modeli podstawowych, zobacz Dostosuj Llamę 2 do generowania tekstu w Amazon SageMaker JumpStart. Aby skorzystać z wyszukiwania, zobacz Wdróż inteligentny indeks wyszukiwania dokumentów za pomocą Amazon Texttract i Amazon OpenSearch. Aby dowiedzieć się więcej o zaawansowanych możliwościach przetwarzania dokumentów oferowanych przez usługi AWS AI, zob Wytyczne dotyczące inteligentnego przetwarzania dokumentów w AWS.
O autorach
Tima Condello jest starszym architektem rozwiązań specjalistycznych w zakresie sztucznej inteligencji (AI) i uczenia maszynowego (ML) w Amazon Web Services (AWS). Jego zainteresowania skupiają się wokół przetwarzania języka naturalnego i widzenia komputerowego. Tim lubi wykorzystywać pomysły klientów i przekształcać je w skalowalne rozwiązania.
Davida Girlinga jest starszym architektem rozwiązań AI/ML z ponad dwudziestoletnim doświadczeniem w projektowaniu, prowadzeniu i rozwijaniu systemów korporacyjnych. David jest częścią specjalistycznego zespołu, który koncentruje się na pomaganiu klientom w uczeniu się, wprowadzaniu innowacji i wykorzystywaniu tych wysoce wydajnych usług wraz z danymi w konkretnych przypadkach użycia.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/create-a-document-lake-using-large-scale-text-extraction-from-documents-with-amazon-textract/
- :ma
- :Jest
- :nie
- :Gdzie
- $W GÓRĘ
- 000
- 1
- 10
- 100
- 12
- 20
- 200
- 7
- 710
- 8
- a
- Zdolny
- O nas
- dostęp
- Konto
- dokładnie
- Dodaj
- Dodatkowy
- do tego
- awansować
- zaawansowany
- Korzyść
- Po
- ponownie
- AI
- Usługi AI
- AI / ML
- Wszystkie kategorie
- dopuszczać
- pozwala
- wzdłuż
- już
- również
- Amazonka
- Amazon EC2
- Amazon Sage Maker
- Ekstrakt z amazonki
- Amazon Web Services
- Amazon Web Services (AWS)
- ilość
- an
- ćwiczenie
- i
- każdy
- api
- Pszczoła
- aplikacje
- stosowany
- podejście
- w przybliżeniu
- SĄ
- sztuczny
- sztuczna inteligencja
- Sztuczna inteligencja (AI)
- AS
- przydzielony
- At
- samochód
- automatycznie
- AWS
- z powrotem
- baza
- Gruntownie
- BE
- być
- zanim
- miliardy
- Bloki
- Bootstrap
- obie
- budować
- wybudowany
- biznes
- by
- wezwanie
- nazywa
- Gość
- powołanie
- CAN
- możliwości
- zdolny
- walizka
- Etui
- komórka
- pewien
- zmiana
- ZOBACZ
- Dodaj
- klasa
- kleń
- Chmura
- kod
- podstawa kodu
- kolekcja
- komentarz
- Komentowanie
- kompletny
- ukończenia
- składniki
- obliczać
- komputer
- Wizja komputerowa
- Konsola
- skonstruować
- zawierać
- Pojemnik
- zawiera
- zawartość
- kontynuować
- konwertować
- odpowiada
- Koszty:
- mógłby
- Crash
- Stwórz
- stworzony
- zwyczaj
- klient
- Klientów
- dane
- Baza danych
- David
- zdecydować
- Domyślnie
- Zależności
- rozwijać
- wdrażane
- Wdrożenie
- opisać
- Wnętrze
- zaprojektowany
- projektowanie
- detale
- Wykrywanie
- Ustalać
- określa
- rozwijanie
- oprogramowania
- różne
- dystrybuowane
- Doker
- dokument
- dokumenty
- Nie
- na dół
- z powodu
- każdy
- Wcześniej
- bądź
- Umożliwia
- koniec końców
- kończy się
- Wchodzę
- Enterprise
- wejście
- środowiska
- równy
- wydarzenia
- Każdy
- przykład
- przekracza
- egzekucja
- istnieje
- oczekiwanie
- oczekiwania
- doświadczenie
- rozciągać się
- wyciąg
- ekstrakcja
- Failed
- nie
- Brak
- Cecha
- kilka
- Łąka
- filet
- Akta
- budżetowy
- usługi finansowe
- Znajdź
- koniec
- i terminów, a
- pierwszy raz
- elastyczne
- Skupiać
- koncentruje
- następnie
- następujący
- następujący sposób
- W razie zamówieenia projektu
- formularze
- znaleziono
- Fundacja
- Framework
- od
- funkcjonować
- Funkcjonalność
- Funkcje
- Wzrost
- Ogólne
- generuje
- generacja
- generatywny
- generatywna sztuczna inteligencja
- otrzymać
- Go
- poradnictwo
- dzieje
- Have
- opieki zdrowotnej
- pomoc
- tutaj
- wysoko
- jego
- W jaki sposób
- How To
- Jednak
- HTML
- http
- HTTPS
- i
- ID
- pomysły
- tożsamość
- ids
- if
- ilustruje
- zdjęcia
- wdrożenia
- in
- zawierać
- Włącznie z
- Zwiększać
- wskaźnik
- przemysłowa
- wiodący w branży
- Informacja
- Infrastruktura
- początkowo
- zainicjować
- wprowadzać innowacje
- wkład
- spostrzeżenia
- zainstalować
- zainstalowany
- przykład
- Inteligencja
- Inteligentny
- Inteligentne przetwarzanie dokumentów
- interakcji
- najnowszych
- inwentarz
- IT
- szt
- JEGO
- Praca
- jpg
- json
- Klawisz
- jezioro
- Tor
- język
- duży
- na dużą skalę
- prowadzący
- UCZYĆ SIĘ
- nauka
- Pozostawiać
- lewo
- mniej
- lubić
- Lista
- Lama
- usytuowany
- lokalizacja
- zamknięty
- logika
- dłużej
- poszukuje
- maszyna
- uczenie maszynowe
- Główny
- robić
- WYKONUJE
- zarządzanie
- zarządzane
- wiele
- mapa
- Maksymalizuj
- Poznaj nasz
- wzmiankowany
- Metadane
- metoda
- metody
- Metryka
- miliony
- minut
- ML
- model
- modele
- monitor
- jeszcze
- większość
- ruch
- wielokrotność
- musi
- Nazwa
- O imieniu
- Nazwy
- Naturalny
- Przetwarzanie języka naturalnego
- Nawigacja
- Potrzebować
- potrzebne
- Nowości
- Następny
- Nie
- noty
- notatnik
- już dziś
- numer
- przedmiot
- obiekty
- of
- poza
- oferowany
- on
- ONE
- operacyjny
- or
- orkiestracja
- Inne
- Inaczej
- ludzkiej,
- na zewnątrz
- wydajność
- koniec
- własny
- pakowane
- strona
- stron
- część
- dla
- uprawnienia
- wybierać
- rurociąg
- plato
- Analiza danych Platona
- PlatoDane
- punkt
- polityka
- zaludniony
- Post
- potencjał
- potencjalnie
- przedstawione
- zapobiec
- Problem
- wygląda tak
- procesów
- przetwarzanie
- produkować
- projekt
- prawidłowo
- zapewniać
- pod warunkiem,
- zapewnia
- publiczny
- położyć
- Python
- najszybszy
- szybko
- Surowy
- Czytaj
- gotowy
- real
- w czasie rzeczywistym
- polecić
- Zalecana
- rekord
- dokumentacja
- odnosić się
- odniesienie
- referencje
- powtarzać
- raport
- składnica
- zażądać
- wymagany
- wymagania
- Wymaga
- sprężysty
- dalsze
- Efekt
- Rola
- RZĄD
- run
- bieganie
- działa
- "bezpiecznym"
- Bezpieczeństwo
- sagemaker
- taki sam
- Zapisz
- skalowalny
- Skala
- scenariusz
- Sdk
- Szukaj
- druga
- Sekcja
- działy
- sektor
- widzieć
- wybierać
- wysłać
- senior
- wysłany
- Sekwencja
- serwer
- Bezserwerowe
- usługa
- Usługi
- Sesja
- zestaw
- powinien
- wyłączania
- podobny
- Prosty
- po prostu
- Rozmiar
- mądry
- So
- rozwiązanie
- Rozwiązania
- kilka
- Źródło
- rozpiętość
- napięcie
- specjalista
- określony
- uprzedzony
- stos
- początek
- rozpoczęty
- Startowy
- Stan
- Rynek
- Ewolucja krok po kroku
- Stop
- zatrzymany
- zatrzymanie
- przechowywanie
- sklep
- przechowywany
- sklep
- przechowywania
- bezpośredni
- sznur
- zbudowany
- studio
- udany
- taki
- pewnie
- systemy
- stół
- Brać
- Zadania
- trwa
- biorąc
- zespół
- Technologia
- terminal
- Testowanie
- XNUMX
- niż
- że
- Połączenia
- Informacje
- Źródło
- Państwo
- ich
- Im
- następnie
- Tam.
- Te
- one
- to
- tych
- trzy
- Przez
- wydajność
- Tim
- czas
- do
- w kierunku
- Tps
- śledzić
- Pociąg
- transakcje
- Obrócenie
- pod klucz,
- drugiej
- niezdolny
- dla
- Nieoczekiwany
- aż do
- zaktualizowane
- posługiwać się
- przypadek użycia
- zastosowania
- za pomocą
- wykorzystać
- wykorzystuje
- zmienna
- różnorodny
- wersja
- wizja
- czekać
- chcieć
- była
- Oglądaj
- Droga..
- we
- sieć
- usługi internetowe
- były
- Co
- jeśli chodzi o komunikację i motywację
- który
- cały
- będzie
- w
- w ciągu
- bez
- Praca
- workflow
- martwiąc
- by
- Owinięty
- napisać
- lat
- You
- Twój
- zefirnet