Как да обучите AI Chatbot с персонализирана база знания с помощта на ChatGPT API

В по-ранната ни статия демонстрирахме как да изградим AI chatbot с ChatGPT API и да присвоим роля за персонализирането му. Но какво ще стане, ако искате да обучите AI на вашите собствени данни? Например, може да имате книга, финансови данни или голям набор от бази данни и искате да търсите в тях с лекота. В тази статия ви предоставяме лесен за следване урок за това как да обучите AI chatbot с вашата персонализирана база знания с LangChain и ChatGPT API. Внедряваме LangChain, GPT Index и други мощни библиотеки, за да обучим AI chatbot с помощта на големия езиков модел (LLM) на OpenAI. В тази връзка, нека да проверим как да обучим и създадем AI Chatbot, като използваме собствен набор от данни.

Обучете AI Chatbot с персонализирана база знания с помощта на ChatGPT API, LangChain и GPT Index (2023)

В тази статия обяснихме по-подробно стъпките за обучение на AI chatbot с вашите собствени данни. От настройката на инструменти и софтуер до обучението на AI модела, ние сме включили всички инструкции на лесен за разбиране език. Силно препоръчително е да следвате инструкциите отгоре надолу, без да пропускате нито една част.

Забележителни точки, преди да обучите AI с вашите собствени данни

1. Можете да обучите AI chatbot на всяка платформа, независимо дали Windows, macOS, Linux или ChromeOS. В тази статия използвам Windows 11, но стъпките са почти идентични за други платформи.

2. Ръководството е предназначено за обикновени потребители и инструкциите са обяснени на прост език. Така че дори ако имате бегли познания за компютри и не знаете как да кодирате, можете лесно да обучите и създадете Q&A чатбот за няколко минути. Ако сте проследили предишната ни статия за бот за ChatGPT, ще бъде още по-лесно да разберете процеса.

3. Тъй като ще обучим AI Chatbot въз основа на нашите собствени данни, препоръчително е да използвате способен компютър с добър CPU и GPU. Можете обаче да използвате всеки компютър от нисък клас за тестови цели и той ще работи без никакви проблеми. Използвах Chromebook, за да обуча AI модела с помощта на книга със 100 страници (~100MB). Въпреки това, ако искате да обучите голям набор от данни, работещи в хиляди страници, силно се препоръчва да използвате мощен компютър.

4. И накрая, наборът от данни трябва да е на английски, за да получите най-добри резултати, но според OpenAI, той ще работи и с популярни международни езици като френски, испански, немски и т.н. Така че давайте напред и опитайте на вашия собствен език.

Настройте софтуерната среда за обучение на AI Chatbot

Подобно на предишната ни статия, трябва да знаете, че Python и Pip трябва да бъдат инсталирани заедно с няколко библиотеки. В тази статия ще настроим всичко от нулата, така че новите потребители също да могат да разберат процеса на настройка. За да ви дадем кратка представа, ще инсталираме Python и Pip. След това ще инсталираме библиотеки на Python, които включват OpenAI, GPT Index, Gradio и PyPDF2. По време на процеса ще научите какво прави всяка библиотека. Отново, не се притеснявайте за процеса на инсталиране, той е доста лесен. На тази бележка, нека веднага да влезем.

  Обяснение на ASTC 3.0: Телевизия за излъчване идва на вашия телефон

Инсталирайте Python

1. Първо, трябва да инсталирате Python (Pip) на вашия компютър. Отворете тази връзка и изтеглете инсталационния файл за вашата платформа.

2. След това стартирайте инсталационния файл и се уверете, че сте поставили отметка в квадратчето за „Добавяне на Python.exe към PATH“. Това е изключително важна стъпка. След това кликнете върху „Инсталиране сега“ и следвайте обичайните стъпки за инсталиране на Python.

3. За да проверите дали Python е правилно инсталиран, отворете терминала на вашия компютър. Използвам терминал на Windows в Windows, но можете също да използвате командния ред. След като сте тук, изпълнете командата по-долу и тя ще изведе версията на Python. В Linux и macOS може да се наложи да използвате python3 –version вместо python –version.

python --version

Надстройте Pip

Когато инсталирате Python, Pip се инсталира едновременно във вашата система. Така че нека го надстроим до най-новата версия. За тези, които не знаят, Pip е пакетният мениджър за Python. По принцип ви позволява да инсталирате хиляди библиотеки на Python от терминала. С Pip можем да инсталираме библиотеки OpenAI, gpt_index, gradio и PyPDF2. Ето стъпките, които трябва да следвате.

1. Отворете избрания от вас терминал на вашия компютър. Използвам терминала на Windows, но можете да използвате и командния ред. Сега изпълнете командата по-долу, за да актуализирате Pip. Отново може да се наложи да използвате python3 и pip3 на Linux и macOS.

python -m pip install -U pip

2. За да проверите дали Pip е правилно инсталиран, изпълнете командата по-долу. Той ще изведе номера на версията. Ако получите някакви грешки, следвайте нашето специално ръководство за това как да инсталирате Pip на Windows, за да коригирате проблеми, свързани с PATH.

