Jak vycvičit chatbota AI s vlastní znalostní bází pomocí ChatGPT API

V našem dřívějším článku jsme si ukázali, jak vytvořit chatbota s umělou inteligencí pomocí ChatGPT API a přiřadit mu roli k přizpůsobení. Ale co když chcete trénovat AI na vlastních datech? Můžete mít například knihu, finanční údaje nebo velkou sadu databází a chcete v nich snadno vyhledávat. V tomto článku vám přinášíme snadno srozumitelný návod, jak trénovat chatbota AI s vaší vlastní znalostní bází pomocí LangChain a ChatGPT API. Nasazujeme LangChain, GPT Index a další výkonné knihovny k trénování chatbotů AI pomocí velkého jazykového modelu OpenAI (LLM). Takže v této souvislosti se pojďme podívat, jak trénovat a vytvářet AI Chatbota pomocí vaší vlastní datové sady.

Trénujte chatbota AI s vlastní znalostní bází pomocí ChatGPT API, LangChain a GPT Index (2023)

V tomto článku jsme podrobněji vysvětlili kroky, jak naučit chatbota AI s vašimi vlastními daty. Od nastavení nástrojů a softwaru až po trénování modelu AI jsme zahrnuli všechny pokyny ve snadno srozumitelném jazyce. Důrazně se doporučuje postupovat podle pokynů shora dolů bez přeskakování jakékoli části.

Důležité body, než začnete trénovat umělou inteligenci pomocí vlastních dat

1. AI chatbota můžete trénovat na jakékoli platformě, ať už jde o Windows, macOS, Linux nebo ChromeOS. V tomto článku používám Windows 11, ale kroky jsou téměř totožné pro ostatní platformy.

2. Příručka je určena pro běžné uživatele a pokyny jsou vysvětleny jednoduchým jazykem. Takže i když máte zběžné znalosti počítačů a nevíte, jak kódovat, můžete snadno trénovat a vytvořit chatbota Q&A AI během pár minut. Pokud jste postupovali podle našeho předchozího článku o botách ChatGPT, bylo by ještě snazší porozumět procesu.

3. Vzhledem k tomu, že budeme trénovat AI Chatbota na základě našich vlastních dat, doporučuje se použít schopný počítač s dobrým CPU a GPU. Pro účely testování však můžete použít jakýkoli počítač nižší třídy a bude fungovat bez problémů. Použil jsem Chromebook k trénování modelu umělé inteligence pomocí knihy se 100 stránkami (~100 MB). Pokud však chcete trénovat velkou sadu dat na tisíce stránek, důrazně se doporučuje použít výkonný počítač.

4. A konečně, soubor dat by měl být v angličtině, aby se dosáhlo nejlepších výsledků, ale podle OpenAI bude fungovat také s populárními mezinárodními jazyky, jako je francouzština, španělština, němčina atd. Takže do toho a vyzkoušejte to ve svém Jazyk.

Nastavte softwarové prostředí pro výcvik AI Chatbota

Stejně jako v našem předchozím článku byste měli vědět, že Python a Pip musí být nainstalovány spolu s několika knihovnami. V tomto článku nastavíme vše od začátku, aby procesu nastavení rozuměli i noví uživatelé. Pro stručnou představu nainstalujeme Python a Pip. Poté nainstalujeme knihovny Pythonu, které zahrnují OpenAI, GPT Index, Gradio a PyPDF2. Během procesu se dozvíte, co každá knihovna dělá. Znovu opakujte, nedělejte si starosti s procesem instalace, je to docela jednoduché. Na tuto poznámku, pojďme rovnou do toho.

  Bezplatné služby kontroly pozadí: Měli byste je používat?

Nainstalujte Python

1. Nejprve musíte nainstalovat Python (Pip) na váš počítač. OTEVŘENO tento odkaz a stáhněte si instalační soubor pro vaši platformu.

2. Dále spusťte instalační soubor a ujistěte se, že je zaškrtnuto políčko „Přidat Python.exe do PATH“. To je nesmírně důležitý krok. Poté klikněte na „Install Now“ a postupujte podle obvyklých kroků pro instalaci Pythonu.

