Како да обучите АИ цхатбот са прилагођеном базом знања користећи ЦхатГПТ АПИ

У нашем ранијем чланку смо показали како да направимо АИ цхатбот са ЦхатГПТ АПИ-јем и доделимо улогу да га персонализујемо. Али шта ако желите да тренирате АИ на сопственим подацима? На пример, можда имате књигу, финансијске податке или велики скуп база података и желите да их претражите са лакоћом. У овом чланку доносимо вам водич који је једноставан за праћење о томе како да обучите АИ цхатбот са својом прилагођеном базом знања помоћу ЛангЦхаин и ЦхатГПТ АПИ-ја. Ми примењујемо ЛангЦхаин, ГПТ индекс и друге моћне библиотеке да бисмо обучили АИ цхатбот користећи ОпенАИ-јев модел великог језика (ЛЛМ). Дакле, у вези с тим, хајде да проверимо како да обучите и креирате АИ Цхатбот користећи сопствени скуп података.

Обучите АИ цхатбот са прилагођеном базом знања користећи ЦхатГПТ АПИ, ЛангЦхаин и ГПТ индекс (2023)

У овом чланку смо детаљније објаснили кораке за подучавање АИ цхатбот-а са сопственим подацима. Од подешавања алата и софтвера до обуке АИ модела, укључили смо сва упутства на језику који је лако разумљив. Веома је препоручљиво да пратите упутства одозго према доле без прескакања било којег дела.

Значајне тачке пре него што обучите АИ са сопственим подацима

1. Можете да обучите АИ цхатбот на било којој платформи, било да је то Виндовс, мацОС, Линук или ЦхромеОС. У овом чланку користим Виндовс 11, али кораци су скоро идентични за друге платформе.

2. Водич је намењен општим корисницима, а упутства су објашњена једноставним језиком. Дакле, чак и ако имате површно знање о рачунарима и не знате како да кодирате, можете лако да обучите и креирате К&А АИ цхатбот за неколико минута. Ако сте пратили наш претходни чланак о ЦхатГПТ боту, било би још лакше разумети процес.

3. Пошто ћемо тренирати АИ Цхатбот-а на основу сопствених података, препоручује се коришћење способног рачунара са добрим ЦПУ-ом и ГПУ-ом. Међутим, можете користити било који рачунар ниске класе за потребе тестирања и он ће радити без икаквих проблема. Користио сам Цхромебоок да обучим АИ модел користећи књигу са 100 страница (~100 МБ). Међутим, ако желите да обучите велики скуп података који се крећу на хиљаде страница, топло се препоручује да користите моћан рачунар.

4. Коначно, скуп података треба да буде на енглеском да би се постигли најбољи резултати, али према ОпенАИ, он ће такође радити са популарним међународним језицима као што су француски, шпански, немачки итд. Зато само напред и покушајте на свом Језик.

Подесите софтверско окружење да бисте обучили АИ четбот

Као и наш претходни чланак, требало би да знате да Питхон и Пип морају бити инсталирани заједно са неколико библиотека. У овом чланку ћемо све поставити од нуле како би нови корисници такође могли да разумеју процес подешавања. Да бисмо вам дали кратку идеју, инсталираћемо Питхон и Пип. Након тога, инсталираћемо Питхон библиотеке, које укључују ОпенАИ, ГПТ Индек, Градио и ПиПДФ2. Током процеса, научићете шта свака библиотека ради. Опет, не брините око процеса инсталације, прилично је једноставан. С тим у вези, хајде да ускочимо одмах.

  30 сјајних слика за ваш десктоп

Инсталирајте Питхон

1. Прво морате да инсталирате Питхон (Пип) на свој рачунар. Отвори овај линк и преузмите датотеку за подешавање за своју платформу.

2. Затим покрените датотеку за подешавање и уверите се да сте омогућили поље за потврду „Додај Питхон.еке у ПАТХ“. Ово је изузетно важан корак. Након тога, кликните на „Инсталирај сада“ и следите уобичајене кораке за инсталирање Питхон-а.

