Jak wyszkolić chatbota AI z niestandardową bazą wiedzy przy użyciu API ChatGPT

W naszym wcześniejszym artykule pokazaliśmy, jak zbudować chatbota AI za pomocą API ChatGPT i przypisać rolę, aby go spersonalizować. Ale co, jeśli chcesz trenować sztuczną inteligencję na własnych danych? Na przykład możesz mieć książkę, dane finansowe lub duży zestaw baz danych i chcesz je łatwo przeszukiwać. W tym artykule przedstawiamy łatwy do wykonania samouczek dotyczący szkolenia chatbota AI z niestandardową bazą wiedzy z LangChain i ChatGPT API. Wdrażamy LangChain, GPT Index i inne potężne biblioteki, aby szkolić chatbota AI przy użyciu Large Language Model (LLM) OpenAI. W tej notatce sprawdźmy, jak trenować i tworzyć AI Chatbot przy użyciu własnego zestawu danych.

Trenuj chatbota AI z niestandardową bazą wiedzy przy użyciu API ChatGPT, LangChain i indeksu GPT (2023)

W tym artykule bardziej szczegółowo wyjaśniliśmy, jak nauczyć chatbota AI własnych danych. Od konfigurowania narzędzi i oprogramowania po szkolenie modelu AI — wszystkie instrukcje opisaliśmy w łatwym do zrozumienia języku. Zaleca się, aby postępować zgodnie z instrukcjami od góry do dołu bez pomijania jakiejkolwiek części.

Godne uwagi punkty, zanim zaczniesz trenować sztuczną inteligencję za pomocą własnych danych

1. Możesz trenować chatbota AI na dowolnej platformie, czy to Windows, macOS, Linux czy ChromeOS. W tym artykule używam systemu Windows 11, ale kroki są prawie identyczne dla innych platform.

2. Poradnik jest przeznaczony dla zwykłych użytkowników, a instrukcje są wyjaśnione prostym językiem. Więc nawet jeśli masz pobieżną wiedzę na temat komputerów i nie wiesz, jak kodować, możesz łatwo wyszkolić i stworzyć chatbota AI Q&A w ciągu kilku minut. Jeśli śledziłeś nasz poprzedni artykuł o bocie ChatGPT, zrozumienie tego procesu byłoby jeszcze łatwiejsze.

3. Ponieważ będziemy szkolić AI Chatbota na podstawie własnych danych, zalecamy użycie sprawnego komputera z dobrym procesorem i kartą graficzną. Możesz jednak użyć dowolnego komputera z niższej półki do celów testowych i będzie on działał bez żadnych problemów. Użyłem Chromebooka do trenowania modelu AI za pomocą książki ze 100 stronami (~100 MB). Jeśli jednak chcesz trenować duży zestaw danych obejmujący tysiące stron, zdecydowanie zaleca się użycie komputera o dużej mocy.

4. Wreszcie, zestaw danych powinien być w języku angielskim, aby uzyskać najlepsze wyniki, ale według OpenAI będzie również działał z popularnymi językami międzynarodowymi, takimi jak francuski, hiszpański, niemiecki itp. Więc śmiało wypróbuj go na swoim własnym język.

Skonfiguruj środowisko oprogramowania do szkolenia chatbota AI

Podobnie jak w naszym poprzednim artykule, powinieneś wiedzieć, że Python i Pip muszą być zainstalowane wraz z kilkoma bibliotekami. W tym artykule skonfigurujemy wszystko od podstaw, aby nowi użytkownicy mogli również zrozumieć proces instalacji. Aby dać ci krótki pomysł, zainstalujemy Pythona i Pipa. Następnie zainstalujemy biblioteki Pythona, w tym OpenAI, GPT Index, Gradio i PyPDF2. W trakcie tego procesu dowiesz się, co robi każda biblioteka. Ponownie, nie martw się procesem instalacji, jest całkiem prosty. W tej notatce wskoczmy od razu.

Zainstaluj Pythona

1. Najpierw musisz zainstalować Pythona (Pip) na swoim komputerze. otwarty ten link i pobierz plik instalacyjny dla swojej platformy.

2. Następnie uruchom plik instalacyjny i zaznacz pole wyboru „Dodaj Python.exe do PATH”. To niezwykle ważny krok. Następnie kliknij „Zainstaluj teraz” i wykonaj zwykłe kroki, aby zainstalować Pythona.

3. Aby sprawdzić, czy Python jest poprawnie zainstalowany, otwórz Terminal na swoim komputerze. Używam terminala Windows w systemie Windows, ale możesz także użyć wiersza polecenia. Będąc tutaj, uruchom poniższe polecenie, a wyświetli się wersja Pythona. W systemach Linux i macOS może być konieczne użycie python3 –version zamiast python –version.

