Bazy wektorowe: Vector Embedding i Zastosowanie

Czym jest baza wektorowa? Baza wektorowa w matematyce odnosi się do zbioru wektorów, które są liniowo niezależne i rozpinają całą przestrzeń wektorową. Mówiąc prościej, bazy wektorowe to sposób na opisanie przestrzeni w najprostszy możliwy sposób przy pomocy minimalnej liczby elementów. Baza wektorowa w kontekście AI Podczas tworzenia rozwiązań opartych o modele LLM, zwłaszcza w kontekście […]

Bazy wektorowe: Vector Embedding i Zastosowanie Czytaj dalej »

AI, LLM

Thread Summarization w LLM: Jak nauczyć AI pamiętać kontekst rozmowy?

Podczas tworzenia aplikacji wykorzystujących modele językowe (LLM) naturalnym jest, że przy zadaniu pytaniu pytania, chcemy mieć możliwość odnoszenia się do uzyskanej odpowiedzi lub informacji zawartej w pytaniu. Chcemy, żeby model “zapamiętał” to co zostało powiedziane wcześniej. Natomiast natura modeli LLM jest odwrotna. Ich bezstanowość powoduje, że każde wywołanie API to rozpoczęcie rozmowy od początku –

Thread Summarization w LLM: Jak nauczyć AI pamiętać kontekst rozmowy? Czytaj dalej »

AI, Dobre praktyki, LLM, Poradniki

Fine-Tuning w OpenAI: Jak Dostosować Model do Twoich Potrzeb i Poprawić Wyniki

Po co stosować Fine-Tuning? Gdy odpowiedzi modelu nie spełniają naszych oczekiwań, fine-tuning umożliwia lepsze dostosowanie modelu do pożądanych rezultatów. Dzięki temu można osiągnąć: Kiedy stosować Fine-Tuning? Fine-tuning ma sens, gdy łatwiej jest nam pokazać modelowi, co ma robić, niż to opisywać. Warto także pamiętać, że będzie on najbardziej efektywny, gdy potrzeby użytkowników są dobrze zdefiniowane

Fine-Tuning w OpenAI: Jak Dostosować Model do Twoich Potrzeb i Poprawić Wyniki Czytaj dalej »

AI, LLM, Poradniki

Jak tworzyć skuteczne prompt dla LLM i optymalizować ich działanie

Model LLM, jak wspominałem w LLM na co dzień: Co każdy programista powinien wiedzieć, służy do przetwarzania naturalnego języka, co za tym idzie komunikacja może odbywać się w takim sam sposób co z drugim człowiekiem. Aczkolwiek należy pamiętać, że taki typ komunikacji nie zawsze będzie efektywny. Czym jest prompt engineering? Właśnie tutaj wkracza prompt engineering,

Jak tworzyć skuteczne prompt dla LLM i optymalizować ich działanie Czytaj dalej »

AI, Dobre praktyki, LLM, Poradniki

LLM na co dzień: Co każdy programista powinien wiedzieć

Zacznijmy od tego, czym jest LLM (Large Language Model)? Są to algorytmy sztucznej inteligencji wyszkolone na olbrzymich ilościach danych, co pozwala im na analizę i generowanie języka naturalnego. Poprzez takie szkolenie umieją wyłapywać wzorce i zależności między słowami. Co za tym idzie jeśli dany model uczony był na starszych materiałach, może nie być w stanie

LLM na co dzień: Co każdy programista powinien wiedzieć Czytaj dalej »

AI, LLM, Poradniki

O co chodzi w Dependency Injection?

Dependency Injection (Wstrzykiwanie Zależności) jest istotnym elementem w programowaniu obiektowym. Jest to technika, która która polega na tym aby zależność wprowadzić do obiektu z zewnątrz na przykład poprzez konstruktor danej klasy. A po co taki zabieg? Ponieważ pomaga nam w tworzeniu bardziej elastycznych, testowalnych i zrozumiałych aplikacji. Po co używać Dependency Injection? Sposoby implementacji w

O co chodzi w Dependency Injection? Czytaj dalej »

Dobre praktyki, Programowanie

Jak ulepszyć jakość kodu? Czyli trochę o testach mutacyjnych

Czym są testy mutacyjne? Testy mutacyjne polegają na wprowadzaniu sztucznych zmian (mutantów) do kodu źródłowego w celu sprawdzenia, czy istniejące testy jednostkowe są wystarczająco dokładne i potrafią wykryć błędy. Mutacje te symulują potencjalne błędy, które programiści mogą popełnić podczas pisania kodu. Po co używać testy mutacyjne? Testy mutacyjne pozwalają weryfikować testy jednostkowe np. sprawdzając czy

Jak ulepszyć jakość kodu? Czyli trochę o testach mutacyjnych Czytaj dalej »

Testowanie

Dobre praktyki w programowaniu czyli o zasadach SOLID, KISS, YAGNI, DRY

W programowaniu bardzo ważnym aspektem dotyczącym jakości napisanego kodu, jest przestrzeganie kilku zasad i reguł. Sprawi to, że tworzony kod będzie prostszy do utrzymania lub rozbudowy, a także będzie bardziej przejrzysty. Zacznijmy od tego czym są zasady SOLID. Jest to pięć zasad zaproponowanych przez Roberta C. Martina autora wielu książek dotyczących inżynierii oprogramowania, które powinniśmy

Dobre praktyki w programowaniu czyli o zasadach SOLID, KISS, YAGNI, DRY Czytaj dalej »

Dobre praktyki, Programowanie

Czym jest automapper i jak go skonfigurować?

Pomiędzy klientem a serwerem muszą być przesyłane w jakiś sposób dane. Jednym z możliwości będzie koncept DTOs czyli Data Transfer Objects. Tutaj przychodzi nam z pomocą Automapper, czyli najprościej mówiąc biblioteka, która automatycznie mapuje nam obiekt jednego typu na typ drugi. Automapper działa tak, że domyślnie mapuje te same nazwy np. FirstName na FirstName innego

Czym jest automapper i jak go skonfigurować? Czytaj dalej »

Poradniki, Programowanie

Wzorce projektowe

Czym jest wzorzec projektowy? Wzorzec projektowy jest to typowe rozwiązanie często spotykanego problemu w projektowaniu oprogramowania. Każdy wzorzec posiada plan i założenia jak radzić sobie z konkretnym problemem. Podział wzorców: Wzorce dzielą się na: kreacyjne strukturalne behawioralne Wzorców projektowych jest wiele. Co za tym idzie opisanie każdego zajęłoby wiele czasu, więc pozwoliłem sobie wybrać najpopularniejsze

Wzorce projektowe Czytaj dalej »

Dobre praktyki, Programowanie
Scroll to Top