3. Chcete-li zkontrolovat, zda je Python správně nainstalován, otevřete na svém počítači Terminál. V systému Windows používám Windows Terminal, ale můžete také použít příkazový řádek. Jakmile jste zde, spusťte níže uvedený příkaz a vypíše verzi Pythonu. V systémech Linux a macOS možná budete muset použít python3 –version místo python –version.

python --version

Upgrade Pip

Když nainstalujete Python, Pip se nainstaluje současně do vašeho systému. Pojďme jej tedy upgradovat na nejnovější verzi. Pro ty, kteří nevědí, Pip je správce balíčků pro Python. V podstatě vám umožňuje nainstalovat tisíce knihoven Pythonu z terminálu. S Pip můžeme nainstalovat knihovny OpenAI, gpt_index, gradio a PyPDF2. Zde jsou kroky, které je třeba dodržet.

1. Otevřete na svém počítači požadovaný terminál. Používám Windows Terminal, ale můžete také použít příkazový řádek. Nyní spusťte níže uvedený příkaz a aktualizujte Pip. Opět možná budete muset použít python3 a pip3 na Linuxu a macOS.

python -m pip install -U pip

2. Chcete-li zkontrolovat, zda byl Pip správně nainstalován, spusťte níže uvedený příkaz. Vypíše číslo verze. Pokud se objeví nějaké chyby, postupujte podle našeho vyhrazeného průvodce, jak nainstalovat Pip na Windows, abyste opravili problémy související s PATH.

pip --version

Nainstalujte OpenAI, GPT Index, PyPDF2 a Gradio knihovny

Jakmile nastavíme Python a Pip, je čas nainstalovat základní knihovny, které nám pomohou vycvičit chatbota AI s vlastní znalostní základnou. Zde jsou kroky, které je třeba dodržet.

1. Otevřete Terminál a spusťte níže uvedený příkaz pro instalaci knihovny OpenAI. Použijeme jej jako LLM (Large language model) k trénování a vytváření AI chatbota. A také budeme importovat framework LangChain z OpenAI. Upozorňujeme, že uživatelé Linuxu a macOS možná budou muset místo pip použít pip3.

pip install openai

2. Dále nainstalujme GPT Index, který se také nazývá LlamaIndex. Umožňuje LLM připojit se k externím datům, která jsou naší znalostní bází.

pip install gpt_index

3. Poté nainstalujte PyPDF2 pro analýzu souborů PDF. Pokud chcete svá data předávat ve formátu PDF, tato knihovna pomůže programu číst data bez námahy.

pip install PyPDF2

4. Nakonec nainstalujte knihovnu Gradio. To je určeno pro vytvoření jednoduchého uživatelského rozhraní pro interakci s vyškoleným chatbotem AI. Nyní jsme dokončili instalaci všech požadovaných knihoven pro výcvik AI chatbota.

pip install gradio

Stáhněte si editor kódu

Nakonec potřebujeme editor kódu, který upraví část kódu. Na Windows bych doporučil Notepad++ (Stažení). Jednoduše si stáhněte a nainstalujte program pomocí přiloženého odkazu. VS Code můžete také použít na jakékoli platformě, pokud vám vyhovuje výkonná IDE. Kromě kódu VS můžete nainstalovat Sublime Text (Stažení) v systémech macOS a Linux.

Pro ChromeOS můžete použít vynikající aplikaci Caret (Stažení) pro úpravu kódu. S nastavením softwarového prostředí jsme téměř hotovi a je čas získat klíč OpenAI API.

Získejte zdarma OpenAI API Key

Nyní, abychom mohli trénovat a vytvářet chatbota AI založeného na vlastní znalostní bázi, potřebujeme získat klíč API od OpenAI. Klíč API vám umožní používat model OpenAI jako LLM ke studiu vlastních dat a vyvozování závěrů. V současné době nabízí OpenAI novým uživatelům bezplatné klíče API s bezplatným kreditem v hodnotě 5 USD na první tři měsíce. Pokud jste si vytvořili účet OpenAI dříve, můžete mít na svém účtu bezplatný kredit 18 $. Po vyčerpání bezplatného kreditu budete muset za přístup k API zaplatit. Zatím je ale k dispozici všem uživatelům zdarma.

  Jak hrát Yooka-Laylee na Linuxu

