Microsoft Foundry a Foundry Local: Kde by měla běžet vaše AI aplikace?
Jak může vypadat vývoj aplikací nad modely, které běží v cloudu a na lokálním zařízení.
Přejít na obsah|Přejít k hlavnímu menu|Přejít k vyhledávání
Při testování složitějších systémů často docházím do stavu, kdy potřebuji porovnávat hodnoty před a po provedení určité operace. Současně si také chci vypsat kompletní stav systému a ověřit, že provedená operace neovlivnila i něco dalšího.
Moje představa byla nechat si vypsat všechny hodnoty parametrů do přehledné tabulky a barevně označit ty, u kterých došlo ke změně.
Pro účely tohoto článku jsem potřeboval nějakou ukázkovou aplikaci, která by se podobala mému použití při testování aplikace pro elektronový mikroskop. Napadlo mě API pro ovládání digitálního fotoaparátu — je to sice něco jiného než mikroskop, ale nějaké čočky se zde najdou také. A protože jsem líný, nechal jsem ChatGPT, ať mi takové API vytvoří.

Jednoduché vypsání hodnot parametrů vypadá následovně. Při velkém počtu parametrů může být ale takový výpis nepřehledný.
Kompletní ukázkový skript najdete zde: test1.py
from dslr import DSLRCamera # dummy app
camera1 = DSLRCamera("Canon")
rint('Before:')
print(f'camera1.iso: {camera1.iso}')
...
camera1.iso = 700
...
print('After:')
print(f'camera1.iso: {camera1.iso}')
Pro zlepšení přehlednosti můžeme data vypsat formou ASCII tabulky. K tomu použijeme Python modul PrettyTable. Jeho použití je jednoduché:
from prettytable import PrettyTable
table = PrettyTable()
table.field_names = ["Column A", "Column B"]
table.add_row(["Value A1", "Value B1"])
table.add_row(["Value A2", "Value B2"])
print(table)Už tedy umíme vypsat tabulku, a výsledek je hned o něco přehlednější: test2.py

Teď už zbývá jen porovnat obě tabulky a zvýraznit hodnoty, u kterých došlo ke změně. Protože tabulka PrettyTable je vlastně dvourozměrné pole, stačí projít jednotlivé buňky první tabulky a zjistit, zda se jejich hodnota liší od hodnoty odpovídající pozici v druhé tabulce.
for x, row in enumerate(data_before):
for y, cell in enumerate(row):
if data_before[x][y] != data_after[x][y]:
data_after[x][y] = ...Pro zvýraznění použijeme modul Colorama, který nám do výstupu přidá barvičky:
print(Fore.GREEN + 'this is green text')Výsledkem je přehledná tabulka změn: test3.py

Všechny použité skripty a funkci pro porovnávání tabulek tables_diff() najdete na našem Githubu.
Jak může vypadat vývoj aplikací nad modely, které běží v cloudu a na lokálním zařízení.

Umělá inteligence nám pomáhá pracovat rychleji, efektivněji a s menší námahou. Její používání má však i svá úskalí. Pokud ji využíváme ve velké míře nebo na ni přenášíme stále více úkolů a necháme ji přemýšlet za nás, může se stát, že postupně dochází k oslabování dovedností, které jsme dříve při práci běžně využívali.

Zastaralý kód, v mnoha ohledech špatně napsaný. Původní autoři již v dané firmě nepracují. Dokumentace? Neexistující. Zní to jako úvod z hororu? Je však poměrně běžné, že naši zákazníci mají nějakou nedokumentovanou aplikaci, o které už pořádně nikdo nic neví, ale přitom ji potřebují spravovat. A přesně to je úkol pro nás.
Děkujeme za váš zájem o odběr našeho newsletteru! Pro dokončení registrace je potřeba potvrdit vaše přihlášení. Na zadaný e-mail jsme vám právě zaslali potvrzovací odkaz. Klikněte prosím na tento odkaz, aby bylo vaše přihlášení dokončeno. Pokud e-mail nenajdete, zkontrolujte prosím složku nevyžádané pošty (spam) nebo složku hromadné pošty.
