Fabrice AI to cyfrowa reprezentacja moich myśli oparta na całej zawartości mojego bloga. Ma być interaktywnym, inteligentnym asystentem zdolnym do rozumienia i odpowiadania na złożone zapytania z niuansami i dokładnością.
Fabrice AI rozpoczął się jako eksperyment, osobiste dążenie do zbadania potencjału sztucznej inteligencji poprzez stworzenie cyfrowej wersji obszernej wiedzy, którą dzieliłem się przez lata. Początkowo wyobrażałem sobie to jako prosty projekt, coś, co można ukończyć w ciągu kilku godzin. Plan był prosty: przesłać moje treści do API OpenAI i pozwolić sztucznej inteligencji na interakcję z nimi, tworząc w ten sposób dostępnego, inteligentnego asystenta, który mógłby udzielać szczegółowych odpowiedzi w oparciu o bogactwo udostępnionych przeze mnie informacji.
Gdy jednak wyruszyłem w tę podróż, szybko okazało się, że zadanie jest znacznie bardziej złożone, niż się spodziewałem. Projekt, o którym myślałem, że będzie krótką wycieczką w sztuczną inteligencję, szybko przekształcił się w kompleksowe i skomplikowane przedsięwzięcie, wymagające znacznie więcej niż tylko powierzchownego przesyłania danych. Przekształciło się to w głębokie zanurzenie się w zawiłości sztucznej inteligencji, przetwarzania języka naturalnego i zarządzania wiedzą.
Głównym wyzwaniem, przed którym stanąłem, było nie tylko przechowywanie informacji, ale także nauczenie sztucznej inteligencji rozumienia, kontekstualizowania i dokładnego wyszukiwania tych informacji w sposób odzwierciedlający głębię i niuanse mojej oryginalnej treści. Wymagało to wieloaspektowego podejścia, ponieważ odkryłem, że proste metody przechowywania i wyszukiwania danych były niewystarczające dla złożoności pytań, które chciałem, aby Fabrice AI obsługiwał.
Podróż ta zabrała mnie przez szeroki zakres podejść, od początkowych prób wykorzystania indeksów wyszukiwania wektorowego po bardziej zaawansowane metody obejmujące grafy wiedzy, wyszukiwanie metadanych i niestandardowe modele sztucznej inteligencji. Każde podejście miało swój własny zestaw mocnych i słabych stron i każde nauczyło mnie czegoś nowego o złożoności sztucznej inteligencji i niuansach cyfrowego zarządzania wiedzą. Szczegółowo opiszę obraną ścieżkę techniczną w następnym wpisie na blogu.
Poza kwestiami technicznymi, wygenerowanie wyczerpującej bazy wiedzy również okazało się wyzwaniem. We wczesnych fazach testowania dokładności sztucznej inteligencji dotarło do mnie, że najbardziej szczegółowe i dokładne odpowiedzi na niektóre pytania udzielałem w wywiadach wideo lub podcastach. Aby być dokładnym, potrzebowałem bazy wiedzy zawierającej wszystkie moje posty, wywiady wideo, podcasty, prezentacje PowerPoint, obrazy i dokumenty PDF.
Zacząłem od transkrypcji całej zawartości. Biorąc pod uwagę, że automatyczne transkrypcje są na początku przybliżone, musiałem upewnić się, że sztuczna inteligencja rozumie treść. Zajęło to dużo czasu, ponieważ musiałem przetestować odpowiedzi dla każdego fragmentu transkrybowanej treści.
Mimo że transkrypcje oddzielały mnie od drugiego mówcy, sztuczna inteligencja początkowo myślała, że 100% mówionej treści było moje, co wymagało wielu dalszych szkoleń, aby upewnić się, że potrafi poprawnie rozróżnić obu mówców na podstawie całej treści. Chciałem również, aby Fabrice AI przywiązywał większą wagę do najnowszych treści. Oczywiście przy pierwszej próbie użyłem daty przesłania treści do LLM, a nie daty pierwotnego opublikowania artykułu, co wymagało dalszych dostosowań.
Dla wyczerpania tematu, transkrybowałem również wiedzę zawartą w slajdach, które udostępniłem na blogu, używając modelu OCR w Azure do konwersji obrazu na tekst, a następnie przesłałem pliki do bazy wiedzy asystenta GPT. Podobnie, pobrałem pliki PDF z biblioteki multimediów WordPress i przesłałem je do bazy wiedzy.
Podczas testów beta zauważyłem, że wielu moich znajomych zadawało osobiste pytania, które nie zostały uwzględnione na blogu. Czekam, aby zobaczyć rodzaje pytań, które ludzie zadają w ciągu najbliższych kilku tygodni. Uzupełnię odpowiedzi na wypadek, gdyby nie można ich było znaleźć w istniejących treściach na moim blogu. Zauważ, że celowo ograniczam odpowiedzi Fabrice AI do treści na blogu, więc naprawdę otrzymujesz Fabrice AI, a nie mieszankę Fabrice AI i Chat GPT.
Warto wspomnieć, że przeszedłem długą drogę, aby tu dotrzeć. Zacząłem od korzystania z GPT3, ale byłem rozczarowany wynikami. Używał on niewłaściwych źródeł do odpowiedzi na pytania, mimo że niektóre posty na blogach zawierały dokładnie taką odpowiedź, jaką zadano w pytaniu. Pomimo dziesiątek godzin pracy nad tym zagadnieniem, próbując zmusić go do korzystania z właściwej treści (co omówię w następnym wpisie na blogu), nigdy nie uzyskałem satysfakcjonujących mnie wyników.
Sytuacja poprawiła się w GPT3.5, ale nadal była rozczarowująca. Następnie zbudowałem aplikację GPT w GPT Store przy użyciu GPT Builder. Działała nieco lepiej i była tańsza w obsłudze. Nie mogłem jednak uruchomić jej na mojej stronie internetowej i była dostępna tylko dla płatnych subskrybentów Chat GPT, co moim zdaniem było zbyt ograniczające. Niezależnie od tego, nie podobała mi się jakość odpowiedzi i nie czułem się komfortowo udostępniając go publicznie.
Przełom nastąpił wraz z wydaniem GPT Assistants przy użyciu modelu 4o. Nie musiałem mówić mu, z jakich treści ma korzystać, po prostu sam zaczął sobie z tym radzić i wszystko działało lepiej. Porzuciłem podejście aplikacji GPT i wróciłem do korzystania z API, dzięki czemu mogłem osadzić je na blogu. W celu wyczerpania tematu przetestowałem również Gemini, ale wolałem odpowiedzi udzielone przez GPT4o.
Na razie udostępniam wersję tylko tekstową. Zawiera ona funkcję zamiany głosu na tekst, dzięki czemu można zadawać pytania głosowo. Zastanawiam się nad kilkoma sposobami zakodowania interaktywnej wersji, która wygląda i brzmi jak ja, z którą można prowadzić rozmowę. Mam działający prototyp, ale jestem daleki od zadowolenia z wyników i potencjalnych kosztów. Chcę mieć pewność, że będzie mówił w pierwszej osobie, naprawdę wyglądał i brzmiał jak ja, a jego obsługa nie będzie mnie kosztować majątku.
Zobaczymy, jakie postępy poczynię w nadchodzących miesiącach, ale być może warto poczekać na GPT5. Z perspektywy czasu zaoszczędziłbym setki godzin pracy, gdybym po prostu poczekał na GPT4o, aby rozwinąć Fabrice AI. Z drugiej strony, śledztwo było częścią sprawy i było bardzo interesujące.
W międzyczasie zagraj z Fabrice AI i daj mi znać, co myślisz!