Како додати меморију агенту ОпенАИ функција у ЛангЦхаин-у?

Kako Dodati Memoriju Agentu Openai Funkcija U Langchain U



ЛангЦхаин је оквир који садржи зависности за изградњу великих језичких модела или ЛЛМ-ова. Такође пружа алате за изградњу агената за обављање свих међукорака од добијања упита од корисника до преузимања његовог одговора. ОпенАИ је окружење које пружа читљив и структуриран излаз са интернета користећи „гоогле-сеарцх-ресултс” модул.

Куицк Оутлине

Овај пост ће показати следеће:

Како додати меморију агенту ОпенАИ функција у ЛангЦхаин-у?

ОпенАИ је организација за вештачку интелигенцију (АИ) која је формирана 2015. године и на почетку је била непрофитна организација. Мицрософт улаже много богатства од 2020. године, јер је обрада природног језика (НЛП) са вештачком интелигенцијом цветала са чет-ботовима и језичким моделима.







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



Корак 1: Инсталирање оквира

Пре свега, инсталирајте ЛангЦхаин зависности од “лангцхаин-експериментално” оквир користећи следећи код:



пип инсталл лангцхаин - експериментални





Инсталирајте „гоогле-сеарцх-ресултс” модул за добијање резултата претраге са Гоогле сервера:

пип инсталл гоогле - Претрага - резултате



Такође, инсталирајте ОпенАИ модул који се може користити за прављење језичких модела у ЛангЦхаин-у:

пип инсталл опенаи

Корак 2: Подешавање окружења

Након што добијете модуле, подесите окружења користећи АПИ кључеве из ОпенАИ и СерпАПи налози:

увоз ти
увоз гетпасс

ти. Приближно [ „ОПЕНАИ_АПИ_КЕИ“ ] = гетпасс. гетпасс ( „ОпенАИ АПИ кључ:“ )
ти. Приближно [ „СЕРПАПИ_АПИ_КЕИ“ ] = гетпасс. гетпасс ( „Серпапи АПИ кључ:“ )

Извршите горњи код да бисте унели АПИ кључеве за приступ и окружењу и притисните ентер да потврдите:

Корак 3: Увоз библиотека

Сада када је подешавање завршено, користите зависности инсталиране са ЛангЦхаин-а да увезете потребне библиотеке за изградњу меморије и агената:

фром лангцхаин. ланцима увоз ЛЛММатхЦхаин
фром лангцхаин. ллмс увоз ОпенАИ
#гет библиотеку за претрагу са Гоогле-а преко интернета
фром лангцхаин. комуналне услуге увоз СерпАПИВраппер
фром лангцхаин. комуналне услуге увоз СКЛДатабасе
од лангцхаин_екпериментал. скл увоз СКЛДатабасеЦхаин
#узмите библиотеку за прављење алата за иницијализација агента
фром лангцхаин. агенти увоз АгентТипе , Оруђе , иницијализовати_агент
фром лангцхаин. цхат_моделс увоз ЦхатОпенАИ

Корак 4: Изградња базе података

Да бисмо наставили са овим водичем, морамо да направимо базу података и да се повежемо са агентом да бисмо из ње извукли одговоре. Да бисте направили базу података, потребно је да преузмете СКЛите користећи ово Водич и потврдите инсталацију помоћу следеће команде:

склите3

Покретање горње команде у Виндовс терминал приказује инсталирану верзију СКЛите-а (3.43.2):

Након тога, једноставно идите до директоријума на вашем рачунару где ће база података бити направљена и ускладиштена:

цд Десктоп
цд мидб
склите3 Цхиноок. дб

Корисник може једноставно преузети садржај базе података из овог линк у директоријуму и извршите следећу команду да бисте направили базу података:

. читати Цхиноок_Склите. скл
СЕЛЕЦТ * ФРОМ Артист ЛИМИТ 10 ;

База података је успешно направљена и корисник може да тражи податке из ње користећи различите упите:

Корак 5: Учитавање базе података

Када се база података успешно изгради, отпремите “.дб” датотеку у Гоогле Цоллаборатори користећи следећи код:

из гоогле. ЕТ АЛ увоз фајлови
уплоадед = фајлови. отпремити ( )

Изаберите датотеку из локалног система кликом на „Изаберите датотеке“ дугме након извршавања горњег кода:

Када се датотека отпреми, једноставно копирајте путању датотеке која ће се користити у следећем кораку:

Корак 6: Конфигурисање језичког модела

Направите језички модел, ланце, алате и ланце користећи следећи код:

ллм = ЦхатОпенАИ ( температура = 0 , модел = 'гпт-3.5-турбо-0613' )
Претрага = СерпАПИВраппер ( )
ллм_матх_цхаин = ЛЛММатхЦхаин. фром_ллм ( ллм = ллм , вербосе = Истина )
дб = СКЛДатабасе. фром_ури ( 'склите:///../../../../../цонтент/Цхиноок.дб' )
дб_цхаин = СКЛДатабасеЦхаин. фром_ллм ( ллм , дб , вербосе = Истина )
алата = [
Оруђе (
име = 'Претрага' ,
фунц = Претрага. трцати ,
Опис = „Постављајте циљана питања да бисте добили одговоре на питања о недавним пословима“ ,
) ,
Оруђе (
име = 'калкулатор' ,
фунц = ллм_матх_цхаин. трцати ,
Опис = 'корисно за одговарање/решавање математичких проблема' ,
) ,
Оруђе (
име = 'ФооБар-ДБ' ,
фунц = дб_цхаин. трцати ,
Опис = „корисно за одговарање на питања о ФооБар-у и унос треба да буде у облику питања које садржи пун контекст“ ,
) ,
]
  • Тхе ллм променљива садржи конфигурације модела језика помоћу ЦхатОпенАИ() методе са именом модела.
  • Претрага променљива садржи метод СерпАПИВраппер() за прављење алата за агента.
  • Изградите ллм_матх_цхаин да добијете одговоре у вези са доменом математике користећи методу ЛЛММатхЦхаин().
  • Променљива дб садржи путању датотеке која има садржај базе података. Корисник треба да промени само последњи део који је “цонтент/Цхиноок.дб” оф тхе патх кеепинг тхе “склите:///../../../../../” исти.
  • Направите још један ланац за одговарање на упите из базе података користећи дб_цхаин променљива.
  • Конфигуришите алате као што су Претрага , калкулатор , и ФооБар-ДБ за тражење одговора, одговарање на математичка питања и упите из базе података:

Корак 7: Додавање меморије

Након конфигурисања ОпенАИ функција, једноставно направите и додајте меморију агенту:

фром лангцхаин. упити увоз МессагесПлацехолдер
фром лангцхаин. меморија увоз ЦонверсатионБуфферМемори

агент_кваргс = {
'ектра_промпт_мессагес' : [ МессагесПлацехолдер ( име_променљиве = 'меморија' ) ] ,
}
меморија = ЦонверсатионБуфферМемори ( мемори_кеи = 'меморија' , ретурн_мессагес = Истина )

Корак 8: Иницијализација агента

Последња компонента за изградњу и иницијализацију је агент, који садржи све компоненте као што су ллм , оруђе , ОПЕНАИ_ФУНЦТИОНС , и други који ће се користити у овом процесу:

агент = иницијализовати_агент (
алата ,
ллм ,
агент = АгентТипе. ОПЕНАИ_ФУНЦТИОНС ,
вербосе = Истина ,
агент_кваргс = агент_кваргс ,
меморија = меморија ,
)

Корак 9: Тестирање агента

На крају, тестирајте агента покретањем ћаскања помоћу „ Здраво ” порука:

агент. трцати ( 'Здраво' )

Додајте неке информације у меморију покретањем агента са њим:

агент. трцати ( 'Моје име је Џон Сноу' )

Сада тестирајте меморију постављањем питања о претходном ћаскању:

агент. трцати ( 'како се зовем' )

Агент је одговорио са именом преузетим из меморије тако да меморија успешно ради са агентом:

То је све за сада.

Закључак

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