Czy warto wdrożyć lokalne AI w małej firmie?
Koszty, sprzęt i realne zastosowania na przykładzie ERP
AI w małej i średniej firmie bardzo szybko przestaje być eksperymentem. Sprzedaż, księgowość i zarząd zaczynają zadawać bardzo konkretne pytania.
SPRZEDAŻ
"Jaki był przychód w poprzednim miesiącu?"
KSIĘGOWOŚĆ
"Którzy kontrahenci mają największe przeterminowane należności?"
ZARZĄD
"Jak sprzedaż wygląda w porównaniu z zeszłym rokiem?"
I wtedy pojawia się pomysł:
Postawmy lokalny model AI, podłączmy go do ERP i niech odpowiada.
Brzmi prosto. W rzeczywistości model językowy jest prawdopodobnie najłatwiejszą częścią całego projektu. O tym, gdzie AI realnie pomaga w codziennej pracy IT, piszemy w artykule AI w administracji IT: 7 obszarów, które warto automatyzować. Tutaj skupiamy się na czymś węższym: asystencie, który odpowiada na pytania o dane z ERP. Znacznie trudniejsze niż uruchomienie modelu jest ustalenie:
Można kupić bardzo mocną kartę GPU i nadal otrzymywać błędne odpowiedzi. Bo większy model nie naprawi złej definicji danych.
Najpierw dane i pytania. Dopiero później GPU
Najczęstszy błąd wygląda tak:
ODWRÓCONA KOLEJNOŚĆ
↓
↓
↓
LEPSZY PROCES
↓
↓
↓
↓
↓
W pierwszym wariancie dopiero po uruchomieniu wszystkiego pojawia się dyskusja:
Model językowy powinien pojawić się dopiero wtedy, kiedy firma potrafi już policzyć poprawny wynik bez niego.
Kiedy lokalne AI ma sens?
Nie istnieje jeden warunek typu "dane są wrażliwe, więc musi być on-prem". Lokalny model może mieć sens z kilku różnych powodów.
1. Chcemy ograniczyć wysyłanie danych poza firmę
Dotyczy to szczególnie:
Lokalny model pozwala utrzymać większą część procesu we własnym środowisku. Nie oznacza to automatycznie zgodności z RODO ani bezpieczeństwa. Nadal potrzebujemy:
Szerzej o danych wysyłanych do modeli, shadow AI i kontroli dostępu piszemy w artykule AI w cyberbezpieczeństwie firmy.
2. Chcemy pracować bez zależności od zewnętrznego API
Może to mieć znaczenie:
- › przy ograniczonym dostępie do Internetu,
- › w środowiskach izolowanych,
- › przy wymaganiach kontraktowych,
- › przy krytycznych procesach wewnętrznych.
3. Chcemy mieć przewidywalną infrastrukturę i koszt
Przy dużej, regularnej liczbie zapytań własny serwer może być atrakcyjny. Ale nie zakładałbym tego z góry. Trzeba policzyć pełny koszt i porównać go z kosztem API:
Ta sama logika dotyczy każdej decyzji infrastrukturalnej, co opisujemy w artykule chmura czy własny serwer.
4. Chcemy pełnej kontroli nad integracją
Lokalny model może być wygodny, gdy ma współpracować z:
To szczególnie interesujące, gdy całość ma działać jako jeden firmowy system.
Kiedy nie zaczynałbym od lokalnego AI?
Jeżeli firma nie potrafi odpowiedzieć na pytanie:
Jakie pięć problemów ten system ma rozwiązać?
nie kupowałbym jeszcze GPU. Podobnie, jeśli:
W takim przypadku problemem nie jest brak LLM. Problemem jest brak przygotowanej warstwy danych.
Najważniejsza zasada: LLM nie jest źródłem liczb
Załóżmy, że użytkownik pyta: "Jaki był przychód w sierpniu?". Model nie powinien odpowiadać na podstawie:
Prawidłowy przebieg wygląda tak:
↓
↓
↓
↓
↓
Model może powiedzieć: "Przychód w sierpniu wyniósł 123 456,78 PLN." Ale 123 456,78 PLN musi pochodzić z narzędzia. Nie z modelu. To jedna z najważniejszych zasad całej architektury:
Jeżeli liczba nie pochodzi z autorytatywnego źródła, nie ma prawa pojawić się jako fakt w odpowiedzi.
Tool calling zamiast dowolnego SQL
Istnieją dwa bardzo różne modele integracji AI z bazą danych.
MODEL 1: AI GENERUJE SQL
↓
↓
↓
MODEL 2: AI WYBIERA NARZĘDZIE
↓
↓
↓
↓
Pierwsze rozwiązanie wygląda efektownie podczas demonstracji. Użytkownik może zapytać prawie o wszystko. Problem w tym, że model musi samodzielnie znać schemat, dobierać JOIN-y, interpretować pola, rozumieć znaczenie dokumentów i wiedzieć, jak traktować korekty. W systemie ERP jest to bardzo ryzykowny model.
W drugim modelu podział odpowiedzialności jest jasny:
MODEL DECYDUJE
użytkownik chce porównać dwa okresy
MODEL NIE DECYDUJE
jak złączyć siedem tabel ERP, żeby policzyć sprzedaż
Ta druga decyzja została podjęta wcześniej przez człowieka, przetestowana i porównana z raportem systemu ERP. Dla większości wdrożeń biznesowych zacząłbym właśnie od tego modelu.
Przykład narzędzi
Na początku wcale nie potrzeba ich setek. Można zacząć od czterech:
Każde ma jasno określony kontrakt. Model wywołuje narzędzie z parametrami:
{
"tool": "get_revenue",
"parameters": {
"date_from": "2026-08-01",
"date_to": "2026-09-01"
}
}
Backend wykonuje kontrolowane zapytanie. Model dostaje wynik i przygotowuje zdanie:
{
"revenue_pln": 1234567.89,
"date_from": "2026-08-01",
"date_to": "2026-09-01"
}
Warstwa kanoniczna zamiast bezpośredniego "rozumienia ERP"
W Comarch ERP XL istnieje bogaty model danych i wiele zależności biznesowych. Nie chciałbym, żeby model językowy sam dochodził, które kolumny w CDN.* oznaczają dokładnie to, o co pyta użytkownik. Lepiej zbudować warstwę pośrednią:
↓
↓
↓
LLM nie musi znać całej struktury ERP. Potrzebuje wiedzieć tylko, że istnieje narzędzie get_revenue. To znacznie prostszy i bezpieczniejszy kontrakt.
Konto tylko do odczytu to dopiero początek
Osobne konto dla aplikacji jest bardzo dobrym pomysłem. Nie dawałbym mu jednak SELECT na całej bazie tylko dlatego, że to "tylko SELECT". Microsoft w dokumentacji SQL Server zaleca zasadę najmniejszych uprawnień i pozwala nadawać dostęp na poziomie pojedynczych obiektów albo konkretnego schematu. Lepszy układ:
GRANT SELECT ON SCHEMA::ai_reporting TO ai_reader;
gdzie ai_reporting zawiera wyłącznie kontrolowane widoki potrzebne aplikacji. To daje dodatkowe granice:
Ta sama zasada, którą stosujemy wobec administratorów i kont technicznych. Dlaczego modelowi nie przekazuje się credentiali, opisujemy w artykule 10 rzeczy, których administrator IT nie powinien oddawać AI bez kontroli.
SELECT-only również może zrobić problem
To często pomijany temat. Zapytanie nie musi niczego modyfikować, żeby zaszkodzić wydajności. Może:
Dlatego warto stosować również:
SQL Server obsługuje timeout wykonywania ustawiany po stronie klienta. Po jego przekroczeniu aplikacja może anulować zapytanie. W większych środowiskach można również rozważyć osobny workload raportowy lub mechanizmy ograniczające zużycie zasobów. Jak wolne zapytania wpływają na cały ERP, pokazujemy w artykule dlaczego SQL Server zwalnia.
Najlepszy wariant, jeśli architektura na to pozwala:
Wtedy zapytania analityczne nie konkurują bezpośrednio z użytkownikami ERP. Nie zawsze jest to jednak możliwe lub ekonomicznie uzasadnione w małej firmie.
Przykład bezpieczniejszego narzędzia
Jeżeli stosujemy katalog gotowych funkcji, kod może wyglądać bardzo prosto:
def get_revenue(cursor, date_from, date_to):
sql = """
SELECT
SUM(revenue_pln) AS revenue_pln
FROM ai_reporting.revenue
WHERE doc_date >= ?
AND doc_date < ?
"""
cursor.execute(sql, (date_from, date_to))
row = cursor.fetchone()
return {
"revenue_pln": row[0],
"date_from": date_from.isoformat(),
"date_to": date_to.isoformat(),
}
Najważniejsza rzecz: SQL nie pochodzi od modelu. Model wybrał get_revenue, a backend ma już gotową i przetestowaną implementację. Parametry przekazujemy osobno.
Nie budujemy zapytania w ten sposób:
sql = f"""
SELECT ...
WHERE date = '{user_input}'
"""
Czy parser SQL jest potrzebny?
Może być dodatkową warstwą zabezpieczenia. Ale jeżeli stosujemy wyłącznie gotowe narzędzia z wcześniej przygotowanym SQL, jego rola jest znacznie mniejsza. Nie budowałbym bezpieczeństwa w taki sposób:
Parser nie rozumie wszystkich konsekwencji biznesowych zapytania. Znacznie mocniejsze zabezpieczenia to:
- 1 brak dowolnego SQL z modelu
- 2 kontrolowane funkcje
- 3 parametryzacja
- 4 ograniczone konto SQL
- 5 dedykowane widoki
- 6 timeout
- 7 audit
Parser może być ósmą warstwą. Nie pierwszą.
Jak powinna wyglądać architektura?
Dla lokalnego asystenta ERP rozsądna architektura może wyglądać tak:
UŻYTKOWNIK
|
v
WEB / FRONTEND
|
v
BACKEND
FastAPI / inna aplikacja
|
+----------------------+
| |
v v
RBAC / AUDIT LLM / OLLAMA
|
v
wybór narzędzia
|
v
KATALOG NARZĘDZI
|
v
AI_READER
|
v
WARSTWA RAPORTOWA
|
v
ERP XL
Model nie otrzymuje connection stringa.
Model nie wykonuje SQL.
Model nie ma credentiali MSSQL.
Backend udostępnia mu określony katalog funkcji. Nic więcej.
Co właściwie robi LLM?
W takim systemie jego zadania są stosunkowo proste.
-
1
Rozpoznaje intencję. Użytkownik pisze "Porównaj sprzedaż sierpnia z lipcem.", model wybiera
compare_revenue_periods. - 2 Wyciąga parametry. Zamienia język naturalny na strukturę, którą rozumie backend.
- 3 Formułuje odpowiedź. Na podstawie tego, co zwróciło narzędzie.
PARAMETRY
{
"period_a": "2026-07",
"period_b": "2026-08"
}
WYNIK NARZĘDZIA
{
"july": 918000,
"august": 1043000,
"change_percent": 13.62
}
ODPOWIEDŹ LLM
"Sprzedaż w sierpniu wyniosła 1,043 mln zł i była o 13,62% wyższa niż w lipcu."
Model nie wykonał księgowości. Model wykonał interfejs językowy do wcześniej zdefiniowanej księgowości. To bardzo ważna różnica.
Co jeśli narzędzie nie odpowie?
Załóżmy, że zapytanie kończy się błędem MSSQL timeout.
PRAWIDŁOWA ODPOWIEDŹ
"Nie udało się pobrać danych z ERP. Spróbuj ponownie później."
NIE
"Przychód wyniósł prawdopodobnie około 1,1 mln zł."
To kolejna fundamentalna zasada:
brak wyniku z narzędzia = brak liczby w odpowiedzi
To samo dotyczy awarii samego serwera z modelem. Asystent ERP to kolejna usługa, która powinna mieć monitoring, alerty i procedurę postępowania. Jak podejść do incydentu z pomocą AI, opisujemy w artykule AI podczas awarii: pierwsze 30 minut incydentu.
Audit
Dla każdego zapytania warto móc odtworzyć:
Nie oznacza to koniecznie przechowywania wszystkich danych zwróconych przez ERP. Audit również powinien respektować zasadę minimalizacji danych. Przykładowo:
{
"user": "user123",
"tool": "get_revenue",
"parameters": {
"period": "2026-08"
},
"duration_ms": 142,
"status": "success"
}
To często wystarczy do analizy działania systemu. Takie logi dobrze jest trzymać w tym samym miejscu co resztę telemetrii, o czym piszemy w artykule AI w analizie logów Linux.
Lokalny model, API czy rozwiązanie hybrydowe?
Nie traktowałbym tego jako wyboru tylko "chmura vs on-prem". W praktyce istnieją co najmniej trzy warianty.
| Model | Dane | Zalety | Wady |
|---|---|---|---|
| API dostawcy | wysyłane do zatwierdzonej usługi | szybki start, mocne modele, brak GPU | koszt API, zależność od dostawcy, governance danych |
| Lokalny LLM | przetwarzanie w firmie | kontrola, brak zależności od Internetu, możliwość pełnej izolacji | sprzęt, energia, utrzymanie |
| Hybrydowy | SQL i narzędzia lokalnie, do modelu trafia minimalny wynik | ograniczenie zakresu danych przy dostępie do mocnego modelu | nadal wymaga oceny tego, co opuszcza firmę |
Wariant hybrydowy jest szczególnie interesujący. ERP nigdy nie opuszcza firmy. Zapytanie wykonywane jest lokalnie. Model zewnętrzny może ewentualnie dostać tylko:
{
"metric": "revenue",
"period": "2026-08",
"value": 1043000,
"currency": "PLN"
}
i jedynie przygotować odpowiedź. Czy nawet taka liczba może być poufna? Oczywiście. Dlatego nadal potrzebna jest decyzja organizacji. Ale zakres danych jest nieporównywalnie mniejszy niż przy przesłaniu fragmentu bazy ERP.
Czy lokalny model automatycznie rozwiązuje problem RODO?
Nie. Lokalność ogranicza jeden rodzaj ryzyka: przekazywanie danych zewnętrznemu dostawcy. Nadal pozostają:
Lokalny system może również źle zarządzać danymi osobowymi. Tylko robi to na naszym serwerze.
Jaki sprzęt jest potrzebny?
Tutaj nie podawałbym jednej konfiguracji jako "minimalnej". Wymagania zależą od:
Do PoC i prostych zastosowań można zacząć bez GPU: mały model, kwantyzacja Q4/Q5, 16-32 GB RAM, nowoczesny CPU. Da się na tym sprawdzić klasyfikację intencji, tool calling, sposób budowania odpowiedzi i integrację aplikacji. Nie oczekiwałbym jednak komfortu porównywalnego z dużymi usługami chmurowymi.
Sensowny punkt startowy dla mniejszych i części średnich modeli skwantyzowanych. Pamięć zajmuje jednak nie tylko sam model: dochodzi kontekst, cache, narzut runtime i równoległe sesje. Model, który "mieści się" na karcie, nie zawsze będzie komfortowy w realnej aplikacji.
Znacznie większy margines na modele klasy około 14B w kwantyzacji, dłuższy kontekst, wyższą jakość kwantyzacji i równoległe zapytania. Nie oznacza to automatycznie, że właśnie taki sprzęt trzeba kupić.
Najpierw test. Potem zakup.
Ollama czy vLLM?
Dla małego wdrożenia Ollama jest wygodnym sposobem na szybkie uruchomienie lokalnego modelu i wystawienie API. W większym środowisku, gdzie liczy się większa liczba jednoczesnych zapytań, throughput i zarządzanie serwowaniem modelu, można rozważyć również inne rozwiązania, na przykład vLLM.
Aplikacja powinna traktować model jako wymienny endpoint. Nie budować się wokół jednej konkretnej nazwy modelu. Przykład konfiguracji:
LLM_BASE_URL=http://llm01.internal:11434
LLM_MODEL=<model>
Zmiana modelu nie powinna wymagać przepisywania integracji z ERP.
Nie kupuj GPU przed benchmarkiem
To jedna z najprostszych metod oszczędzenia pieniędzy. Najpierw przygotuj:
- 1 20-50 rzeczywistych pytań użytkowników
- 2 oczekiwane narzędzie dla każdego pytania
- 3 oczekiwane parametry
- 4 oczekiwany format odpowiedzi
Następnie przetestuj kilka modeli. Mierz:
Dopiero wtedy wiadomo, czy potrzebujesz modelu 8B, 14B czy większego, oraz jakiego sprzętu.
Model większy nie zawsze znaczy lepszy projekt
Jeżeli zadanie LLM wygląda tak:
niekoniecznie potrzebujemy największego modelu, jaki da się uruchomić. Mniejszy model może być szybszy, tańszy, łatwiejszy w utrzymaniu i całkowicie wystarczający. Największy wzrost jakości projektu często da lepsze narzędzie i lepsza definicja danych, a nie większy LLM.
Co naprawdę składa się na TCO?
Karta GPU jest najbardziej widocznym kosztem. Nie zawsze największym.
Sprzęt
GPU, RAM, CPU, storage, zasilacz, obudowa lub serwer.
Energia
Model nie działa za darmo. Serwer GPU pracujący całą dobę to realna pozycja w rachunku.
Administracja
Ktoś musi utrzymywać system operacyjny, Docker, runtime modelu, aktualizacje, certyfikaty i monitoring.
Aplikacja
Backend, uwierzytelnianie, RBAC, audit i obsługa błędów.
Dane
Często najdroższa część: zrozumieć ERP, uzgodnić definicje, przygotować widoki, zweryfikować wyniki.
Testy
Każde narzędzie musi zostać porównane z rzeczywistym raportem ERP.
Host z modelem to kolejny serwer, który trzeba regularnie przeglądać. Warto dopisać go do comiesięcznej checklisty utrzymania IT razem z resztą infrastruktury.
Czy trzeba backupować modele?
Nie zawsze. Jeżeli używamy publicznie dostępnego modelu, często wystarczy mieć:
- › przypiętą wersję i identyfikator modelu,
- › konfigurację,
- › procedurę ponownego pobrania.
Inaczej wygląda sytuacja, jeżeli model jest fine-tunowany, własny, używany w środowisku air-gapped albo niedostępny publicznie. Wtedy artefakty modelu rzeczywiście stają się elementem strategii backupu. To dobry przykład kosztu, którego nie warto automatycznie doliczać do każdego wdrożenia. Znacznie ważniejszy pozostaje backup samego ERP, o czym piszemy w artykule backup systemu ERP.
Rozsądna ścieżka projektu
- 0 Etap 0. Pytania biznesowe. Zbieramy na przykład: jaki był przychód, jak sprzedaż zmieniła się m/m, kto kupuje najwięcej, którzy klienci mają największe zaległości.
- 1 Etap 1. Definicje. Ustalamy, co dokładnie oznaczają: przychód, sprzedaż, należność, przeterminowanie, klient aktywny.
- 2 Etap 2. Warstwa danych. Budujemy kontrolowane widoki, zapytania i modele kanoniczne.
- 3 Etap 3. Test bez AI. Uruchamiamy get_revenue() i porównujemy wynik z raportem ERP. Dopóki liczby się nie zgadzają, model językowy jest zbędny.
- 4 Etap 4. Backend. Dodajemy API, uwierzytelnianie, RBAC, audit i obsługę timeoutów.
- 5 Etap 5. LLM. Model rozpoznaje intencję, wybiera narzędzie, przekazuje parametry i formułuje wynik.
- 6 Etap 6. Interfejs. Dopiero teraz powstaje wygodny czat.
TAK
dane, test, dopiero czat
NIE
najpierw czat, potem zastanawiamy się, dlaczego źle liczy sprzedaż
Jak testować taki system?
Nie pytaniem "czy odpowiedź wygląda dobrze?". Potrzebujemy testów. Przykładowy zestaw:
| Pytanie | Narzędzie | Oczekiwany wynik |
|---|---|---|
| Jaki był przychód w sierpniu? | get_revenue | zgodny z ERP |
| Porównaj lipiec z sierpniem | compare_revenue_periods | zgodne kwoty i delta |
| Top 10 klientów | get_top_customers | zgodna kolejność |
| Największe zaległości | get_overdue_balances | zgodne saldo |
Osobno testujemy dwie warstwy:
LLM
Czy wybrał właściwe narzędzie?
WARSTWA DANYCH
Czy narzędzie zwróciło właściwą liczbę?
To bardzo ułatwia diagnostykę.
Co jeśli model wybierze złe narzędzie?
Na przykład użytkownik pyta "Ile klienci są nam winni?", a model wybiera get_revenue. To błąd LLM. Nie błąd ERP. Dzięki rozdzieleniu warstw dokładnie wiemy, gdzie szukać problemu. To kolejny argument przeciwko rozwiązaniu "LLM generuje wszystko od początku do końca".
Jak rozszerzać system później?
Dopiero po stabilizacji pierwszych narzędzi można dodawać kolejne. Na przykład:
Każde przechodzi tę samą drogę:
W ten sposób system rośnie powoli, ale przewidywalnie.
A co z dowolnymi pytaniami do danych?
Prędzej czy później użytkownik zapyta:
"Pokaż mi sprzedaż produktów z kategorii X klientom z regionu Y w ostatnich 17 miesiącach, bez korekt i z podziałem na handlowców."
Nie da się przygotować wcześniej każdego możliwego narzędzia. To moment, w którym można rozważyć bardziej dynamiczną analitykę. Ale nie zaczynałbym od niej. Jeżeli firma chce wdrożyć text-to-SQL, lepszym miejscem jest replika, hurtownia, baza raportowa albo sandbox analityczny, a nie produkcyjna baza ERP. Do tego:
To jest etap późniejszy. Nie MVP.
Najczęstsze błędy
"Podłączmy model bezpośrednio do bazy"
Efektowne demo. Słaby model bezpieczeństwa.
"SELECT-only wystarczy"
Nie. Trzeba jeszcze kontrolować zakres danych, koszt zapytania, czas wykonania i obiekty dostępne dla aplikacji.
"Model zna schemat ERP"
Zna być może nazwy podobnych tabel. Nie zna definicji biznesowej obowiązującej w konkretnej firmie.
"Kupmy największy GPU"
Najpierw benchmark.
"Lokalne = bezpieczne"
Nie. Lokalne = dane mogą pozostać lokalnie. Bezpieczeństwo trzeba dopiero zbudować.
"Chmura = dane lecą gdzieś bez kontroli"
Też zbyt proste. Istnieją rozwiązania enterprise z określonymi warunkami przetwarzania, retencji i bezpieczeństwa. Trzeba ocenić konkretną usługę.
"Jeżeli backend padnie, model jakoś odpowie"
Nie. W przypadku danych biznesowych lepiej odpowiedzieć "brak danych" niż wymyślić liczbę.
Kiedy lokalne AI nie ma ekonomicznego sensu?
TRUDNO UZASADNIĆ SERWER GPU
- › dwóch użytkowników
- › dziesięć pytań miesięcznie
- › dane możliwe do bezpiecznego przetworzenia w zatwierdzonym API
LOKALNY MODEL STAJE SIĘ CIEKAWY
- › użytkowników jest wielu
- › pytania są częste
- › dane są mocno wrażliwe
- › integracja z wieloma systemami
- › potrzebna praca lokalna
Nie rozstrzyga tego moda. Rozstrzyga TCO i wymagania.
Jak podchodzimy do takiego projektu w PRO-Admin?
Nie zaczynamy od wyboru modelu. Najpierw odpowiadamy na sześć pytań:
- 1 Jakie pytania ma obsługiwać system?
- 2 Skąd pochodzi poprawna odpowiedź?
- 3 Kto może ją zobaczyć?
- 4 Jak zweryfikujemy wynik?
- 5 Czy dane mogą trafić poza firmę?
- 6 Jakie obciążenie system ma obsłużyć?
Dopiero później dobieramy architekturę, model, CPU lub GPU, sposób uruchomienia i integrację. Rola człowieka się tu nie kończy: ktoś musi zatwierdzać definicje, pilnować testów i odpowiadać za wynik, o czym szerzej w artykule czy AI zastąpi administratora systemów.
W projekcie opartym o Comarch ERP XL szczególnie ważne jest oddzielenie trzech warstw:
WARSTWA 1
surowy schemat ERP
WARSTWA 2
warstwa danych biznesowych
WARSTWA 3
język naturalny
Model powinien być ostatnią warstwą. Nie pierwszą.
FAQ - lokalne AI w firmie
Czy lokalne AI wymaga GPU?
Nie zawsze. Mały model można uruchomić na CPU, szczególnie na etapie testowym. GPU znacząco poprawia jednak komfort pracy i przepustowość przy większych modelach oraz wielu użytkownikach.
Ile RAM potrzeba do lokalnego LLM?
Zależy od konkretnego modelu, kwantyzacji i długości kontekstu. Do małego PoC 16-32 GB RAM może być wystarczające, ale nie istnieje jedna wartość odpowiednia dla wszystkich modeli.
Ile VRAM potrzeba?
Również zależy od modelu i kwantyzacji. Karty z 12-16 GB VRAM pozwalają uruchamiać wiele mniejszych modeli skwantyzowanych, a 24 GB daje znacznie większy margines dla modeli średniej wielkości, kontekstu i równoległych użytkowników.
Czy Ollama nadaje się do firmy?
Może być bardzo dobrym rozwiązaniem do małych i średnich wdrożeń oraz PoC. W środowiskach wymagających większej przepustowości można rozważyć również inne serwery inference, na przykład vLLM.
Czy LLM powinien mieć dostęp do bazy Comarch ERP XL?
Nie dawałbym modelowi bezpośrednich credentiali do bazy. Bezpieczniejszy model zakłada backend posiadający kontrolowane narzędzia korzystające z dedykowanego konta SQL.
Czy samo konto SELECT-only wystarczy?
Nie. Warto dodatkowo ograniczyć zakres obiektów, stosować timeout, limit wyników i audit. Microsoft rekomenduje zasadę najmniejszych uprawnień i umożliwia nadawanie SELECT nawet na konkretnych obiektach lub schemacie.
Czy LLM może generować SQL?
Technicznie tak. W pierwszym etapie systemu biznesowego bezpieczniej jest korzystać z wcześniej przygotowanych funkcji i sparametryzowanych zapytań. Text-to-SQL można rozważyć później w odizolowanej warstwie analitycznej.
Czy lokalne AI rozwiązuje problem RODO?
Nie. Ogranicza potrzebę przesyłania danych do zewnętrznego modelu, ale nadal trzeba kontrolować dostęp, retencję, logi, backup i sposób przetwarzania danych.
Czy model musi znać schemat ERP?
Nie, jeżeli korzystamy z tool calling. Może znać opis narzędzi i ich parametrów bez znajomości całego schematu produkcyjnej bazy.
Czy warto najpierw kupić GPU?
Nie. Najpierw przygotowałbym zestaw rzeczywistych pytań i benchmark kilku modeli. Dopiero wynik testów powinien zdecydować o zakupie sprzętu.
Podsumowanie
Lokalny LLM może mieć bardzo dużo sensu w małej i średniej firmie. Ale nie dlatego, że "AI musi być u nas na serwerze". Sens pojawia się wtedy, gdy rozwiązanie:
W przypadku ERP najważniejsza architektura wygląda tak:
TAK
↓
↓
↓
↓
↓
NIE
↓
↓
Najważniejszym elementem takiego systemu nie jest więc GPU. Nie jest nim nawet model. Jest nim zasada:
Każdy fakt biznesowy musi mieć kontrolowane źródło.
Jeżeli pytamy o przychód, model nie może go wymyślić. Jeżeli pytamy o saldo klienta, odpowiedź musi pochodzić z danych. Jeżeli ERP nie odpowiada, AI również nie zna odpowiedzi.
To właśnie odróżnia użyteczny firmowy system AI od bardzo przekonującego chatbota.
Chcesz sprawdzić, czy lokalne AI ma sens w Twojej firmie?
W PRO-Admin możemy pomóc zaprojektować i uruchomić warstwę techniczną takiego rozwiązania:
Nie zaczynamy od pytania "jaką kartę graficzną kupić?". Zaczynamy od: jakie pytanie biznesowe ma zostać rozwiązane i skąd ma pochodzić poprawna odpowiedź? Dopiero później dobieramy sprzęt.
Przeczytaj też
SQL Server dla ERP. Jak prawidłowo zaprojektować i skonfigurować bazę danych?
Jak skonfigurować SQL Server dla systemu ERP? Sprawdź zalecenia dotyczące procesora, pamięci, storage, TempDB, backupu, bezpieczeństwa i środowiska Proxmox.
AI10 rzeczy, których administrator IT nie powinien oddawać AI bez kontroli
AI może pisać Ansible, Terraform i analizować logi. Są jednak decyzje, których nie powinno podejmować bez kontroli. 10 granic bezpiecznej automatyzacji IT.
AIAI w cyberbezpieczeństwie firmy. Gdzie pomaga, a gdzie tworzy nowe ryzyko?
Jak bezpiecznie wykorzystać AI w cyberbezpieczeństwie? Triage alertów, IAM, analiza logów, shadow AI, prompt injection, DLP, uprawnienia agentów i automatyczna reakcja.
AIAI podczas awarii. Jak użyć modelu językowego w pierwszych 30 minutach incydentu?
Jak bezpiecznie używać AI podczas awarii IT? Pierwsze 30 minut incydentu, analiza logów, hipotezy, Incident Commander, sanityzacja danych i granice automatyzacji.
Porozmawiajmy o Twoim IT
Odpiszemy najszybciej jak to możliwe. Bezpłatna konsultacja i wycena.
Obsługujemy firmy w Szczecinie, Stargardzie i okolicach oraz realizujemy usługi zdalnie na terenie całej Polski.