1. Vydejte se platform.openai.com/signup a vytvořte si bezplatný účet. Pokud již máte účet OpenAI, jednoduše se přihlaste.

2. Dále klikněte na svůj profil v pravém horním rohu a z rozbalovací nabídky vyberte „Zobrazit klíče API“.

3. Zde klikněte na „Vytvořit nový tajný klíč“ a zkopírujte klíč API. Pamatujte, že později nemůžete zkopírovat nebo zobrazit celý klíč API. Proto se důrazně doporučuje zkopírovat a vložit klíč API do souboru poznámkového bloku okamžitě.

4. Klíč API také nesdílejte ani nezobrazujte veřejně. Je to soukromý klíč určený pouze pro přístup k vašemu účtu. Můžete také odstranit klíče API a vytvořit více soukromých klíčů (až pět).

Trénujte a vytvářejte chatbota s umělou inteligencí pomocí vlastní znalostní báze

Nyní, když jsme nastavili softwarové prostředí a získali API klíč od OpenAI, pojďme trénovat AI chatbota. Zde použijeme model „text-davinci-003“ namísto nejnovějšího modelu „gpt-3.5-turbo“, protože Davinci funguje mnohem lépe pro dokončování textu. Pokud chcete, můžete velmi dobře změnit model na Turbo, abyste snížili náklady. S tím z cesty, pojďme skočit k návodu.

Přidejte své dokumenty k výcviku AI Chatbota

1. Nejprve vytvořte novou složku s názvem docs na přístupném místě, jako je Plocha. Můžete si vybrat i jiné umístění podle svých preferencí. Ponechte však název složky docs.

2. Dále přesuňte dokumenty, které chcete použít pro trénování AI, do složky „docs“. Můžete přidat více textových nebo PDF souborů (dokonce i naskenovaných). Pokud máte v Excelu velkou tabulku, můžete ji importovat jako soubor CSV nebo PDF a poté ji přidat do složky „docs“. Můžete dokonce přidat soubory databáze SQL, jak je vysvětleno v tomto Tweet Langchain AI. Kromě zmíněných jsem mnoho formátů souborů nezkoušel, ale můžete si přidat a zkontrolovat sami. K tomuto článku přidávám jeden ze svých článků o NFT ve formátu PDF.

Poznámka: Pokud máte velký dokument, bude zpracování dat trvat déle, v závislosti na vašem CPU a GPU. Navíc rychle využije vaše bezplatné OpenAI tokeny. Takže na začátku začněte s malým dokumentem (30-50 stránek nebo < 100 MB souborů), abyste pochopili proces.

Připravte kód

1. Nyní spusťte Notepad++ (nebo editor kódu podle vašeho výběru) a vložte níže uvedený kód do nového souboru. Opět jsem získal velkou pomoc od armrrs ve službě Google Colab a vylepšili kód tak, aby byl kompatibilní se soubory PDF a vytvořil rozhraní Gradio navrchu.

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. Takto vypadá kód v editoru kódu.

3. Dále klikněte na „Soubor“ v horní nabídce a z rozbalovací nabídky vyberte „Uložit jako…“.

4. Poté nastavte název souboru app.py a změňte v rozevírací nabídce „Uložit jako typ“ na „Všechny typy“. Poté soubor uložte do umístění, kde jste vytvořili složku „docs“ (v mém případě je to Plocha). Název můžete změnit podle svých představ, ale ujistěte se, že je připojen .py.

  Jak napsat skript AutoHotkey

5. Ujistěte se, že složka „docs“ a „app.py“ jsou na stejném místě, jak je znázorněno na snímku obrazovky níže. Soubor „app.py“ bude mimo složku „docs“, nikoli uvnitř.

6. Vraťte se znovu ke kódu v programu Notepad++. Zde nahraďte svůj klíč API klíčem vygenerovaným na výše uvedené webové stránce OpenAI.

7. Nakonec stiskněte „Ctrl + S“ pro uložení kódu. Nyní jste připraveni spustit kód.