python --version

Uaktualnij Pipa

Kiedy instalujesz Pythona, Pip jest instalowany jednocześnie w twoim systemie. Zaktualizujmy go więc do najnowszej wersji. Dla nieświadomych, Pip jest menedżerem pakietów dla Pythona. Zasadniczo pozwala zainstalować tysiące bibliotek Pythona z terminala. Dzięki Pip możemy zainstalować biblioteki OpenAI, gpt_index, gradio i PyPDF2. Oto kroki, które należy wykonać.

1. Otwórz wybrany Terminal na swoim komputerze. Używam terminala Windows, ale możesz także użyć wiersza polecenia. Teraz uruchom poniższe polecenie, aby zaktualizować Pip. Ponownie może być konieczne użycie python3 i pip3 w systemach Linux i macOS.

python -m pip install -U pip

2. Aby sprawdzić, czy Pip został poprawnie zainstalowany, uruchom poniższe polecenie. Wyświetli numer wersji. Jeśli pojawią się jakieś błędy, postępuj zgodnie z naszym dedykowanym przewodnikiem, jak zainstalować Pip w systemie Windows, aby naprawić problemy związane ze PATH.

pip --version

Zainstaluj biblioteki OpenAI, GPT Index, PyPDF2 i Gradio

Po skonfigurowaniu Pythona i Pipa nadszedł czas, aby zainstalować niezbędne biblioteki, które pomogą nam wyszkolić chatbota AI z niestandardową bazą wiedzy. Oto kroki, które należy wykonać.

1. Otwórz terminal i uruchom poniższe polecenie, aby zainstalować bibliotekę OpenAI. Wykorzystamy go jako model LLM (Large Language Model) do trenowania i tworzenia chatbota AI. Zaimportujemy również framework LangChain z OpenAI. Pamiętaj, że użytkownicy Linuksa i macOS mogą być zmuszeni do używania pip3 zamiast pip.

pip install openai

2. Następnie zainstalujmy indeks GPT, który jest również nazywany LlamaIndex. Pozwala LLM łączyć się z zewnętrznymi danymi, które są naszą bazą wiedzy.

pip install gpt_index

3. Następnie zainstaluj PyPDF2, aby analizować pliki PDF. Jeśli chcesz załadować swoje dane w formacie PDF, ta biblioteka pomoże programowi bez wysiłku odczytać dane.

pip install PyPDF2

4. Na koniec zainstaluj bibliotekę Gradio. Ma to na celu stworzenie prostego interfejsu użytkownika do interakcji z wyszkolonym chatbotem AI. Zakończyliśmy instalowanie wszystkich wymaganych bibliotek do szkolenia chatbota AI.

pip install gradio

Pobierz edytor kodu

Na koniec potrzebujemy edytora kodu, aby edytować część kodu. W systemie Windows polecam Notepad++ (Pobierać). Wystarczy pobrać i zainstalować program za pomocą dołączonego linku. Możesz także używać VS Code na dowolnej platformie, jeśli czujesz się komfortowo z potężnymi IDE. Poza kodem VS możesz zainstalować Sublime Text (Pobierać) w systemach macOS i Linux.

W przypadku ChromeOS możesz użyć doskonałej aplikacji Caret (Pobierać), aby edytować kod. Prawie skończyliśmy konfigurować środowisko oprogramowania i nadszedł czas, aby uzyskać klucz OpenAI API.

Zdobądź klucz API OpenAI za darmo

Teraz, aby wyszkolić i stworzyć chatbota AI w oparciu o niestandardową bazę wiedzy, musimy uzyskać klucz API od OpenAI. Klucz API pozwoli ci używać modelu OpenAI jako LLM do badania niestandardowych danych i wyciągania wniosków. Obecnie OpenAI oferuje nowym użytkownikom bezpłatne klucze API z darmowym kredytem o wartości 5 USD przez pierwsze trzy miesiące. Jeśli wcześniej utworzyłeś konto OpenAI, możesz mieć na swoim koncie darmowy kredyt w wysokości 18 USD. Po wyczerpaniu darmowego kredytu będziesz musiał zapłacić za dostęp do API. Ale na razie jest dostępny dla wszystkich użytkowników za darmo.

1. Udaj się do platform.openai.com/signup i załóż bezpłatne konto. Jeśli masz już konto OpenAI, po prostu się zaloguj.

2. Następnie kliknij swój profil w prawym górnym rogu i wybierz „Wyświetl klucze API” z rozwijanego menu.

