Proszę o przygotowanie MVP (Minimum Viable Product) Asystenta Analitycznego opartego na danych sprzedażowych z wykorzystaniem modelu językowego LLM oraz innych niezbędnych komponentów z użyciem języka Python. Asystent powinien być zdolny do udzielania odpowiedzi na pytania z zakresu analizy:
- eksploracyjnej,
- diagnostycznej,
- predykcyjnej,
- w oparciu o dostarczoną bazę danych.
Kryteria oceny obejmują:
- jakość koncepcji,
- efektywność działania,
- standardy pisania kodu.
Wyślij nam zadanie nawet wtedy, gdy nie jest ono w pełni ukończone. Ważne jest też dla nas sprawdzenie,
jak podeszłaś do zadania i jaki miałaś pomysł na jego wykonanie.
Informacja czy dana transakcja jest rentowna dla systemów sprzedażowych jest cenna.
Niejednokrotnie wyzwaniem jest zbudowanie takiego mechanizmu, by jednocześnie był przyjazny dla osób, które będą z nim pracować i spełniał wszystkie ich wymagania odnośnie możliwości konfiguracyjnych systemu.
Wyobraźmy sobie aplikację, która jest konfigurowalna przez przedstawicieli z biznesu działających na pewnych zbiorach danych zwanymi dalej macierzami. Niejednokrotnie przedstawiciele pracują na brudnopisach zanim podejmą decyzje, że system sprzedażowy powinien używać tej konfiguracji jako produkcyjnej.
W momencie, gdy zdecydują się, że ich praca jest skończona, uprodukcyjniają konfigurację i system przenosi ich zmiany z brudnopisu na konfigurację produkcyjną wykorzystywaną przez system.
Zaprojektuj aplikację backendową, która umożliwi zrealizowanie logiki:
- tworzenie nowego brudnopisu w oparciu o konfigurację produkcyjną - założenie nowego brudnopisu, inicjuje go konfiguracja produkcyjna,
- edycja konfiguracji brudnopisu
- podgląd konfiguracji w ramach brudnopisu,
- przechowywanie konfiguracji produkcyjnej,
- uprodukcyjnienie konfiguracji - przeniesienie konfiguracji z brudnopisu do miejsca, gdzie system będzie przechowywał konfigurację produkcyjną,
- audyt zmian jakie zostały wykonane w konfiguracji produkcyjnej w ramach przenoszenia konfiguracji brudnopisu.
Założenia:
- brudnopis składa się z kompletu danych 3 macierzy (struktura biznesowa macierzy + przykładowa konfiguracja + ograniczenia walidacyjne
w załączniku Macierze),
- aplikacja wystawia interfejs REST do tworzenia brudnopisu i zarządzania jego konfiguracją,
- aplikacja wystawia interfejs REST do podglądu konfiguracji brudnopisu,
- aplikacja wystawia interfejs REST do zlecenia uprodukcyjnienia konfiguracji,
- aplikacja wystawia interfejs REST do podglądu konfiguracji produkcyjnej,
- Macierz1 i Macierz2 powinny umożliwiać załadowanie konfiguracji kopii roboczej w ramach pliku CSV.
Pamiętaj, by ze względu na duże woluminy danych uwzględnić aspekt wydajnościowy aplikacji.
Glosariusz:
- macierz - tabela lub wiele tabel w relacji zawierających jakąś konfigurację biznesową,
- konfiguracja produkcyjna - konfiguracja wszystkich 3 macierzy, która jest wykorzystywana przez system do weryfikacji,
- brudnopis - konfiguracja wszystkich 3 macierzy, która nie jest wykorzystywana przez system do weryfikacji - istnieje na potrzeby edycji konfiguracji na
potrzeby przedstawiciela biznesowego,
- uprodukcyjnianie konfiguracji - moment, w którym przepisujemy konfigurację z brudnopisu na konfigurację produkcyjną (tzn. chcemy, by system w ramach
weryfikacji zaczął używać tej konfiguracji),
- audytowalność - umożliwienie sprawdzenia, jak konfiguracja produkcyjna zmieniała się w czasie.
Jury oceniać będzie:
- właściwą interpretację wymagań - 10 pkt
- poprawną implementację aplikacji - 30 pkt
- jakość dostarczonego kodu - 15 pkt
- jakość testów jednostkowych - 5 pkt
- jakość testów integracyjnych - 15 pkt
- jakość promptów AI - 10 pkt
- umiejętność obsługi błędów - 5 pkt
- podejście do wydajności aplikacji - 10 pkt
Wyślij nam zadanie nawet wtedy, gdy nie jest ono w pełni ukończone. Ważne jest też dla nas sprawdzenie,
jak podeszłaś do zadania i jaki miałaś pomysł na jego wykonanie.
Twoim zadaniem jest stworzenie inteligentnego asystenta (tekstowego lub głosowego) opartego na wybranym przez Ciebie dużym modelu językowym open-source* (Bielik, LLama, BLOOM). Kluczowym elementem jest dostosowywanie się asystenta do indywidualnych potrzeb użytkownika. Przykładowo, gdy użytkownik prosi o pomoc w rozwiązaniu problemu technicznego, asystent powinien odpowiadać krótko, rzeczowo i w formalnym tonie. W przypadku rozmów o codziennych sprawach, odpowiedzi asystenta powinny być swobodniejsze i pogodne. Jeśli użytkownik odczuwa silne negatywne emocje, takie jak złość, strach, czy frustracja, asystent powinien zaoferować wsparcie poprzez empatyczne odpowiedzi czy uspokajający ton.
Zmiana osobowości powinna wynikać z zaprojektowanej przez Ciebie logiki, a nie być wbudowana w model LLM. Model ma jedynie generować treści odpowiedzi, natomiast styl wypowiedzi (formatowanie, długość, itp.) oraz charakter asystenta, powinny zmieniać się w zależności od zaprojektowanych przez Ciebie reguł, które oprzesz na analizie wiadomości użytkownika. Możesz analizować na przykład kontekst wypowiedzi, sentyment lub obecność określonych zwrotów. To, co zdecydujesz się analizować oraz liczba i rodzaj reguł, zależy wyłącznie od Ciebie.
Wyślij nam zadanie nawet wtedy, gdy nie jest ono w pełni ukończone. Ważne jest też dla nas sprawdzenie jak podeszłaś do zadania i jaki miałaś pomysł na jego wykonanie.
Kryteria oceny:
Kreatywność - 25%
- Jak twórczo podeszłaś do zadania?
- Czy rozwiązanie jest przemyślane i oryginalne?
- Na ile zróżnicowane są “osobowości” asystentów? Jak dobrze odpowiadają na różne potrzeby użytkowników?
Innowacyjność - 25%
- W jak dużym stopniu rozwiązanie jest wynikiem Twojej własnej pracy, a nie odtworzeniem dostępnych rozwiązań?
Umiejętności analityczne - 20%
- Jak dokładna i wnikliwa jest przeprowadzona przez Ciebie analiza?
- Czy uwzględniłaś różne scenariusze i przypadki?
Współpraca z LLM - 15%
- Jak swobodnie korzystasz z narzędzi LLM? Czy w efektywny sposób ich używasz?
- Czy umiesz tworzyć skuteczne prompty i wpływać na odpowiedzi modeli językowych?
Techniczna poprawność - 15%
- Czy Twoja implementacja jest klarowna i dobrze zorganizowana?
- Czy chat działa bez błędów?
*Darmowe modele LLM możesz ściągnąć lokalnie przez stronę https://huggingface.co