Vytvořte ChatGPT AI Bota pomocí vlastní znalostní báze

1. Nejprve otevřete Terminál a spusťte níže uvedený příkaz pro přesun na plochu. Je to místo, kam jsem uložil složku „docs“ a soubor „app.py“. Pokud jste obě položky uložili na jiné místo, přesuňte se na toto místo přes Terminál.

cd Desktop

2. Nyní spusťte níže uvedený příkaz. Uživatelé Linuxu a macOS možná budou muset používat python3.

python app.py

3. Nyní začne analyzovat dokument pomocí modelu OpenAI LLM a začne indexovat informace. V závislosti na velikosti souboru a možnostech vašeho počítače bude zpracování dokumentu nějakou dobu trvat. Po dokončení se na ploše vytvoří soubor „index.json“. Pokud terminál neukazuje žádný výstup, nemějte obavy, možná stále zpracovává data. Pro vaši informaci, zpracování 30 MB dokumentu trvá přibližně 10 sekund.

4. Jakmile LLM zpracuje data, dostanete několik varování, která lze bezpečně ignorovat. Nakonec ve spodní části najdete místní URL. Zkopírujte to.

5. Nyní vložte zkopírovanou adresu URL do webového prohlížeče a máte ji. Váš vlastní trénovaný chatbot s umělou inteligencí ChatGPT je připraven. Pro začátek se můžete zeptat AI chatbota, o čem dokument je.

6. Můžete klást další otázky a robot ChatGPT vám odpoví na základě údajů, které jste poskytli AI. Takto si tedy můžete vytvořit na míru trénovaného chatbota AI s vlastní datovou sadou. Nyní můžete trénovat a vytvářet AI chatbota na základě jakýchkoli informací, které chcete. Možnosti jsou nekonečné.

7. Můžete také zkopírovat veřejnou adresu URL a sdílet ji se svými přáteli a rodinou. Odkaz bude aktivní po dobu 72 hodin, ale musíte také nechat počítač zapnutý, protože na vašem počítači běží instance serveru.

8. Chcete-li zastavit uživatelsky trénovaného chatbota AI, stiskněte „Ctrl + C“ v okně Terminál. Pokud to nefunguje, stiskněte znovu „Ctrl + C“.

9. Chcete-li restartovat server chatbota AI, jednoduše se znovu přesuňte na plochu a spusťte níže uvedený příkaz. Mějte na paměti, že místní adresa URL bude stejná, ale veřejná adresa URL se změní po každém restartu serveru.

python app.py

10. Pokud chcete trénovat AI chatbota s novými daty, smažte soubory ve složce „docs“ a přidejte nové. Můžete také přidat více souborů, ale zadávejte informace o stejném tématu, jinak můžete dostat nesouvislou odpověď.

11. Nyní spusťte kód znovu v Terminálu a vytvoří se nový soubor „index.json“. Zde bude starý soubor „index.json“ automaticky nahrazen.

python app.py

12. Chcete-li mít přehled o svých tokenech, zamiřte na OpenAI online přístrojová deska a zkontrolujte, kolik volného kreditu zbývá.

13. A konečně, nemusíte se dotýkat kódu, pokud nechcete změnit klíč API nebo model OpenAI pro další přizpůsobení.

Sestavte si vlastního chatbota s umělou inteligencí pomocí svých vlastních dat

Takto můžete trénovat chatbota AI s vlastní znalostní základnou. Použil jsem tento kód k trénování AI na lékařských knihách, článcích, tabulkách dat a zprávách ze starých archivů a fungovalo to bezchybně. Takže pokračujte a vytvořte si vlastního chatbota AI pomocí velkého jazykového modelu OpenAI a ChatGPY. Každopádně to je od nás vše. Pokud hledáte nejlepší alternativy ChatGPT, přejděte na náš odkazovaný článek. A chcete-li používat ChatGPT na Apple Watch, postupujte podle našeho podrobného návodu. A konečně, pokud čelíte jakýmkoli problémům, dejte nám vědět v sekci komentářů níže. Určitě se vám pokusíme pomoci.