Claude 3.7 Sonnet ma okno kontekstowe o rozmiarze 200k tokenów i więcej danych do kontekstu w projekcie nie wrzucisz 🤷♂️
W praktyce jednak... wrzucisz tam tyle wiedzy, ile potrzebujesz.
Trzeba tylko posłużyć się pewną sztuczką 🧵 ↓
Prowadzę newsletter o nazwie unknowNews. Co jakiś czas dostaję od czytelników pytania o jakieś linki, które udostępniłem 2-3 lata temu.
Nie ma szans, abym to pamiętał. Wyszukiwarka fulltextowa oraz proste CTRL+F też nie zawsze dają dobre wyniki, ale od czego mamy LLM-y! 😏
Problem polega na tym, że Claude, z którego korzystam, potrafi objąć swoim oknem kontekstowym maksymalnie 200000 tokenów. To przy założeniu jakichś 4 znaków per token daje max. 800kb danych w projekcie.
No nie przeskoczysz tego — przynajmniej w teorii.
Archiwum newslettera (same linki z tytułami i opisami), to w zależności od wybranego formatu od 3MB do 7MB danych. Claude AI odmawia przyjmowania takich plików, bo są za duże.
Próbowałem je wrzucać po kawałku. Pasek wykorzystania pamięci dochodził do 99,9%, a działało to słabo.
Zauważyłem jednak dziwną rzecz. Wszystkie pliki są DUŻE (wiele MB), a interfejs ich nie przyjmuje. Jeśli jednak wrzucę plik CSV, to zostanie on przyjęty, a poziom zapełnienia pamięci, niezależnie od wielkości pliku jest zawsze taki sam, czyli... 0% 😮
But whyyy?!
Okazuje się, że Claude w wersji webowej nigdy nie czyta plików CSV wprost. Zawsze po zadaniu pytania o nie, pisze prosty skrypt w Pythonie, wydobywa potrzebny skrawek informacji i na nim pracuje.
W ten sposób zawsze mieści się w limicie 200k tokenów.
Sprytne!
No OK. Jak i do czego to wykorzystać?
Masz DUŻO danych, na których musisz pracować i są to np. notatki ze spotkań, raporty finansowe, statystyki itp.?
Wrzuć je do arkusza kalkulacyjnego i eksportuj dane jako CSV, a następnie zaimportuj do Claude.
Tylko dane muszą być dobrze zaprojektowane. Nie wystarczy zrobić copy/paste dużych danych do Excela. Struktura (kolumny) muszą być tak przygotowane, aby automat był w stanie odnaleźć to, czego potrzebuje.
Przykładowo: uprawiasz journaling i codziennie rano piszesz notatkę o tym, jak się czujesz, o czym myślisz itp.
Strukturę danych projektuje się pod przewidywane ich wykorzystanie. Chciałbym np. aby LLM odpowiedział mi na pytanie:
"co sprawiło mi radość w ostatnim miesiącu?"
Dość naturalnym krokiem będzie więc dodanie w pliku CSV kolumny "data wpisu", aby LLM mógł wybrać tylko 30 ostatnich wpisów i na nich pracować.
Masz pytania o sprawy finansowe? To może dodaj tagi do swoich notatek.
Prywatne wpisy oznaczaj tagiem "prywata", a biznesowe "biznes".
W ten sposób znów automat zawęzi kontekst i będzie mógł pracować na wielu megabajtach danych, wycinając z nich tylko interesujące go wpisy.
Ta metoda sprawia, że kontekst projektu w Claude jest niemal nieograniczony.
Wada? Wszystkie (nawet te najprostsze) zapytania są powolne.