3. Да бисте проверили да ли је Питхон исправно инсталиран, отворите Терминал на свом рачунару. Користим Виндовс терминал на Виндовс-у, али можете користити и командну линију. Када сте овде, покрените доњу команду у наставку и она ће приказати верзију Питхон-а. На Линук-у и мацОС-у, можда ћете морати да користите питхон3 –версион уместо питхон –версион.

python --version

Упграде Пип

Када инсталирате Питхон, Пип се истовремено инсталира на вашем систему. Па хајде да га надоградимо на најновију верзију. За оне који не знају, Пип је менаџер пакета за Питхон. У суштини, омогућава вам да инсталирате хиљаде Питхон библиотека са терминала. Са Пип-ом можемо да инсталирамо ОпенАИ, гпт_индек, градио и ПиПДФ2 библиотеке. Ево корака које треба пратити.

1. Отворите терминал по свом избору на рачунару. Користим Виндовс терминал, али можете користити и командну линију. Сада покрените наредбу испод да бисте ажурирали Пип. Опет, можда ћете морати да користите питхон3 и пип3 на Линук-у и мацОС-у.

python -m pip install -U pip

2. Да бисте проверили да ли је Пип правилно инсталиран, покрените наредбу испод. Исписаће број верзије. Ако добијете било какве грешке, пратите наш наменски водич о томе како да инсталирате Пип на Виндовс да бисте решили проблеме везане за ПАТХ.

pip --version

Инсталирајте ОпенАИ, ГПТ индекс, ПиПДФ2 и Градио библиотеке

Када смо поставили Питхон и Пип, време је да инсталирамо основне библиотеке које ће нам помоћи да обучимо АИ цхатбот са прилагођеном базом знања. Ево корака које треба пратити.

1. Отворите Терминал и покрените наредбу испод да бисте инсталирали ОпенАИ библиотеку. Користићемо га као ЛЛМ (модел великог језика) за обуку и креирање АИ цхат бота. Такође ћемо увести ЛангЦхаин оквир из ОпенАИ. Имајте на уму да ће корисници Линук-а и мацОС-а можда морати да користе пип3 уместо пип.

pip install openai

2. Затим, хајде да инсталирамо ГПТ индекс, који се такође зове ЛламаИндек. Омогућава ЛЛМ-у да се повеже са екстерним подацима који су наша база знања.

pip install gpt_index

3. Након тога, инсталирајте ПиПДФ2 да рашчланите ПДФ датотеке. Ако желите да своје податке унесете у ПДФ формат, ова библиотека ће помоћи програму да чита податке без напора.

pip install PyPDF2

4. На крају, инсталирајте Градио библиотеку. Ово је намењено креирању једноставног корисничког интерфејса за интеракцију са обученим АИ цхатботом. Сада смо завршили са инсталирањем свих потребних библиотека за обуку АИ цхат бота.

pip install gradio

Преузмите уређивач кода

Коначно, потребан нам је уређивач кода да бисмо изменили део кода. На Виндовс-у бих препоручио Нотепад++ (Преузимање). Једноставно преузмите и инсталирајте програм преко приложене везе. Такође можете да користите ВС Цоде на било којој платформи ако вам одговара моћни ИДЕ. Осим ВС кода, можете инсталирати Сублиме Тект (Преузимање) на мацОС-у и Линук-у.

За ЦхромеОС можете да користите одличну апликацију Царет (Преузимање) да бисте уредили код. Скоро смо завршили са подешавањем софтверског окружења и време је да добијемо ОпенАИ АПИ кључ.

Преузмите ОпенАИ АПИ кључ бесплатно