pip --version

Инсталирайте библиотеки OpenAI, GPT Index, PyPDF2 и Gradio

След като сме настроили Python и Pip, е време да инсталираме основните библиотеки, които ще ни помогнат да обучим AI chatbot с персонализирана база от знания. Ето стъпките, които трябва да следвате.

1. Отворете терминала и изпълнете командата по-долу, за да инсталирате библиотеката OpenAI. Ще го използваме като LLM (Large language model) за обучение и създаване на AI чатбот. И също така ще импортираме рамката LangChain от OpenAI. Имайте предвид, че потребителите на Linux и macOS може да трябва да използват pip3 вместо pip.

pip install openai

2. След това нека инсталираме GPT Index, който също се нарича LlamaIndex. Това позволява на LLM да се свърже с външни данни, които са нашата база от знания.

pip install gpt_index

3. След това инсталирайте PyPDF2, за да анализирате PDF файлове. Ако искате да подадете данните си в PDF формат, тази библиотека ще помогне на програмата да прочете данните без усилие.

pip install PyPDF2

4. Накрая инсталирайте библиотеката Gradio. Това е предназначено за създаване на прост потребителски интерфейс за взаимодействие с обучения AI chatbot. Вече сме готови с инсталирането на всички необходими библиотеки за обучение на AI chatbot.

pip install gradio

Изтеглете редактор на кодове

И накрая, имаме нужда от редактор на код, за да редактираме част от кода. В Windows бих препоръчал Notepad++ (Изтегли). Просто изтеглете и инсталирайте програмата чрез прикачения линк. Можете също така да използвате VS Code на всяка платформа, ако се чувствате комфортно с мощни IDE. Освен VS Code, можете да инсталирате Sublime Text (Изтегли) на macOS и Linux.

За ChromeOS можете да използвате отличното приложение Caret (Изтегли), за да редактирате кода. Почти приключихме с настройването на софтуерната среда и е време да получим OpenAI API ключа.

Вземете OpenAI API ключа безплатно

Сега, за да обучим и създадем AI chatbot, базиран на персонализирана база знания, трябва да получим API ключ от OpenAI. API ключът ще ви позволи да използвате модела на OpenAI като LLM, за да изучавате персонализираните си данни и да правите изводи. В момента OpenAI предлага безплатни API ключове с безплатен кредит на стойност $5 за първите три месеца на нови потребители. Ако сте създали своя OpenAI акаунт по-рано, може да имате безплатен кредит от $18 в акаунта си. След като безплатният кредит е изчерпан, ще трябва да платите за достъп до API. Но засега той е достъпен за всички потребители безплатно.

  15 най-добри софтуера за 3D изобразяване за професионалисти

1. Насочете се към platform.openai.com/signup и създайте безплатен акаунт. Ако вече имате OpenAI акаунт, просто влезте.

2. След това щракнете върху вашия профил в горния десен ъгъл и изберете „Преглед на API ключове“ от падащото меню.

3. Тук кликнете върху „Създаване на нов таен ключ“ и копирайте API ключа. Имайте предвид, че не можете да копирате или прегледате целия API ключ по-късно. Така че е силно препоръчително незабавно да копирате и поставите API ключа във файл на Notepad.

4. Освен това не споделяйте и не показвайте публично API ключа. Това е частен ключ, предназначен само за достъп до вашия акаунт. Можете също да изтриете API ключове и да създадете множество частни ключове (до пет).

Обучете и създайте AI Chatbot с персонализирана база знания

Сега, след като настроихме софтуерната среда и получихме API ключа от OpenAI, нека обучим AI чатбота. Тук ще използваме модела „text-davinci-003“ вместо най-новия модел „gpt-3.5-turbo“, защото Davinci работи много по-добре за довършване на текст. Ако искате, можете много добре да смените модела на Turbo, за да намалите разходите. Като приключим с това, нека преминем към инструкциите.

Добавете вашите документи, за да обучите AI Chatbot

1. Първо създайте нова папка, наречена docs, на достъпно място като работния плот. Можете да изберете и друга локация според вашите предпочитания. Запазете обаче името на папката docs.

2. След това преместете документите, които искате да използвате за обучение на AI, в папката „docs“. Можете да добавите множество текстови или PDF файлове (дори сканирани). Ако имате голяма таблица в Excel, можете да я импортирате като CSV или PDF файл и след това да я добавите към папката „docs“. Можете дори да добавите SQL файлове с база данни, както е обяснено в това Туит на Langchain AI. Не съм пробвал много файлови формати освен споменатите, но можете да добавите и проверите сами. За тази статия добавям една от моите статии за NFT в PDF формат.

Забележка: Ако имате голям документ, обработката на данните ще отнеме повече време, в зависимост от вашия CPU и GPU. В допълнение, той бързо ще използва вашите безплатни токени OpenAI. Така че в началото започнете с малък документ (30-50 страници или < 100 MB файлове), за да разберете процеса.

