Cześć,
Mam około 20 tys stron dokumentacji w PDF, to wszystko waży około 800 MB. Chat GPT nie chce przyjąć takich dużych PDF'ów. Cel jest taki aby AI przeanalizowało mi tą dokumentację i odpowiedziało na kilkanaście konkretnych pytań do tej dokumentacji.
Jak to można rozwiązać?
- Rejestracja:7 miesięcy
- Ostatnio:8 dni
- Postów:33

- Rejestracja:około 8 lat
- Ostatnio:2 minuty
- Postów:4888
Odpowiedzią jest RAG
:
https://en.wikipedia.org/wiki/Retrieval-augmented_generation
- Rejestracja:ponad rok
- Ostatnio:około 2 godziny
- Postów:321
- Rejestracja:około 5 lat
- Ostatnio:około 10 godzin
- Lokalizacja:warszawa
- Postów:302
Chat gdp nie jest zaprojektowany do taki rzeczy. Dotego wersję modelu na więcej tokenów mają wykładniczo droższa cenę per token. Więc jest potecjal na to bezby było turbo drogo.
Musisz znaleźć inny model/ai może open ai ma. Lub jechać rozdziałami stronami czy akapitami

- Rejestracja:około 6 lat
- Ostatnio:około 10 godzin
https://github.com/zylon-ai/private-gpt
prosta instrukcja https://dev.to/codepo8/privategpt-running-chatgpt-offline-on-local-documents-5b17

- Rejestracja:około 8 lat
- Ostatnio:2 minuty
- Postów:4888
Tak, to samo co podlinkowałem, i @Adin.






- Rejestracja:ponad 2 lata
- Ostatnio:około 16 godzin
- Postów:1604
Patrict12 napisał(a):
Jak to można rozwiązać?
- Rejestracja:prawie 11 lat
- Ostatnio:około godziny
- Postów:973
lion137 napisał(a):
LLM nie jest tu kluczowy, trzeba efektywnie zbudować semantic vector search - podzielić dokumenty na kawałki i umieścić w jakiejś vector storage.
A takie coś służy tylko do wyszukiwania? Bo co jeśli chcę zadać pytanie i dostać odpowiedź niczym z chata?

- Rejestracja:około 8 lat
- Ostatnio:3 minuty
- Postów:4888
anonimowy napisał(a):
lion137 napisał(a):
LLM nie jest tu kluczowy, trzeba efektywnie zbudować semantic vector search - podzielić dokumenty na kawałki i umieścić w jakiejś vector storage.
A takie coś służy tylko do wyszukiwania? Bo co jeśli chcę zadać pytanie i dostać odpowiedź niczym z chata?
Wyszukiwanie jest częścią systemu, (powiedziałbym, że kluczową) a odpowiedź skompresowaną z wyciagniętych z bazy, teoretycznie najbliższych znaczeniowo do odpowiedzi na pytanie, dokumentów "ładnie" podaje LLM, o co go prosimy w jakimś meta promptcie.

- Rejestracja:ponad 2 lata
- Ostatnio:około 16 godzin
- Postów:1604
lion137 napisał(a):
Wyszukiwanie jest częścią systemu, (powiedziałbym, że kluczową) a odpowiedź skompresowaną z wyciagniętych z bazy, teoretycznie najbliższych znaczeniowo do odpowiedzi na pytanie, dokumentów "ładnie" podaje LLM, o co go prosimy w jakimś meta promptcie.
To chyba Deepseeka lepiej użyć bo on składa słowa a reszta literki. Po co mi wyszukiwanie oparte o literki?

- Rejestracja:ponad 2 lata
- Ostatnio:około 16 godzin
- Postów:1604
lion137 napisał(a):
Nie musi być DeepSeek, jakikolwiek model, żeby z dokumentów poskładał sensowną odpowiedź, a wyszukiwanie jest wektorowe.
Ale to słowa mają znaczenie więc wektory powinny się opierać na nich a nie na literkach.

- Rejestracja:około 8 lat
- Ostatnio:3 minuty
- Postów:4888
Dobre pytanie, ale to jest do tego jak są tworzone embeddings i ładowane do bazy, a to chyba pytającego jakoś bardzo nie obchodzi - byle by to był skuteczne (retrieval). Chyba że chodzi ci o byte pair encoding
, ale to też odbiegasz od tematu.

- Rejestracja:ponad 2 lata
- Ostatnio:około 16 godzin
- Postów:1604
lion137 napisał(a):
byle by to był skuteczne (retrieval).
Patrict12 napisał(a):
Cel jest taki aby AI przeanalizowało mi tą dokumentację i odpowiedziało na kilkanaście konkretnych pytań do tej dokumentacji.
Modele których tokenizacja oparta jest o znaki swoją koherentność zawdzięczają głównie bazowemu treningowi. I teraz jeśli podany kontekst (dokumentacja) wpisuje się w przeciętną dokumentację (dataset z bazowego treningu) to skuteczność prawdopodobnie będzie wysoka.
Ale jest też niezerowa szansa że kontekst będzie dot. jakiejś hermetycznej dziedziny z hermetyczną terminologią - w tym wypadku skuteczność ucierpi bo model swoje odpowiedzi będzie budował głównie w oparciu o trening bazowy. Innymi słowy dostaniesz przekonywujący bełkot.
Tutaj LLM z tokenizacją opartą o słowa powinien sobie poradzić lepiej - albo inaczej, będzie większa szansa na wyłapanie bełkotu co jest już wartością samą w sobie.

- Rejestracja:ponad 15 lat
- Ostatnio:około 16 godzin
Jak to można rozwiązać?
Najszybciej i najłatwiej to chyba z uzyciem AzureAI (czy jak oni tam nazywają), które ma gotowca do tego co opisujesz. Wrzucasz dokumentację, azure automatycznie to indeksuje, dodajesz mu krótkie zadanie w stylu You're smart chat bot who answers questions based on documentation
. Potem eksperymentujesz z kilkoma parametrami i patrzysz co najlepiej działa. Generalnie nie trzeba wiedzieć prawie nic o AI żeby tego używać.
Łatwość użycia ma swoją cenę w dolarach.
Jest jeszcze coś takiego jak https://studentai.app/ai-pdf/, podobno dobre (nie używałem) ale ma swoje limity, nie wiem jak poradzi sobie z 800MB.
No i finalnie możesz spróbować za darmo z ChatGPT, wyżej wspomniany AzureAI go używa pod spodem. Tylko musiałbyś zrobić sam to, co azure robi za Ciebie, czyli pociąć i poindeksować dokuentację na mniejsze fragmenty, żeby zmieścić sie w ograniczonej liczbie tokenów jakie chatgpt akceptuje przez swoje API.