Сада, да бисмо обучили и креирали АИ цхатбот на основу прилагођене базе знања, морамо да добијемо АПИ кључ од ОпенАИ. АПИ кључ ће вам омогућити да користите ОпенАИ модел као ЛЛМ за проучавање ваших прилагођених података и извлачење закључака. Тренутно ОпенАИ новим корисницима нуди бесплатне АПИ кључеве са бесплатним кредитом у вредности од 5 долара за прва три месеца. Ако сте раније креирали свој ОпенАИ налог, можда ћете имати бесплатан кредит од 18 УСД на свом налогу. Након што се бесплатни кредит исцрпи, мораћете да платите за приступ АПИ-ју. Али за сада је доступан свим корисницима бесплатно.

  11 најбољих апликација за праћење и заустављање хркања

1. Крените до платформ.опенаи.цом/сигнуп и направите бесплатан налог. Ако већ имате ОпенАИ налог, једноставно се пријавите.

2. Затим кликните на свој профил у горњем десном углу и изаберите „Прикажи АПИ кључеве“ из падајућег менија.

3. Овде кликните на „Креирај нови тајни кључ“ и копирајте АПИ кључ. Имајте на уму да касније не можете копирати или прегледати цео АПИ кључ. Зато се топло препоручује да одмах копирате и налепите АПИ кључ у датотеку Нотепад-а.

4. Такође, немојте делити нити приказивати АПИ кључ јавно. То је приватни кључ намењен само за приступ вашем налогу. Такође можете избрисати АПИ кључеве и креирати више приватних кључева (до пет).

Обучите и креирајте АИ цхатбот са прилагођеном базом знања

Сада када смо подесили софтверско окружење и добили АПИ кључ од ОпенАИ, хајде да обучимо АИ цхатбот. Овде ћемо користити модел „тект-давинци-003” уместо најновијег „гпт-3.5-турбо” модела јер Давинци ради много боље за довршавање текста. Ако желите, можете врло добро да промените модел у Турбо да смањите трошкове. Склонивши то с пута, пређимо на упутства.

Додајте своје документе да бисте обучили АИ четбот

1. Прво направите нову фасциклу под називом документи на приступачној локацији као што је радна површина. Можете одабрати и другу локацију према вашим жељама. Међутим, задржите назив фасцикле доцс.

2. Затим померите документе које желите да користите за обуку АИ унутар фасцикле „доцс“. Можете додати више текстуалних или ПДФ датотека (чак и скенираних). Ако имате велику табелу у програму Екцел, можете је увести као ЦСВ или ПДФ датотеку, а затим је додати у фасциклу „доцс“. Можете чак додати датотеке СКЛ базе података, као што је објашњено у овоме Лангцхаин АИ твит. Нисам пробао много формата датотека осим поменутих, али можете сами да додате и проверите. За овај чланак додајем један од мојих чланака о НФТ-у у ПДФ формату.

Напомена: Ако имате велики документ, биће потребно више времена за обраду података, у зависности од вашег ЦПУ-а и ГПУ-а. Поред тога, брзо ће користити ваше бесплатне ОпенАИ токене. Дакле, на почетку, почните са малим документом (30-50 страница или < 100МБ датотека) да бисте разумели процес.

Припремите код

1. Сада покрените Нотепад++ (или уређивач кода по вашем избору) и налепите доњи код у нову датотеку. Још једном, добио сам велику помоћ од армррс на Гоогле Цолаб-у и подесио код да би био компатибилан са ПДФ датотекама и направио Градио интерфејс на врху.

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. Након тога, подесите име датотеке апп.пи и промените „Саве ас типе“ у „Сви типови“ из падајућег менија. Затим сачувајте датотеку на локацији на којој сте креирали фасциклу „доцс“ (у мом случају, то је радна површина). Можете променити име по свом укусу, али уверите се да је .пи додат.

  Поправите Дроид Турбо 2 камеру која не ради

5. Уверите се да су фасцикла „доцс“ и „апп.пи“ на истој локацији, као што је приказано на слици испод. Датотека „апп.пи“ биће изван фасцикле „доцс“, а не унутра.

6. Вратите се поново на код у Нотепад++. Овде замените свој АПИ кључ оним генерисаним на веб локацији ОпенАИ изнад.