3. Tutaj kliknij „Utwórz nowy tajny klucz” i skopiuj klucz API. Pamiętaj, że później nie możesz skopiować ani wyświetlić całego klucza API. Dlatego zdecydowanie zaleca się natychmiastowe skopiowanie i wklejenie klucza API do pliku Notatnika.

4. Nie udostępniaj ani nie pokazuj publicznie klucza API. Jest to klucz prywatny przeznaczony wyłącznie do dostępu do Twojego konta. Możesz także usuwać klucze API i tworzyć wiele kluczy prywatnych (do pięciu).

Trenuj i twórz chatbota AI z niestandardową bazą wiedzy

Teraz, gdy mamy skonfigurowane środowisko oprogramowania i otrzymaliśmy klucz API od OpenAI, przeszkolmy chatbota AI. Tutaj użyjemy modelu „text-davinci-003” zamiast najnowszego modelu „gpt-3.5-turbo”, ponieważ Davinci działa znacznie lepiej w przypadku uzupełniania tekstu. Jeśli chcesz, możesz bardzo dobrze zmienić model na Turbo, aby obniżyć koszty. Mając to na uboczu, przejdźmy do instrukcji.

Dodaj swoje dokumenty, aby wyszkolić chatbota AI

1. Najpierw utwórz nowy folder o nazwie docs w dostępnej lokalizacji, takiej jak Pulpit. Możesz również wybrać inną lokalizację zgodnie z własnymi preferencjami. Zachowaj jednak nazwę folderu docs.

2. Następnie przenieś dokumenty, których chcesz użyć do szkolenia sztucznej inteligencji, do folderu „docs”. Możesz dodać wiele plików tekstowych lub PDF (nawet zeskanowanych). Jeśli masz dużą tabelę w Excelu, możesz ją zaimportować jako plik CSV lub PDF, a następnie dodać do folderu „docs”. Możesz nawet dodać pliki bazy danych SQL, jak wyjaśniono w this Tweet AI Langchaina. Nie próbowałem wielu formatów plików poza wymienionymi, ale możesz dodać i sprawdzić samodzielnie. Do tego artykułu dodaję jeden z moich artykułów na temat NFT w formacie PDF.

Uwaga: Jeśli masz duży dokument, przetwarzanie danych zajmie więcej czasu, w zależności od procesora i karty graficznej. Ponadto szybko wykorzysta Twoje darmowe tokeny OpenAI. Dlatego na początku zacznij od małego dokumentu (30-50 stron lub <100 MB plików), aby zrozumieć proces.

Przygotuj kod

1. Teraz uruchom Notepad ++ (lub wybrany edytor kodu) i wklej poniższy kod do nowego pliku. Po raz kolejny skorzystałem z ogromnej pomocy armrrs w Google Colab i poprawiłem kod, aby był kompatybilny z plikami PDF i stworzył interfejs Gradio na górze.

from gpt_index import SimpleDirectoryReader, GPTListIndex, GPTSimpleVectorIndex, LLMPredictor, PromptHelper
from langchain import OpenAI
import gradio as gr
import sys
import os

os.environ["OPENAI_API_KEY"] = 'Your API Key'

def construct_index(directory_path):
    max_input_size = 4096
    num_outputs = 512
    max_chunk_overlap = 20
    chunk_size_limit = 600

    prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)

    llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.7, model_name="text-davinci-003", max_tokens=num_outputs))

    documents = SimpleDirectoryReader(directory_path).load_data()

    index = GPTSimpleVectorIndex(documents, llm_predictor=llm_predictor, prompt_helper=prompt_helper)

    index.save_to_disk('index.json')

    return index

def chatbot(input_text):
    index = GPTSimpleVectorIndex.load_from_disk('index.json')
    response = index.query(input_text, response_mode="compact")
    return response.response

iface = gr.Interface(fn=chatbot,
                     inputs=gr.inputs.Textbox(lines=7, label="Enter your text"),
                     outputs="text",
                     title="Custom-trained AI Chatbot")

index = construct_index("docs")
iface.launch(share=True)

2. Tak wygląda kod w edytorze kodu.

3. Następnie kliknij „Plik” w górnym menu i wybierz „Zapisz jako…” z rozwijanego menu.

4. Następnie ustaw nazwę pliku app.py i zmień „Zapisz jako typ” na „Wszystkie typy” z menu rozwijanego. Następnie zapisz plik w lokalizacji, w której utworzyłeś folder „docs” (w moim przypadku jest to Pulpit). Możesz zmienić nazwę według własnych upodobań, ale upewnij się, że dodano rozszerzenie .py.

5. Upewnij się, że folder „docs” i „app.py” znajdują się w tej samej lokalizacji, jak pokazano na zrzucie ekranu poniżej. Plik „app.py” będzie znajdował się poza folderem „docs”, a nie w środku.

