-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTODO.txt
More file actions
executable file
·249 lines (205 loc) · 11.4 KB
/
TODO.txt
File metadata and controls
executable file
·249 lines (205 loc) · 11.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
# coBoarding - Podsumowanie rozwiązania i prompty implementacyjne
## Podsumowanie rozwiązania
coBoarding to kompleksowy system do automatycznego wypełniania formularzy rekrutacyjnych, charakteryzujący się następującymi cechami:
1. **Architektura kontenerowa** - oparty na Docker, z separacją funkcjonalności w modułach
2. **Lokalne przetwarzanie danych** - 100% prywatności dzięki lokalnym modelom LLM
3. **Wykrywanie i dopasowanie sprzętu** - automatyczny wybór modelu LLM w zależności od dostępnych zasobów
4. **Wielojęzyczność** - wsparcie dla PL, DE, EN z automatycznym wykrywaniem języka formularza
5. **Nowoczesny interfejs** - aplikacja webowa z HTTPS, sterowanie głosowe przez Web Speech API
6. **Automatyczna generacja pipelines** - dla popularnych portali pracy z wykorzystaniem LLM
7. **Wizualizacja procesu** - podgląd działania przeglądarki przez noVNC
8. **System testowy** - kompletne środowisko testowe z różnymi typami formularzy
9. **Integracja z menedżerami haseł** - Bitwarden, PassBolt dla bezpiecznego logowania
System oferuje przewagę nad konkurencyjnymi rozwiązaniami (Manus AI, rtrvr.ai) przede wszystkim w zakresie prywatności danych, elastyczności i kontroli nad procesem.
## Prompty do implementacji z pytaniami weryfikacyjnymi
### Prompt 1: Architektura kontenerowa Docker
```
Zaimplementuj podstawową architekturę kontenerową coBoarding w Docker.
System powinien składać się z następujących kontenerów:
1. browser-service - zawierający przeglądarki Chrome/Firefox z Selenium
2. llm-orchestrator - z wykrywaniem sprzętu i zarządzaniem modelami LLM
3. novnc - do podglądu przeglądarki
4. web-interface - interfejs webowy z HTTPS i integracją Web Speech API
Stwórz pliki Dockerfile dla każdego kontenera, docker-compose.yml oraz skrypt inicjalizacyjny.
System powinien automatycznie wykrywać dostępne zasoby (GPU/CPU) i dobierać odpowiedni model LLM.
```
**Pytania weryfikacyjne:**
- Czy wszystkie kontenery zostały zdefiniowane w docker-compose.yml z odpowiednimi zależnościami?
- Czy kontenery komunikują się ze sobą przez zdefiniowaną sieć Docker?
- Czy skrypt inicjalizacyjny wykrywa dostępne zasoby sprzętowe?
- Czy zdefiniowano wolumeny do przechowywania danych (CV, modele, konfiguracja)?
- Czy kontener web-interface jest skonfigurowany z HTTPS?
- Czy weryfikowane jest połączenie między kontenerami po uruchomieniu?
### Prompt 2: System wykrywania i zarządzania modelami LLM
```
Zaimplementuj system wykrywania sprzętu i zarządzania modelami LLM dla coBoarding.
System powinien:
1. Wykrywać dostępność GPU i CUDA
2. Mierzyć dostępną pamięć RAM
3. Rekomendować odpowiednie modele LLM w zależności od zasobów
4. Zapewniać API do analizy formularzy i tłumaczenia treści
5. Generować konfiguracjie dla różnych modeli od lekkich (2GB RAM) po duże (32GB RAM)
6. Umożliwiać przełączanie między modelami
Użyj Pythona i bibliotek torch, transformers oraz langchain.
Zaimplementuj endpointy API do analizy formularzy, tłumaczenia i generowania pipeline'ów.
```
**Pytania weryfikacyjne:**
- Czy skrypt poprawnie wykrywa obecność i parametry GPU?
- Czy mierzona jest dostępna pamięć RAM?
- Czy dla wykrytych zasobów proponowane są odpowiednie modele LLM?
- Czy API oferuje wszystkie wymagane endpointy?
- Czy system działa nawet na minimalnych zasobach (CPU, 8GB RAM)?
- Czy przełączanie między modelami działa bez restartu systemu?
- Czy wykonano testy obciążeniowe dla różnych modeli?
### Prompt 3: Interfejs webowy z rozpoznawaniem mowy
```
Zaimplementuj interfejs webowy dla coBoarding z obsługą poleceń głosowych.
Interfejs powinien:
1. Być zbudowany w React z intuicyjnym UI
2. Wspierać HTTPS (nawet z certyfikatem self-signed dla rozwoju)
3. Integrować Web Speech API do rozpoznawania i syntezy mowy
4. Zapewniać podgląd przeglądarki przez noVNC
5. Wyświetlać historię wypełnionych formularzy
6. Obsługiwać podstawowe komendy głosowe (wypełnij formularz, uruchom test, itp.)
Zaimplementuj obsługę błędów (np. gdy przeglądarka nie wspiera API), informacje dla użytkownika
i responsywny design działający na różnych urządzeniach.
```
**Pytania weryfikacyjne:**
- Czy interfejs jest dostępny przez HTTPS?
- Czy rozpoznawanie mowy działa w różnych przeglądarkach?
- Czy wszystkie komendy głosowe są rozpoznawane i przetwarzane?
- Czy podgląd przeglądarki jest płynny i responsywny?
- Czy interfejs oferuje informacje zwrotne po wykonaniu akcji?
- Czy interfejs działa poprawnie na urządzeniach mobilnych?
- Czy obsługa błędów działa prawidłowo (np. niewspierane API)?
### Prompt 4: Generator pipeline'ów dla portali pracy
```
Zaimplementuj generator pipeline'ów dla popularnych portali pracy.
System powinien:
1. Zawierać bazę wiedzy o strukturze popularnych portali (LinkedIn, Pracuj.pl, StepStone)
2. Automatycznie wykrywać portal na podstawie URL
3. Generować kroki pipeline'u dla danego portalu
4. Wykorzystywać LLM do analizy i generowania kroków dla nieznanych portali
5. Zapisywać i zarządzać wygenerowanymi pipeline'ami
6. Obsługiwać aktualizację istniejących pipeline'ów
Zaimplementuj mechanizm testowania wygenerowanych pipeline'ów oraz możliwość ręcznego
dostosowania przez użytkownika.
```
**Pytania weryfikacyjne:**
- Czy system poprawnie wykrywa popularne portale pracy?
- Czy generowane pipeline'y zawierają wszystkie potrzebne kroki?
- Czy LLM poprawnie analizuje nieznane portale?
- Czy zapisywanie i ładowanie pipeline'ów działa poprawnie?
- Czy możliwa jest manualna edycja pipeline'ów?
- Czy system radzi sobie z różnymi strukturami formularzy?
- Czy przeprowadzono testy na rzeczywistych portalach pracy?
### Prompt 5: Parser CV i system analizy formularzy
```
Zaimplementuj system parsowania CV i analizy formularzy rekrutacyjnych.
System powinien:
1. Obsługiwać CV w formatach HTML, PDF i DOCX
2. Ekstrahować dane osobowe, doświadczenie, umiejętności i wykształcenie
3. Analizować strukturę formularzy na stronach internetowych
4. Mapować dane z CV na pola formularza
5. Obsługiwać tłumaczenie danych między językami (PL, DE, EN)
6. Obsługiwać upload plików w formularzach
Użyj technik NLP i LLM do analizy i dopasowywania danych.
Zadbaj o walidację i obsługę błędów.
```
**Pytania weryfikacyjne:**
- Czy parser obsługuje wszystkie wymagane formaty CV?
- Czy ekstrakcja danych działa poprawnie dla różnych struktur CV?
- Czy analiza formularzy wykrywa wszystkie typy pól?
- Czy mapowanie danych uwzględnia kontekst pól?
- Czy tłumaczenie między językami zachowuje sens i kontekst?
- Czy upload plików działa poprawnie?
- Czy przeprowadzono testy na rzeczywistych CV i formularzach?
### Prompt 6: Środowisko testowe i walidacja
```
Zaimplementuj kompletne środowisko testowe dla coBoarding.
Środowisko powinno zawierać:
1. Serwer formularzy testowych z różnymi typami formularzy (prosty, złożony, wielojęzyczny, z uploadem)
2. System automatycznych testów weryfikujących wszystkie funkcjonalności
3. Mechanizm porównywania oczekiwanych i rzeczywistych wyników
4. Generowanie raportów z testów i zrzutów ekranu
5. Testy w różnych warunkach (opóźnienia, błędy ładowania)
Zaimplementuj również testy jednostkowe dla poszczególnych komponentów oraz testy integracyjne
sprawdzające współpracę między kontenerami.
```
**Pytania weryfikacyjne:**
- Czy serwer testowy zawiera wszystkie rodzaje formularzy?
- Czy testy obejmują wszystkie kluczowe funkcjonalności?
- Czy mechanizm weryfikacji poprawnie ocenia wyniki?
- Czy generowane są raporty i zrzuty ekranu?
- Czy testy działają w warunkach problemów (opóźnienia, błędy)?
- Czy przeprowadzono testy jednostkowe i integracyjne?
- Czy możliwe jest automatyczne uruchomienie całej suity testowej?
### Prompt 7: Integracja z menedżerami haseł i bezpieczeństwo
```
Zaimplementuj integrację coBoarding z menedżerami haseł i zabezpieczenia.
System powinien:
1. Integrować się z Bitwarden i PassBolt przez ich API
2. Bezpiecznie przechowywać i używać dane logowania
3. Automatycznie logować się na portale pracy
4. Obsługiwać różne metody uwierzytelniania
5. Zapewniać bezpieczeństwo przechowywanych danych
6. Szyfrować komunikację między komponentami
Zaimplementuj również mechanizm czyszczenia wrażliwych danych po zakończeniu sesji.
```
**Pytania weryfikacyjne:**
- Czy integracja z Bitwarden działa poprawnie?
- Czy integracja z PassBolt działa poprawnie?
- Czy dane logowania są bezpiecznie przechowywane?
- Czy automatyczne logowanie działa na różnych portalach?
- Czy obsługiwane są różne metody uwierzytelniania?
- Czy dane są odpowiednio czyszczone po zakończeniu sesji?
- Czy przeprowadzono testy bezpieczeństwa?
### Prompt 8: Skrypty wdrożeniowe i dokumentacja
```
Przygotuj kompletny zestaw skryptów wdrożeniowych i dokumentację dla coBoarding.
Pakiet powinien zawierać:
1. Skrypt one-click setup automatyzujący cały proces instalacji
2. Skrypty diagnostyczne do weryfikacji środowiska
3. Dokumentację użytkownika z przykładami
4. Dokumentację techniczną z opisem architektury
5. FAQ i rozwiązywanie typowych problemów
6. Instrukcje aktualizacji i backupu
Dokumentacja powinna być czytelna dla użytkowników o różnym poziomie zaawansowania technicznego.
```
**Pytania weryfikacyjne:**
- Czy skrypt one-click setup działa poprawnie na różnych systemach?
- Czy skrypty diagnostyczne wykrywają wszystkie potencjalne problemy?
- Czy dokumentacja użytkownika jest kompletna i zrozumiała?
- Czy dokumentacja techniczna zawiera wszystkie szczegóły implementacji?
- Czy FAQ obejmuje wszystkie typowe problemy i pytania?
- Czy instrukcje aktualizacji i backupu są jasne i kompletne?
- Czy przetestowano wdrożenie z wykorzystaniem dokumentacji przez osobę zewnętrzną?
## Przykładowe scenariusze testowe
Aby zweryfikować poprawność implementacji, wykonaj następujące scenariusze testowe:
### Scenariusz 1: Wypełnianie prostego formularza
1. Uruchom system z domyślnymi ustawieniami
2. Wybierz przykładowe CV w formacie HTML
3. Wypełnij prosty formularz kontaktowy za pomocą interfejsu webowego
4. Zweryfikuj poprawność wypełnienia wszystkich pól
5. Wykonaj zrzut ekranu wypełnionego formularza
### Scenariusz 2: Sterowanie głosowe
1. Otwórz interfejs webowy przez HTTPS
2. Aktywuj sterowanie głosowe
3. Wypowiedz komendę "wypełnij formularz https://example.com/form"
4. Zweryfikuj czy komenda została poprawnie rozpoznana i wykonana
5. Wypowiedz komendę "pokaż status"
6. Zweryfikuj czy system poprawnie odpowiada głosowo
### Scenariusz 3: Wypełnianie formularza wielojęzycznego
1. Uruchom system z włączonym modelem wspierającym wielojęzyczność
2. Otwórz formularz w języku niemieckim
3. Upewnij się, że system automatycznie wykrył język
4. Zweryfikuj czy dane z CV zostały poprawnie przetłumaczone na niemiecki
5. Sprawdź poprawność wypełnienia wszystkich pól formularza
### Scenariusz 4: Generowanie pipeline'u dla nieznanego portalu
1. Wprowadź URL nieznanego portalu pracy
2. Uruchom generator pipeline'ów
3. Zweryfikuj czy LLM poprawnie analizuje strukturę strony
4. Sprawdź czy wygenerowany pipeline zawiera wszystkie potrzebne kroki
5. Uruchom wygenerowany pipeline i zweryfikuj jego działanie
Ta lista promptów i pytań weryfikacyjnych powinna zapewnić kompleksową implementację systemu coBoarding i jego walidację.
Każdy aspekt systemu jest pokryty odpowiednimi testami i mechanizmami weryfikacji, co gwarantuje wysoką jakość końcowego rozwiązania.