7. На крају, притисните “Цтрл + С” да бисте сачували код. Сада сте спремни за покретање кода.

Направите ЦхатГПТ АИ Бот са прилагођеном базом знања

1. Прво отворите Терминал и покрените наредбу испод да бисте прешли на радну површину. Ту сам сачувао фасциклу „доцс“ и датотеку „апп.пи“. Ако сте обе ставке сачували на другој локацији, пређите на ту локацију преко Терминала.

cd Desktop

2. Сада покрените наредбу испод. Корисници Линук-а и мацОС-а ће можда морати да користе питхон3.

python app.py

3. Сада ће почети да анализира документ користећи ОпенАИ ЛЛМ модел и почети да индексира информације. У зависности од величине датотеке и могућности вашег рачунара, биће потребно неко време за обраду документа. Када се то заврши, датотека „индек.јсон“ ће бити креирана на радној површини. Ако терминал не приказује никакав излаз, не брините, можда и даље обрађује податке. За вашу информацију, потребно је око 10 секунди за обраду документа од 30 МБ.

4. Када ЛЛМ обради податке, добићете неколико упозорења која се могу безбедно игнорисати. Коначно, на дну ћете пронаћи локални УРЛ. Копирај.

5. Сада, налепите копирани УРЛ у веб прегледач и тамо га имате. Ваш прилагођени обучени АИ цхатбот који покреће ЦхатГПТ је спреман. За почетак, можете питати АИ цхатбот о чему се ради у документу.

6. Можете постављати додатна питања, а ЦхатГПТ бот ће одговорити на основу података које сте дали АИ. Дакле, овако можете да направите прилагођеног АИ цхат бота са сопственим скупом података. Сада можете да тренирате и креирате АИ цхатбот на основу било које врсте информација које желите. Могућности су бесконачне.

7. Такође можете копирати јавни УРЛ и поделити га са пријатељима и породицом. Веза ће бити активна 72 сата, али такође морате да држите рачунар укључен пошто инстанца сервера ради на вашем рачунару.

8. Да бисте зауставили прилагођеног АИ цхатбот-а, притисните „Цтрл + Ц“ у прозору терминала. Ако не ради, поново притисните „Цтрл + Ц“.

9. Да бисте поново покренули АИ цхатбот сервер, једноставно се поново померите на локацију радне површине и покрените наредбу испод. Имајте на уму да ће локални УРЛ бити исти, али ће се јавни УРЛ променити након сваког поновног покретања сервера.

python app.py

10. Ако желите да обучите АИ цхатбот са новим подацима, избришите датотеке у фасцикли „доцс“ и додајте нове. Такође можете да додате више датотека, али да унесете информације о истој теми у супротном можете добити некохерентан одговор.

11. Сада поново покрените код у терминалу и он ће креирати нову датотеку „индек.јсон“. Овде ће стара датотека „индек.јсон“ бити аутоматски замењена.

python app.py

12. Да бисте пратили своје токене, идите на ОпенАИ на мрежи Командна табла и проверите колико је слободног кредита остало.

13. На крају, не морате да додирујете код осим ако не желите да промените АПИ кључ или ОпенАИ модел ради даљег прилагођавања.

Направите прилагођеног АИ цхат бота користећи сопствене податке

Дакле, овако можете да обучите АИ цхатбот са прилагођеном базом знања. Користио сам овај код да обучим АИ на медицинским књигама, чланцима, табелама података и извештајима из старих архива, и функционисао је беспрекорно. Дакле, само напред и креирајте свој АИ цхатбот користећи ОпенАИ-јев велики језички модел и ЦхатГПИ. У сваком случају, то је све од нас. Ако тражите најбоље ЦхатГПТ алтернативе, идите на наш повезани чланак. А да бисте користили ЦхатГПТ на свом Аппле Ватцх-у, пратите наш детаљни водич. Коначно, ако се суочите са било каквим проблемима, обавестите нас у одељку за коментаре испод. Дефинитивно ћемо покушати да вам помогнемо.