6. Wróć do kodu ponownie w Notepad++. Tutaj zastąp swój klucz API kluczem wygenerowanym na stronie OpenAI powyżej.

7. Na koniec naciśnij „Ctrl + S”, aby zapisać kod. Teraz jesteś gotowy do uruchomienia kodu.

Utwórz ChatGPT AI Bot z niestandardową bazą wiedzy

1. Najpierw otwórz terminal i uruchom poniższe polecenie, aby przejść do pulpitu. To tam zapisałem folder „docs” i plik „app.py”. Jeśli zapisałeś oba elementy w innej lokalizacji, przejdź do tej lokalizacji za pomocą terminala.

cd Desktop

2. Teraz uruchom poniższe polecenie. Użytkownicy systemów Linux i macOS mogą być zmuszeni do korzystania z python3.

python app.py

3. Teraz rozpocznie analizę dokumentu przy użyciu modelu OpenAI LLM i rozpocznie indeksowanie informacji. W zależności od rozmiaru pliku i możliwości komputera przetworzenie dokumentu zajmie trochę czasu. Po zakończeniu na pulpicie zostanie utworzony plik „index.json”. Jeśli terminal nie wyświetla żadnych danych wyjściowych, nie martw się, może nadal przetwarzać dane. Dla Twojej informacji przetworzenie dokumentu o wielkości 30 MB zajmuje około 10 sekund.

4. Gdy LLM przetworzy dane, otrzymasz kilka ostrzeżeń, które można bezpiecznie zignorować. Wreszcie na dole znajdziesz lokalny adres URL. Skopiuj to.

5. Teraz wklej skopiowany adres URL do przeglądarki internetowej i gotowe. Twój niestandardowo wyszkolony chatbot AI oparty na ChatGPT jest gotowy. Na początek możesz zapytać chatbota AI, o czym jest dokument.

6. Możesz zadawać dalsze pytania, a bot ChatGPT odpowie na podstawie danych, które podałeś AI. W ten sposób możesz zbudować niestandardowego wyszkolonego chatbota AI z własnym zestawem danych. Możesz teraz trenować i tworzyć chatbota AI w oparciu o dowolne informacje. Możliwości są nieskończone.

7. Możesz także skopiować publiczny adres URL i udostępnić go znajomym i rodzinie. Łącze będzie aktywne przez 72 godziny, ale musisz także mieć włączony komputer, ponieważ instancja serwera jest uruchomiona na twoim komputerze.

8. Aby zatrzymać specjalnie wyszkolonego chatbota AI, naciśnij „Ctrl + C” w oknie Terminala. Jeśli to nie zadziała, naciśnij ponownie „Ctrl + C”.

9. Aby zrestartować serwer chatbota AI, po prostu ponownie przenieś się do lokalizacji Pulpit i uruchom poniższe polecenie. Pamiętaj, że lokalny adres URL będzie taki sam, ale publiczny adres URL będzie się zmieniał po każdym restarcie serwera.

python app.py

10. Jeśli chcesz nauczyć chatbota AI nowych danych, usuń pliki z folderu „docs” i dodaj nowe. Możesz także dodać wiele plików, ale podawać informacje na ten sam temat, w przeciwnym razie możesz otrzymać niespójną odpowiedź.

11. Teraz ponownie uruchom kod w terminalu, a utworzy nowy plik „index.json”. Tutaj stary plik „index.json” zostanie automatycznie zastąpiony.

python app.py

12. Aby śledzić swoje tokeny, przejdź do OpenAI online panel i sprawdź, ile zostało wolnych środków.

13. Wreszcie, nie musisz dotykać kodu, chyba że chcesz zmienić klucz API lub model OpenAI w celu dalszego dostosowania.

Zbuduj niestandardowego chatbota AI, używając własnych danych

W ten sposób możesz wyszkolić chatbota AI z niestandardową bazą wiedzy. Użyłem tego kodu do trenowania sztucznej inteligencji na książkach medycznych, artykułach, tabelach danych i raportach ze starych archiwów i działało to bez zarzutu. Śmiało stwórz własnego chatbota AI, korzystając z modelu dużego języka OpenAI i ChatGPY. W każdym razie to wszystko od nas. Jeśli szukasz najlepszych alternatyw ChatGPT, przejdź do naszego powiązanego artykułu. Aby korzystać z ChatGPT na zegarku Apple Watch, postępuj zgodnie z naszym szczegółowym samouczkiem. Wreszcie, jeśli napotkasz jakiekolwiek problemy, daj nam znać w sekcji komentarzy poniżej. Na pewno postaramy się Ci pomóc.