Skocz do zawartości

auto-mantis


SeeM

Rekomendowane odpowiedzi

Hej. 

Chciałem Wam przedstawić mojego nowego kolegę. Mam pod opieką kilka serwerów, które monituję Mantisem:

  • na hostach są agenty NRPE
  • agenty mają w konfiguracji progi alarmowe
  • Nagios odpytuje NRPE, te uruchamiają jakieś tam skrypty i odpowiadają mantisowi kodem wyjścia 0/1/2/3 oraz czasem dodatkowym komunikatem,
  • na telefonie mam aplikację aNag, która pokazuje powyższy problem.

Do tej pory nic interesującego.

Nagios idzie teraz do API Mantisa i dodaje do niego nowy wątek:

image.thumb.png.36b7794702a91c62b895058fdcbb3bcd.png

 

A wcześnie rano do API Mantisa idzie pythonowy skrypt, wyszukuje nieprzypisane zgłoszenia i idzie z nimi do API LiteLLM, który to łączy się do Ollamy i promptuje model o możliwe przyczyny.

image.thumb.png.0ac2ef1154d0e8d27b57ecd917bbd7a3.png

 

Jak widać nie chodzi to jeszcze idealnie. Moduł http.client w Pythonie musi przesłać do Mantisa łańcuch zakodowany w UTF-8, zawierający znaki nowej linii "\n". I przy tych znakach Mantis się gubi, zwraca kod http 400 i komentarz nie trafia do wątku. Ten akurat był umieszczony ręcznie, zawiera więc mnóstwo nadmiarowych metadanych z LiteLLM.

Pozostało mi więc

  • zlokalizować problem z "\n",
  • dodać do skrypciku wyszukiwanie, powiązanie i zamykanie duplikatów z dodanym komentarzem i ilości znalezionych powtórzeń zanim zacznę rozgrzewać GPU.

Duplikaty będą łatwe, bo komentarze z Nagiosa są zawsze takie same. Trudniej mi idzie z kodowaniem nowej linii.

Mi te komentarze od modelu niewiele pomagają, bo ja wiem, czemu coś tam nie działa. Ale gdybym był świeżakiem w organizacji i miał nieduży staż pracy, to miałbym co przeklejać do prywatnego czata. (-: Zaraz by się tokeny skończyły.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Przy okazji napiszę jak w Pythonie poradzić sobie ze znakami \n w unikodzie. 

napis = f'''Jakiś napis zawierający prawdopodobnie znaki nowej linii. {napis_ze_zmiennej}'''.replace('\n','\\n').encode('utf-8')

image.thumb.png.48804755a1f678567ac97f2b867ecdc7.png

Odnośnik do komentarza
Udostępnij na innych stronach

Na własne potrzeby, pisze sobie "fake plugin" dla kate do komunikacji z modelem poprzez ollame. Póki co, jeszcze niedopracowany, ale już użyteczny. Ostatnio coś zepsułem z potokiem... Nie wiem czy kiedykolwiek się nim pochwalę.

  • Upvote 1
Odnośnik do komentarza
Udostępnij na innych stronach

Prawdę mówiąc to właśnie @SeeM natchnąłeś mnie na te lokalne modele. choć z drugiej strony mocno przejechałem się na darmowych chmurowcach. Jednak te otwarte lokalne modele to bardziej eksperymenty, aby z nich korzystać należy zmienić swoje podejście. Wynika to z faktu że na przykład qwen3 ma naprawdę mały bufor na prompty - trzeba mu wiecznie przypominać kontekst, co ma oczywiście znaczenie na prędkość przetwarzania. Ale tak, ostatecznie zainwestowałem w hardware z rtx, jak by nie było - oczywiście w promocji. 

Odnośnik do komentarza
Udostępnij na innych stronach

46 minut temu, prymula napisał:

Jednak te otwarte lokalne modele to bardziej eksperymenty, aby z nich korzystać należy zmienić swoje podejście. Wynika to z faktu że na przykład qwen3 ma naprawdę mały bufor na prompty - trzeba mu wiecznie przypominać kontekst, co ma oczywiście znaczenie na prędkość przetwarzania.

Jak na darmowy model do Ollamy to 256k to wcale nie jest żle. Nasze Bieliki z Cyfronetu mają 32k, więc nadają się bardziej do pogawędek, niż procesowania dużej ilości kodu. 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...