Подгответе кода

1. Сега стартирайте Notepad++ (или редактор на код по ваш избор) и поставете кода по-долу в нов файл. За пореден път получих голяма помощ от armrrs в Google Colab и промени кода, за да го направи съвместим с PDF файлове и да създаде интерфейс Gradio отгоре.

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. Ето как изглежда кодът в редактора на кодове.

3. След това щракнете върху „Файл“ в горното меню и изберете „Запазване като…“ от падащото меню.

4. След това задайте името на файла app.py и променете „Запазване като тип“ на „Всички типове“ от падащото меню. След това запазете файла на мястото, където сте създали папката „docs“ (в моя случай това е работният плот). Можете да промените името по ваш вкус, но се уверете, че .py е добавено.

  Виртуални стаи с данни: предимства, приложения и инструменти

5. Уверете се, че папката „docs“ и „app.py“ са на едно и също място, както е показано на екранната снимка по-долу. Файлът „app.py“ ще бъде извън папката „docs“, а не вътре.

6. Върнете се отново към кода в Notepad++. Тук заменете вашия API ключ с този, генериран на уебсайта на OpenAI по-горе.

7. Накрая натиснете “Ctrl + S”, за да запазите кода. Вече сте готови да стартирате кода.

Създайте ChatGPT AI Bot с персонализирана база знания

1. Първо отворете терминала и изпълнете командата по-долу, за да се преместите на работния плот. Това е мястото, където записах папката „docs“ и файла „app.py“. Ако сте запазили и двата елемента на друго място, преместете се на това място чрез терминала.

cd Desktop

2. Сега изпълнете командата по-долу. Потребителите на Linux и macOS може да се наложи да използват python3.

python app.py

3. Сега ще започне да анализира документа с помощта на модела OpenAI LLM и ще започне да индексира информацията. В зависимост от размера на файла и възможностите на вашия компютър обработката на документа ще отнеме известно време. След като приключи, на работния плот ще бъде създаден файл „index.json“. Ако терминалът не показва никакви резултати, не се притеснявайте, може все още да обработва данните. За ваша информация отнема около 10 секунди за обработка на 30MB документ.

4. След като LLM обработи данните, ще получите няколко предупреждения, които можете спокойно да игнорирате. Накрая в долната част ще намерите локален URL адрес. Копирайте го.

5. Сега поставете копирания URL в уеб браузъра и го имате. Вашият персонализиран чатбот с AI, задвижван от ChatGPT, е готов. За да започнете, можете да попитате AI chatbot за какво е документът.

6. Можете да зададете допълнителни въпроси и ботът ChatGPT ще отговори от данните, които сте предоставили на AI. Ето как можете да изградите персонализиран AI чатбот със собствен набор от данни. Вече можете да обучавате и създавате AI чатбот въз основа на всякакъв вид информация, която искате. Възможностите са безкрайни.

7. Можете също да копирате публичния URL адрес и да го споделите с вашите приятели и семейство. Връзката ще бъде активна в продължение на 72 часа, но вие също трябва да държите компютъра си включен, тъй като екземплярът на сървъра работи на вашия компютър.

8. За да спрете специално обучения AI chatbot, натиснете “Ctrl + C” в прозореца на терминала. Ако не работи, натиснете отново „Ctrl + C“.

9. За да рестартирате AI chatbot сървъра, просто се преместете отново на местоположението на работния плот и изпълнете командата по-долу. Имайте предвид, че локалният URL ще бъде същият, но публичният URL ще се променя след всяко рестартиране на сървъра.

python app.py

10. Ако искате да обучите AI chatbot с нови данни, изтрийте файловете в папката „docs“ и добавете нови. Можете също така да добавите няколко файла, но да подадете информация по една и съща тема, в противен случай може да получите несвързан отговор.

11. Сега стартирайте кода отново в терминала и той ще създаде нов файл „index.json“. Тук старият файл „index.json“ ще бъде заменен автоматично.

python app.py

12. За да следите вашите жетони, отидете на OpenAI’s онлайн табло и проверете колко свободен кредит остава.

13. И накрая, не е нужно да докосвате кода, освен ако не искате да промените API ключа или модела OpenAI за по-нататъшно персонализиране.

Създайте персонализиран AI Chatbot, като използвате вашите собствени данни

Ето как можете да обучите AI чатбот с персонализирана база от знания. Използвах този код, за да обуча AI върху медицински книги, статии, таблици с данни и доклади от стари архиви и той работи безупречно. Така че давайте напред и създайте свой собствен AI чатбот, като използвате големия езиков модел на OpenAI и ChatGPY. Както и да е, това е всичко от нас. Ако търсите най-добрите алтернативи на ChatGPT, отидете до нашата свързана статия. А за да използвате ChatGPT на вашия Apple Watch, следвайте нашия задълбочен урок. И накрая, ако се сблъскате с някакви проблеми, уведомете ни в секцията за коментари по-долу. Определено ще се опитаме да ви помогнем.